diff options
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 83 |
3 files changed, 75 insertions, 41 deletions
@@ -1,26 +1,22 @@ pkgbase = lib32-mesa-git pkgdesc = an open-source implementation of the OpenGL specification, git version - pkgver = 21.0.0_devel.132228.574429f9528 + pkgver = 24.0.0_devel.179925.0e481bf4632.d41d8cd pkgrel = 1 url = https://www.mesa3d.org arch = x86_64 license = custom makedepends = python-mako makedepends = lib32-libxml2 - makedepends = lib32-libx11 makedepends = xorgproto - makedepends = lib32-gcc-libs makedepends = lib32-libvdpau - makedepends = lib32-libelf makedepends = git - makedepends = mesa-git makedepends = lib32-libglvnd makedepends = wayland-protocols - makedepends = lib32-wayland makedepends = meson makedepends = lib32-libva makedepends = lib32-libxrandr - makedepends = lib32-llvm=11.0.0 + makedepends = python-packaging + makedepends = lib32-llvm=17.0.6 depends = mesa-git depends = lib32-gcc-libs depends = lib32-libdrm @@ -28,27 +24,38 @@ pkgbase = lib32-mesa-git depends = lib32-libxxf86vm depends = lib32-libxdamage depends = lib32-libxshmfence - depends = lib32-elfutils + depends = lib32-libelf depends = lib32-libunwind depends = lib32-lm_sensors depends = glslang depends = lib32-vulkan-icd-loader depends = lib32-zstd - depends = lib32-llvm-libs=11.0.0 + depends = lib32-libxcb + depends = lib32-libxfixes + depends = lib32-expat + depends = lib32-libxext + depends = lib32-libx11 + depends = lib32-zlib + depends = lib32-glibc + depends = lib32-llvm-libs=17.0.6 optdepends = opengl-man-pages: for the OpenGL API man pages provides = lib32-mesa provides = lib32-vulkan-intel provides = lib32-vulkan-radeon + provides = lib32-vulkan-mesa-layers provides = lib32-libva-mesa-driver provides = lib32-mesa-vdpau + provides = lib32-mesa-libgl provides = lib32-opengl-driver provides = lib32-vulkan-driver conflicts = lib32-mesa conflicts = lib32-vulkan-intel conflicts = lib32-vulkan-radeon + conflicts = lib32-vulkan-mesa-layers conflicts = lib32-libva-mesa-driver conflicts = lib32-mesa-vdpau - source = mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git + conflicts = lib32-mesa-libgl + source = mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git#branch=main source = LICENSE source = llvm32.native md5sums = SKIP @@ -59,4 +66,3 @@ pkgbase = lib32-mesa-git sha512sums = c7dbb390ebde291c517a854fcbe5166c24e95206f768cc9458ca896b2253aabd6df12a7becf831998721b2d622d0c02afdd8d519e77dea8e1d6807b35f0166fe pkgname = lib32-mesa-git - diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..4c0d754f3710 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +lib32-mesa-git-* +mesa +pkg +src + @@ -1,4 +1,5 @@ -# Maintainer: Lone_Wolf <lone_wolf@klaas-de-kat.nl> +# Maintainer: Reza Jahanbakhshi <reza.jahanbakhshi at gmail dot com +# Contributor: Lone_Wolf <lone_wolf@klaas-de-kat.nl> # Contributor: Armin K. <krejzi at email dot com> # Contributor: Kristian Klausen <klausenbusk@hotmail.com> # Contributor: Egon Ashrafinia <e.ashrafinia@gmail.com> @@ -11,24 +12,26 @@ pkgname=lib32-mesa-git pkgdesc="an open-source implementation of the OpenGL specification, git version" -pkgver=21.0.0_devel.132228.574429f9528 +pkgver=24.0.0_devel.179925.0e481bf4632.d41d8cd pkgrel=1 arch=('x86_64') -makedepends=('python-mako' 'lib32-libxml2' 'lib32-libx11' 'xorgproto' - 'lib32-gcc-libs' 'lib32-libvdpau' 'lib32-libelf' 'git' 'mesa-git' 'lib32-libglvnd' - 'wayland-protocols' 'lib32-wayland' 'meson' 'lib32-libva' 'lib32-libxrandr') -depends=('mesa-git' 'lib32-gcc-libs' 'lib32-libdrm' 'lib32-wayland' 'lib32-libxxf86vm' 'lib32-libxdamage' 'lib32-libxshmfence' - 'lib32-elfutils' 'lib32-libunwind' 'lib32-lm_sensors' 'glslang' 'lib32-vulkan-icd-loader' 'lib32-zstd') +makedepends=('python-mako' 'lib32-libxml2' 'xorgproto' + 'lib32-libvdpau' 'git' 'lib32-libglvnd' 'wayland-protocols' + 'meson' 'lib32-libva' 'lib32-libxrandr' 'python-packaging') +depends=('mesa-git' 'lib32-gcc-libs' 'lib32-libdrm' 'lib32-wayland' 'lib32-libxxf86vm' + 'lib32-libxdamage' 'lib32-libxshmfence' 'lib32-libelf' 'lib32-libunwind' + 'lib32-lm_sensors' 'glslang' 'lib32-vulkan-icd-loader' 'lib32-zstd' + 'lib32-libxcb' 'lib32-libxfixes' 'lib32-expat' 'lib32-libxext' 'lib32-libx11' + 'lib32-zlib' 'lib32-glibc' +) optdepends=('opengl-man-pages: for the OpenGL API man pages') -provides=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-opengl-driver' 'lib32-vulkan-driver') -conflicts=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau') +provides=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-vulkan-mesa-layers' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-mesa-libgl' 'lib32-opengl-driver' 'lib32-vulkan-driver') +conflicts=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-vulkan-mesa-layers' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-mesa-libgl') url="https://www.mesa3d.org" license=('custom') -source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git' - 'LICENSE' - 'llvm32.native' -) - +source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git#branch=main' + 'LICENSE' + 'llvm32.native') md5sums=('SKIP' '5c65a0fe315dd347e09b1f2826a1df5a' '6b4a19068a323d7f90a3d3cd315ed1f9') @@ -73,8 +76,8 @@ case $MESA_WHICH_LLVM in ;; 4) # extra/llvm - makedepends+=(lib32-llvm=11.0.0) - depends+=(lib32-llvm-libs=11.0.0) + makedepends+=(lib32-llvm=17.0.6) + depends+=(lib32-llvm-libs=17.0.6) ;; *) esac @@ -82,8 +85,20 @@ esac pkgver() { cd mesa - read -r _ver <VERSION - echo ${_ver/-/_}.$(git rev-list --count HEAD).$(git rev-parse --short HEAD) + local _ver + _ver=$(<VERSION) + + local _patchver + local _patchfile + for _patchfile in "${source[@]}"; do + _patchfile="${_patchfile%%::*}" + _patchfile="${_patchfile##*/}" + [[ $_patchfile = *.patch ]] || continue + _patchver="${_patchver}$(md5sum ${srcdir}/${_patchfile} | cut -c1-32)" + done + _patchver="$(echo -n $_patchver | md5sum | cut -c1-7)" + + echo ${_ver/-/_}.$(git rev-list --count HEAD).$(git rev-parse --short HEAD).${_patchver} } prepare() { @@ -92,37 +107,46 @@ prepare() { if [ -d _build ]; then rm -rf _build fi + + local _patchfile + for _patchfile in "${source[@]}"; do + _patchfile="${_patchfile%%::*}" + _patchfile="${_patchfile##*/}" + [[ $_patchfile = *.patch ]] || continue + echo "Applying patch $_patchfile..." + patch --directory=mesa --forward --strip=1 --input="${srcdir}/${_patchfile}" + done } + build () { - export CC="gcc -m32" - export CXX="g++ -m32" + export CC="${CC:-gcc}" + export CXX="${CXX:-g++}" + CC="$CC -m32" + CXX="$CXX -m32" + export PKG_CONFIG=/usr/bin/i686-pc-linux-gnu-pkg-config meson setup mesa _build \ --native-file llvm32.native \ -D b_ndebug=true \ - -D b_lto=true \ -D buildtype=plain \ --wrap-mode=nofallback \ -D prefix=/usr \ -D sysconfdir=/etc \ --libdir=/usr/lib32 \ -D platforms=x11,wayland \ - -D dri-drivers=i915,i965,r200,r100,nouveau \ - -D gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,iris,zink \ - -D vulkan-drivers=amd,intel \ + -D gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,iris,zink,crocus \ + -D vulkan-drivers=amd,intel,swrast,virtio,intel_hasvk \ -D dri3=enabled \ -D egl=enabled \ -D gallium-extra-hud=true \ - -D vulkan-overlay-layer=true \ - -D vulkan-device-select-layer=true \ + -D vulkan-layers=device-select,overlay \ -D gallium-nine=true \ -D gallium-omx=disabled \ -D gallium-opencl=disabled \ -D gallium-va=enabled \ -D gallium-vdpau=enabled \ -D gallium-xa=enabled \ - -D gallium-xvmc=disabled \ -D gbm=enabled \ -D gles1=disabled \ -D gles2=enabled \ @@ -138,7 +162,7 @@ build () { -D zstd=enabled \ -D microsoft-clc=disabled - meson configure _build + meson configure --no-pager _build ninja $NINJAFLAGS -C _build } @@ -153,13 +177,12 @@ package() { rm -rf "$pkgdir"/usr/share/drirc.d/ rm -rf "$pkgdir"/usr/share/vulkan/explicit_layer.d/ rm -rf "$pkgdir"/usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json - + # remove script file from /usr/bin # https://gitlab.freedesktop.org/mesa/mesa/issues/2230 rm "${pkgdir}/usr/bin/mesa-overlay-control.py" rmdir "${pkgdir}/usr/bin" - # indirect rendering ln -s /usr/lib32/libGLX_mesa.so.0 "${pkgdir}/usr/lib32/libGLX_indirect.so.0" install -m644 -Dt "$pkgdir"/usr/share/licenses/$pkgbase/ "$srcdir"/LICENSE |