This commit is contained in:
Xilin Wu 2024-07-24 10:05:39 +08:00
parent f5a036f465
commit 7b61e0c3ed
2 changed files with 109 additions and 53 deletions

View File

@ -1,25 +1,35 @@
pkgbase = mesa-qcom-git
pkgdesc = an open-source implementation of the OpenGL specification, git version
pkgver = 24.0.0_devel.181992.9d162de9a05.d41d8cd
pkgrel = 3
pkgver = 24.3.0_devel.192421.3b6867f53a6.d41d8cd
pkgrel = 1
url = https://www.mesa3d.org
arch = aarch64
license = custom
makedepends = git
makedepends = python-mako
makedepends = xorgproto
makedepends = libxml2
makedepends = libvdpau
makedepends = libva
makedepends = elfutils
makedepends = libxrandr
makedepends = wayland-protocols
makedepends = meson
makedepends = ninja
makedepends = glslang
makedepends = directx-headers-git
makedepends = llvm=17.0.6
makedepends = clang=17.0.6
makedepends = python-mako
makedepends = python-ply
makedepends = cbindgen
makedepends = wayland-protocols
makedepends = cmake
makedepends = python-packaging
makedepends = python-yaml
makedepends = llvm=18.1.8
makedepends = clang=18.1.8
makedepends = libclc
makedepends = spirv-llvm-translator
makedepends = spirv-tools
makedepends = rust
makedepends = rust-bindgen
depends = libdrm
depends = libxxf86vm
depends = libxdamage
@ -41,10 +51,14 @@ pkgbase = mesa-qcom-git
depends = libxcb
depends = glibc
depends = zlib
depends = llvm-libs=17.0.6
depends = python
depends = xcb-util-keysyms
depends = llvm-libs=18.1.8
depends = clang
depends = libclc
depends = spirv-llvm-translator
depends = spirv-tools
optdepends = opengl-man-pages: for the OpenGL API man pages
optdepends = clang: opencl
optdepends = compiler-rt: opencl
provides = mesa
provides = vulkan-intel
provides = vulkan-radeon
@ -55,6 +69,7 @@ pkgbase = mesa-qcom-git
provides = vulkan-driver
provides = mesa-libgl
provides = opengl-driver
provides = opencl-rusticl-mesa
conflicts = mesa
conflicts = opencl-clover-mesa
conflicts = opencl-rusticl-mesa
@ -65,6 +80,7 @@ pkgbase = mesa-qcom-git
conflicts = mesa-vdpau
conflicts = vulkan-swrast
conflicts = mesa-libgl
conflicts = opencl-rusticl-mesa
source = mesa::git+https://gitea.classfun.cn:4443/mirrors/mesa.git#branch=main
source = LICENSE
md5sums = SKIP

128
PKGBUILD
View File

@ -12,17 +12,33 @@
pkgname=mesa-qcom-git
pkgdesc="an open-source implementation of the OpenGL specification, git version"
pkgver=24.0.0_devel.181992.9d162de9a05.d41d8cd
pkgrel=3
pkgver=24.3.0_devel.192421.3b6867f53a6.d41d8cd
pkgrel=1
arch=('aarch64')
makedepends=('git' 'python-mako' 'xorgproto'
'libxml2' 'libvdpau' 'libva' 'elfutils' 'libxrandr'
'wayland-protocols' 'meson' 'ninja' 'glslang' 'directx-headers-git'
makedepends=(
'git'
'xorgproto'
'libxml2'
'libvdpau'
'libva'
'elfutils'
'libxrandr'
'meson'
'ninja'
'glslang'
'directx-headers-git'
'python-mako'
'python-ply'
'cbindgen'
'wayland-protocols'
'cmake'
'python-packaging'
'python-yaml'
)
depends=('libdrm' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
'libomxil-bellagio' 'libunwind' 'libglvnd' 'wayland' 'lm_sensors'
'vulkan-icd-loader' 'zstd' 'expat' 'gcc-libs' 'libxfixes' 'libx11' 'systemd-libs' 'libxext' 'libxcb'
'glibc' 'zlib'
'glibc' 'zlib' 'python' 'xcb-util-keysyms'
)
optdepends=('opengl-man-pages: for the OpenGL API man pages')
provides=('mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-mesa-layers' 'libva-mesa-driver' 'mesa-vdpau' 'vulkan-swrast' 'vulkan-driver' 'mesa-libgl' 'opengl-driver')
@ -76,9 +92,25 @@ case $MESA_WHICH_LLVM in
;;
4)
# extra/llvm
makedepends+=(llvm=17.0.6 clang=17.0.6)
depends+=(llvm-libs=17.0.6)
optdepends+=('clang: opencl' 'compiler-rt: opencl')
makedepends+=(
'llvm=18.1.8'
'clang=18.1.8'
'libclc'
'spirv-llvm-translator'
'spirv-tools'
'rust'
'rust-bindgen'
)
depends+=(
'llvm-libs=18.1.8'
'clang'
'libclc'
'spirv-llvm-translator'
'spirv-tools'
)
conflicts+=('opencl-rusticl-mesa')
provides+=('opencl-rusticl-mesa')
_rusticl=true
;;
*)
esac
@ -119,43 +151,51 @@ prepare() {
}
build () {
meson setup mesa _build \
-D b_ndebug=true \
-D b_lto=false \
-D platforms=x11,wayland \
-D gallium-drivers=virgl,svga,swrast,zink,d3d12,freedreno \
-D vulkan-drivers=swrast,virtio,freedreno \
-D vulkan-layers=device-select,overlay \
-D dri3=enabled \
-D egl=enabled \
-D gallium-extra-hud=true \
-D gallium-nine=true \
-D gallium-opencl=disabled \
-D gallium-va=enabled \
-D gallium-vdpau=enabled \
-D gallium-xa=enabled \
-D gbm=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D glvnd=true \
-D glx=dri \
-D libunwind=enabled \
-D llvm=enabled \
-D lmsensors=enabled \
-D osmesa=true \
-D shared-glapi=enabled \
-D microsoft-clc=disabled \
-D valgrind=disabled \
-D tools=[] \
-D zstd=enabled \
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc,av1dec,av1enc,vp9dec \
-D buildtype=plain \
--wrap-mode=nofallback \
-D prefix=/usr \
-D sysconfdir=/etc
local meson_options=(
-D android-libbacktrace=disabled \
-D b_ndebug=true \
-D b_lto=false \
-D dri3=enabled \
-D egl=enabled \
-D gallium-drivers=virgl,svga,swrast,zink,d3d12,freedreno \
-D gallium-extra-hud=true \
-D gallium-nine=true \
-D gallium-opencl=icd \
-D gallium-rusticl=${_rusticl} \
-D gallium-va=enabled \
-D gallium-vdpau=enabled \
-D gallium-xa=enabled \
-D gbm=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D glvnd=enabled \
-D glx=dri \
-D libunwind=enabled \
-D llvm=enabled \
-D lmsensors=enabled \
-D microsoft-clc=disabled \
-D osmesa=true \
-D platforms=x11,wayland \
-D shared-glapi=enabled \
-D tools=[] \
-D valgrind=disabled \
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc,av1dec,av1enc,vp9dec \
-D vulkan-drivers=swrast,virtio,freedreno \
-D vulkan-layers=device-select,overlay \
-D zstd=enabled \
-D buildtype=plain \
--wrap-mode=nofallback \
--force-fallback-for=syn,paste \
-D prefix=/usr \
-D sysconfdir=/etc
)
# Build only minimal debug info to reduce size
CFLAGS+=' -g1'
CXXFLAGS+=' -g1'
meson setup mesa _build "${meson_options[@]}"
meson configure --no-pager _build
ninja $NINJAFLAGS -C _build
}