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

View File

@ -12,17 +12,33 @@
pkgname=mesa-qcom-git pkgname=mesa-qcom-git
pkgdesc="an open-source implementation of the OpenGL specification, git version" pkgdesc="an open-source implementation of the OpenGL specification, git version"
pkgver=24.0.0_devel.181992.9d162de9a05.d41d8cd pkgver=24.3.0_devel.192421.3b6867f53a6.d41d8cd
pkgrel=3 pkgrel=1
arch=('aarch64') arch=('aarch64')
makedepends=('git' 'python-mako' 'xorgproto' makedepends=(
'libxml2' 'libvdpau' 'libva' 'elfutils' 'libxrandr' 'git'
'wayland-protocols' 'meson' 'ninja' 'glslang' 'directx-headers-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' depends=('libdrm' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
'libomxil-bellagio' 'libunwind' 'libglvnd' 'wayland' 'lm_sensors' 'libomxil-bellagio' 'libunwind' 'libglvnd' 'wayland' 'lm_sensors'
'vulkan-icd-loader' 'zstd' 'expat' 'gcc-libs' 'libxfixes' 'libx11' 'systemd-libs' 'libxext' 'libxcb' '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') 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') 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) 4)
# extra/llvm # extra/llvm
makedepends+=(llvm=17.0.6 clang=17.0.6) makedepends+=(
depends+=(llvm-libs=17.0.6) 'llvm=18.1.8'
optdepends+=('clang: opencl' 'compiler-rt: opencl') '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 esac
@ -119,43 +151,51 @@ prepare() {
} }
build () { build () {
meson setup mesa _build \ local meson_options=(
-D android-libbacktrace=disabled \
-D b_ndebug=true \ -D b_ndebug=true \
-D b_lto=false \ -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 dri3=enabled \
-D egl=enabled \ -D egl=enabled \
-D gallium-drivers=virgl,svga,swrast,zink,d3d12,freedreno \
-D gallium-extra-hud=true \ -D gallium-extra-hud=true \
-D gallium-nine=true \ -D gallium-nine=true \
-D gallium-opencl=disabled \ -D gallium-opencl=icd \
-D gallium-rusticl=${_rusticl} \
-D gallium-va=enabled \ -D gallium-va=enabled \
-D gallium-vdpau=enabled \ -D gallium-vdpau=enabled \
-D gallium-xa=enabled \ -D gallium-xa=enabled \
-D gbm=enabled \ -D gbm=enabled \
-D gles1=disabled \ -D gles1=disabled \
-D gles2=enabled \ -D gles2=enabled \
-D glvnd=true \ -D glvnd=enabled \
-D glx=dri \ -D glx=dri \
-D libunwind=enabled \ -D libunwind=enabled \
-D llvm=enabled \ -D llvm=enabled \
-D lmsensors=enabled \ -D lmsensors=enabled \
-D osmesa=true \
-D shared-glapi=enabled \
-D microsoft-clc=disabled \ -D microsoft-clc=disabled \
-D valgrind=disabled \ -D osmesa=true \
-D platforms=x11,wayland \
-D shared-glapi=enabled \
-D tools=[] \ -D tools=[] \
-D zstd=enabled \ -D valgrind=disabled \
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc,av1dec,av1enc,vp9dec \ -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 \ -D buildtype=plain \
--wrap-mode=nofallback \ --wrap-mode=nofallback \
--force-fallback-for=syn,paste \
-D prefix=/usr \ -D prefix=/usr \
-D sysconfdir=/etc -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 meson configure --no-pager _build
ninja $NINJAFLAGS -C _build ninja $NINJAFLAGS -C _build
} }