From 790ff9ff7162cb6411da6ffbf70d33e12cd99c37 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sun, 23 Jun 2024 14:53:06 +0000 Subject: [PATCH] extra/mesa to 24.1.2-1 --- extra/mesa/.SRCINFO | 136 ++++---- extra/mesa/PKGBUILD | 785 ++++++++++++++++++++++---------------------- 2 files changed, 467 insertions(+), 454 deletions(-) diff --git a/extra/mesa/.SRCINFO b/extra/mesa/.SRCINFO index 5df45f99c..8c841d051 100644 --- a/extra/mesa/.SRCINFO +++ b/extra/mesa/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = mesa pkgdesc = Open-source OpenGL drivers - pkgver = 24.1.1 + pkgver = 24.1.2 pkgrel = 1 epoch = 1 url = https://www.mesa3d.org/ @@ -52,27 +52,27 @@ pkgbase = mesa makedepends = directx-headers makedepends = libomxil-bellagio options = !lto - source = https://mesa.freedesktop.org/archive/mesa-24.1.1.tar.xz - source = https://mesa.freedesktop.org/archive/mesa-24.1.1.tar.xz.sig + source = https://mesa.freedesktop.org/archive/mesa-24.1.2.tar.xz + source = https://mesa.freedesktop.org/archive/mesa-24.1.2.tar.xz.sig source = proc-macro2-1.0.70.tar.gz::https://crates.io/api/v1/crates/proc-macro2/1.0.70/download source = unicode-ident-1.0.12.tar.gz::https://crates.io/api/v1/crates/unicode-ident/1.0.12/download source = quote-1.0.33.tar.gz::https://crates.io/api/v1/crates/quote/1.0.33/download source = paste-1.0.14.tar.gz::https://crates.io/api/v1/crates/paste/1.0.14/download source = syn-2.0.39.tar.gz::https://crates.io/api/v1/crates/syn/2.0.39/download - validpgpkeys = 8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D validpgpkeys = 946D09B5E4C9845E63075FF1D961C596A7203456 - validpgpkeys = E3E8F480C52ADD73B278EE78E1ECBE07D7D70895 - validpgpkeys = A5CC9FEC93F2F837CB044912336909B6B25FADFA validpgpkeys = 71C4B75620BC75708B4BDB254C95FAAB3EB073EC + validpgpkeys = 8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D validpgpkeys = 57551DE15B968F6341C248F68D8E31AFC32428A6 - sha256sums = 0038826c6f7e88d90b4ce6f719192fa58ca7dedf4edcaa1174cf7bd920ef89ea + validpgpkeys = A5CC9FEC93F2F837CB044912336909B6B25FADFA + validpgpkeys = E3E8F480C52ADD73B278EE78E1ECBE07D7D70895 + sha256sums = a2c584c8d57d3bd8ba11790a6e9ae3713f8821df96c059b78afb29dd975c9f45 sha256sums = SKIP sha256sums = 39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b sha256sums = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b sha256sums = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae sha256sums = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c sha256sums = 23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a - b2sums = 152ce5f4847a321689bf4aa88529963278f7dd24097c4c3de2b3a9164d06cd23d7cccd96bd31fea88311ded576c834a73e2d669e6d290404283f33f92b9bf262 + b2sums = 8c66d22101c516b8f9323fcfd92bc242a9d6133a65611cd8b5616eeed9f9825423ecd696a1bbe80832d9d6c1b3b14b34fb54bbe13527ac41af6d0d00a10126f2 b2sums = SKIP b2sums = fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c b2sums = 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac @@ -80,16 +80,60 @@ pkgbase = mesa b2sums = 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c b2sums = 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 -pkgname = vulkan-mesa-layers - pkgdesc = Mesa's Vulkan layers +pkgname = mesa + depends = expat depends = gcc-libs depends = glibc depends = libdrm + depends = libelf + depends = libglvnd + depends = libx11 depends = libxcb + depends = libxext + depends = libxfixes + depends = libxshmfence + depends = libxxf86vm + depends = llvm-libs + depends = lm_sensors depends = wayland - depends = python - conflicts = vulkan-mesa-layer - replaces = vulkan-mesa-layer + depends = zlib + depends = zstd + depends = libomxil-bellagio + optdepends = opengl-man-pages: for the OpenGL API man pages + provides = mesa-libgl + provides = opengl-driver + conflicts = mesa-libgl + replaces = mesa-libgl + +pkgname = libva-mesa-driver + pkgdesc = Open-source VA-API drivers + depends = expat + depends = gcc-libs + depends = glibc + depends = libdrm + depends = libelf + depends = libx11 + depends = libxcb + depends = libxshmfence + depends = llvm-libs + depends = zlib + depends = zstd + provides = libva-driver + +pkgname = mesa-vdpau + pkgdesc = Open-source VDPAU drivers + depends = expat + depends = gcc-libs + depends = glibc + depends = libdrm + depends = libelf + depends = libx11 + depends = libxcb + depends = libxshmfence + depends = llvm-libs + depends = zlib + depends = zstd + provides = vdpau-driver pkgname = opencl-clover-mesa pkgdesc = Open-source OpenCL drivers - Clover variant @@ -147,6 +191,17 @@ pkgname = vulkan-intel optdepends = vulkan-mesa-layers: additional vulkan layers provides = vulkan-driver +pkgname = vulkan-mesa-layers + pkgdesc = Mesa's Vulkan layers + depends = gcc-libs + depends = glibc + depends = libdrm + depends = libxcb + depends = wayland + depends = python + conflicts = vulkan-mesa-layer + replaces = vulkan-mesa-layer + pkgname = vulkan-nouveau pkgdesc = Open-source Vulkan driver for Nvidia GPUs depends = expat @@ -223,58 +278,3 @@ pkgname = vulkan-virtio depends = zstd optdepends = vulkan-mesa-layers: additional vulkan layers provides = vulkan-driver - -pkgname = libva-mesa-driver - pkgdesc = Open-source VA-API drivers - depends = expat - depends = gcc-libs - depends = glibc - depends = libdrm - depends = libelf - depends = libx11 - depends = libxcb - depends = libxshmfence - depends = llvm-libs - depends = zlib - depends = zstd - provides = libva-driver - -pkgname = mesa-vdpau - pkgdesc = Open-source VDPAU drivers - depends = expat - depends = gcc-libs - depends = glibc - depends = libdrm - depends = libelf - depends = libx11 - depends = libxcb - depends = libxshmfence - depends = llvm-libs - depends = zlib - depends = zstd - provides = vdpau-driver - -pkgname = mesa - depends = expat - depends = gcc-libs - depends = glibc - depends = libdrm - depends = libelf - depends = libglvnd - depends = libx11 - depends = libxcb - depends = libxext - depends = libxfixes - depends = libxshmfence - depends = libxxf86vm - depends = llvm-libs - depends = lm_sensors - depends = wayland - depends = zlib - depends = zstd - depends = libomxil-bellagio - optdepends = opengl-man-pages: for the OpenGL API man pages - provides = mesa-libgl - provides = opengl-driver - conflicts = mesa-libgl - replaces = mesa-libgl diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD index 50032ce68..c52832385 100644 --- a/extra/mesa/PKGBUILD +++ b/extra/mesa/PKGBUILD @@ -16,99 +16,102 @@ highmem=1 pkgbase=mesa pkgname=( - 'vulkan-mesa-layers' - 'opencl-clover-mesa' - 'opencl-rusticl-mesa' - 'vulkan-nouveau' - 'vulkan-radeon' - 'vulkan-swrast' - 'vulkan-virtio' - 'vulkan-broadcom' - 'vulkan-panfrost' - 'vulkan-freedreno' - 'libva-mesa-driver' - 'mesa-vdpau' - 'mesa' + mesa + libva-mesa-driver + mesa-vdpau + opencl-clover-mesa + opencl-rusticl-mesa + vulkan-mesa-layers + vulkan-nouveau + vulkan-radeon + vulkan-swrast + vulkan-virtio + vulkan-broadcom + vulkan-panfrost + vulkan-freedreno ) -pkgver=24.1.1 +pkgver=24.1.2 pkgrel=1 epoch=1 pkgdesc="Open-source OpenGL drivers" url="https://www.mesa3d.org/" -arch=('x86_64') -license=('MIT AND BSD-3-Clause AND SGI-B-2.0') +arch=(x86_64) +license=("MIT AND BSD-3-Clause AND SGI-B-2.0") makedepends=( - 'clang' - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'libglvnd' - 'libva' - 'libvdpau' - 'libx11' - 'libxcb' - 'libxext' - 'libxfixes' - 'libxml2' - 'libxrandr' - 'libxshmfence' - 'libxxf86vm' - 'llvm' - 'llvm-libs' - 'lm_sensors' - 'rust' - 'spirv-llvm-translator' - 'spirv-tools' - 'systemd-libs' - 'vulkan-icd-loader' - 'wayland' - 'xcb-util-keysyms' - 'zlib' - 'zstd' + clang + expat + gcc-libs + glibc + libdrm + libelf + libglvnd + libva + libvdpau + libx11 + libxcb + libxext + libxfixes + libxml2 + libxrandr + libxshmfence + libxxf86vm + llvm + llvm-libs + lm_sensors + rust + spirv-llvm-translator + spirv-tools + systemd-libs + vulkan-icd-loader + wayland + xcb-util-keysyms + zlib + zstd # shared between mesa and lib32-mesa - 'cbindgen' - 'clang' - 'cmake' - 'elfutils' - 'glslang' - 'libclc' - 'meson' - 'python-mako' - 'python-packaging' - 'python-ply' - 'rust-bindgen' - 'wayland-protocols' - 'xorgproto' + cbindgen + clang + cmake + elfutils + glslang + libclc + meson + python-mako + python-packaging + python-ply + rust-bindgen + wayland-protocols + xorgproto # valgrind deps - 'valgrind' + valgrind # d3d12 deps - 'directx-headers' + directx-headers # gallium-omx deps - 'libomxil-bellagio' + libomxil-bellagio # etnaviv deps - 'python-pycparser' + python-pycparser ) options=( # GCC 14 LTO causes segfault in LLVM under si_llvm_optimize_module + # https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + # + # In general, upstream considers LTO to be broken until explicit notice. !lto ) source=( - https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} + "https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz"{,.sig} ) validpgpkeys=( - '8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov - '946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez - 'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) - 'A5CC9FEC93F2F837CB044912336909B6B25FADFA' # Juan A. Suarez Romero - '71C4B75620BC75708B4BDB254C95FAAB3EB073EC' # Dylan Baker - '57551DE15B968F6341C248F68D8E31AFC32428A6' # Eric Engestrom + 946D09B5E4C9845E63075FF1D961C596A7203456 # Andres Gomez + 71C4B75620BC75708B4BDB254C95FAAB3EB073EC # Dylan Baker + 8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D # Emil Velikov + 57551DE15B968F6341C248F68D8E31AFC32428A6 # Eric Engestrom + A5CC9FEC93F2F837CB044912336909B6B25FADFA # Juan A. Suarez Romero + E3E8F480C52ADD73B278EE78E1ECBE07D7D70895 # Juan Antonio Suárez Romero (Igalia, S.L.) ) # Rust crates for NVK, used as Meson subprojects @@ -121,17 +124,13 @@ declare -A _crates=( ) for _crate in "${!_crates[@]}"; do - source+=($_crate-${_crates[$_crate]}.tar.gz::https://crates.io/api/v1/crates/$_crate/${_crates[$_crate]}/download) + _ver="${_crates[$_crate]}" + source+=( + "$_crate-$_ver.tar.gz::https://crates.io/api/v1/crates/$_crate/$_ver/download" + ) done -sha256sums=('0038826c6f7e88d90b4ce6f719192fa58ca7dedf4edcaa1174cf7bd920ef89ea' - 'SKIP' - '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b' - '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b' - '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae' - 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c' - '23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a') -b2sums=('152ce5f4847a321689bf4aa88529963278f7dd24097c4c3de2b3a9164d06cd23d7cccd96bd31fea88311ded576c834a73e2d669e6d290404283f33f92b9bf262' +b2sums=('8c66d22101c516b8f9323fcfd92bc242a9d6133a65611cd8b5616eeed9f9825423ecd696a1bbe80832d9d6c1b3b14b34fb54bbe13527ac41af6d0d00a10126f2' 'SKIP' 'fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c' '4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac' @@ -139,6 +138,15 @@ b2sums=('152ce5f4847a321689bf4aa88529963278f7dd24097c4c3de2b3a9164d06cd23d7cccd9 '35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c' '2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01') +# https://docs.mesa3d.org/relnotes.html +sha256sums=('a2c584c8d57d3bd8ba11790a6e9ae3713f8821df96c059b78afb29dd975c9f45' + 'SKIP' + '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b' + '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b' + '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae' + 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c' + '23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a') + prepare() { cd mesa-$pkgver @@ -185,264 +193,103 @@ build() { ) # Build only minimal debug info to reduce size - CFLAGS+=' -g1' - CXXFLAGS+=' -g1' + CFLAGS+=" -g1" + CXXFLAGS+=" -g1" # Inject subproject packages export MESON_PACKAGE_CACHE_DIR="$srcdir" arch-meson mesa-$pkgver build "${meson_options[@]}" - meson configure build --no-pager # Print config meson compile -C build - - # fake installation to be seperated into packages - # outside of fakeroot but mesa doesn't need to chown/mod - meson install -C build --destdir "$srcdir/fakeinstall" } -_install() { - local src f dir - for src; do - f="${src#fakeinstall/}" - dir="${pkgdir}/${f%/*}" - install -m755 -d "${dir}" - mv -v "${src}" "${dir}/" +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv -v "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" done } -_libdir=usr/lib - -package_vulkan-mesa-layers() { - pkgdesc="Mesa's Vulkan layers" +package_mesa() { depends=( - 'gcc-libs' - 'glibc' - 'libdrm' - 'libxcb' - 'wayland' + expat + gcc-libs + glibc + libdrm + libelf + libglvnd + libx11 + libxcb + libxext + libxfixes + libxshmfence + libxxf86vm + llvm-libs + lm_sensors + wayland + zlib + zstd - 'python' + libomxil-bellagio ) - conflicts=('vulkan-mesa-layer') - replaces=('vulkan-mesa-layer') - - _install fakeinstall/usr/share/vulkan/explicit_layer.d - _install fakeinstall/usr/share/vulkan/implicit_layer.d - _install fakeinstall/$_libdir/libVkLayer_*.so - _install fakeinstall/usr/bin/mesa-overlay-control.py - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_opencl-clover-mesa() { - pkgdesc="Open-source OpenCL drivers - Clover variant" - depends=( - 'clang' - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'llvm-libs' - 'spirv-llvm-translator' - 'spirv-tools' - 'zlib' - 'zstd' - - 'libclc' + optdepends=("opengl-man-pages: for the OpenGL API man pages") + provides=( + mesa-libgl + opengl-driver ) - optdepends=('opencl-headers: headers necessary for OpenCL development') - provides=('opencl-driver') - replaces=("opencl-mesa<=23.1.4-1") - conflicts=('opencl-mesa') + conflicts=(mesa-libgl) + replaces=(mesa-libgl) - _install fakeinstall/etc/OpenCL/vendors/mesa.icd - _install fakeinstall/$_libdir/libMesaOpenCL* - _install fakeinstall/$_libdir/gallium-pipe + meson install -C build --destdir "$pkgdir" - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} + ( + local libdir=usr/lib icddir=usr/share/vulkan/icd.d -package_opencl-rusticl-mesa() { - pkgdesc="Open-source OpenCL drivers - RustICL variant" - depends=( - 'clang' - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'llvm-libs' - 'spirv-llvm-translator' - 'spirv-tools' - 'zlib' - 'zstd' + cd "$pkgdir" - 'libclc' + _pick libva $libdir/dri/*_drv_video.so + + _pick vdpau $libdir/vdpau + + _pick clover $libdir/gallium-pipe + _pick clover $libdir/libMesaOpenCL* + _pick clover etc/OpenCL/vendors/mesa.icd + + _pick clrust $libdir/libRusticlOpenCL* + _pick clrust etc/OpenCL/vendors/rusticl.icd + + _pick vklayer $libdir/libVkLayer_*.so + _pick vklayer usr/bin/mesa-overlay-control.py + _pick vklayer usr/share/vulkan/{ex,im}plicit_layer.d + + _pick vknvidia $icddir/nouveau_*.json + _pick vknvidia $libdir/libvulkan_nouveau*.so + + _pick vkradeon $icddir/radeon_icd*.json + _pick vkradeon $libdir/libvulkan_radeon.so + _pick vkradeon usr/share/drirc.d/00-radv-defaults.conf + + _pick vkswrast $icddir/lvp_icd*.json + _pick vkswrast $libdir/libvulkan_lvp.so + + _pick vkvirtio $icddir/virtio_icd*.json + _pick vkvirtio $libdir/libvulkan_virtio.so + + _pick vkbroadcom $icddir/broadcom_icd*.json + _pick vkbroadcom $libdir/libvulkan_broadcom.so + + _pick vkpanfrost $icddir/panfrost_icd*.json + _pick vkpanfrost $libdir/libvulkan_panfrost.so + + _pick vkfreedreno $icddir/freedreno_icd*.json + _pick vkfreedreno $libdir/libvulkan_freedreno.so + + # indirect rendering + ln -sr $libdir/libGLX_{mesa,indirect}.so.0 ) - optdepends=('opencl-headers: headers necessary for OpenCL development') - provides=('opencl-driver') - replaces=("opencl-mesa<=23.1.4-1") - conflicts=('opencl-mesa') - - _install fakeinstall/etc/OpenCL/vendors/rusticl.icd - _install fakeinstall/$_libdir/libRusticlOpenCL* - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-nouveau() { - pkgdesc="Open-source Vulkan driver for Nvidia GPUs" - depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libx11' - 'libxcb' - 'libxshmfence' - 'systemd-libs' - 'vulkan-icd-loader' - 'wayland' - 'xcb-util-keysyms' - 'zlib' - 'zstd' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/nouveau_*.json - _install fakeinstall/$_libdir/libvulkan_nouveau*.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-radeon() { - pkgdesc="Open-source Vulkan driver for AMD GPUs" - depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'libx11' - 'libxcb' - 'libxshmfence' - 'llvm-libs' - 'systemd-libs' - 'vulkan-icd-loader' - 'wayland' - 'xcb-util-keysyms' - 'zlib' - 'zstd' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/drirc.d/00-radv-defaults.conf - _install fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json - _install fakeinstall/$_libdir/libvulkan_radeon.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-swrast() { - pkgdesc="Open-source Vulkan driver for CPUs (Software Rasterizer)" - depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libx11' - 'libxcb' - 'libxshmfence' - 'llvm-libs' - 'systemd-libs' - 'vulkan-icd-loader' - 'wayland' - 'xcb-util-keysyms' - 'zlib' - 'zstd' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - conflicts=('vulkan-mesa') - replaces=('vulkan-mesa') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/lvp_icd*.json - _install fakeinstall/$_libdir/libvulkan_lvp.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-virtio() { - pkgdesc="Open-source Vulkan driver for Virtio-GPU (Venus)" - depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libx11' - 'libxcb' - 'libxshmfence' - 'systemd-libs' - 'vulkan-icd-loader' - 'wayland' - 'xcb-util-keysyms' - 'zlib' - 'zstd' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/virtio_icd*.json - _install fakeinstall/$_libdir/libvulkan_virtio.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-broadcom() { - pkgdesc="Broadcom's Vulkan mesa driver" - depends=( - 'wayland' - 'libx11' - 'libxshmfence' - 'libdrm' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/broadcom_icd*.json - _install fakeinstall/$_libdir/libvulkan_broadcom.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-panfrost() { - pkgdesc="Panfrost Vulkan mesa driver" - depends=( - 'wayland' - 'libx11' - 'libxshmfence' - 'libdrm' - ) - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/panfrost_icd*.json - _install fakeinstall/$_libdir/libvulkan_panfrost.so - - install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" -} - -package_vulkan-freedreno() { - pkgdesc="Freedreno Vulkan mesa driver" - depends=('wayland' 'libx11' 'libxshmfence' 'libdrm') - optdepends=('vulkan-mesa-layers: additional vulkan layers') - provides=('vulkan-driver') - - _install fakeinstall/usr/share/vulkan/icd.d/freedreno_icd*.json - _install fakeinstall/usr/lib/libvulkan_freedreno.so install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" } @@ -450,21 +297,21 @@ package_vulkan-freedreno() { package_libva-mesa-driver() { pkgdesc="Open-source VA-API drivers" depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'libx11' - 'libxcb' - 'libxshmfence' - 'llvm-libs' - 'zlib' - 'zstd' + expat + gcc-libs + glibc + libdrm + libelf + libx11 + libxcb + libxshmfence + llvm-libs + zlib + zstd ) - provides=('libva-driver') + provides=(libva-driver) - _install fakeinstall/$_libdir/dri/*_drv_video.so + mv libva/* "$pkgdir" install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" } @@ -472,81 +319,247 @@ package_libva-mesa-driver() { package_mesa-vdpau() { pkgdesc="Open-source VDPAU drivers" depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'libx11' - 'libxcb' - 'libxshmfence' - 'llvm-libs' - 'zlib' - 'zstd' + expat + gcc-libs + glibc + libdrm + libelf + libx11 + libxcb + libxshmfence + llvm-libs + zlib + zstd ) - provides=('vdpau-driver') + provides=(vdpau-driver) - _install fakeinstall/$_libdir/vdpau + mv vdpau/* "$pkgdir" install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" } -package_mesa() { +package_opencl-clover-mesa() { + pkgdesc="Open-source OpenCL drivers - Clover variant" depends=( - 'expat' - 'gcc-libs' - 'glibc' - 'libdrm' - 'libelf' - 'libglvnd' - 'libx11' - 'libxcb' - 'libxext' - 'libxfixes' - 'libxshmfence' - 'libxxf86vm' - 'llvm-libs' - 'lm_sensors' - 'wayland' - 'zlib' - 'zstd' + clang + expat + gcc-libs + glibc + libdrm + libelf + llvm-libs + spirv-llvm-translator + spirv-tools + zlib + zstd - 'libomxil-bellagio' + libclc ) - optdepends=( - 'opengl-man-pages: for the OpenGL API man pages' + optdepends=("opencl-headers: headers necessary for OpenCL development") + provides=(opencl-driver) + replaces=("opencl-mesa<=23.1.4-1") + conflicts=(opencl-mesa) + + mv clover/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_opencl-rusticl-mesa() { + pkgdesc="Open-source OpenCL drivers - RustICL variant" + depends=( + clang + expat + gcc-libs + glibc + libdrm + libelf + llvm-libs + spirv-llvm-translator + spirv-tools + zlib + zstd + + libclc ) - provides=( - 'mesa-libgl' - 'opengl-driver' + optdepends=("opencl-headers: headers necessary for OpenCL development") + provides=(opencl-driver) + replaces=("opencl-mesa<=23.1.4-1") + conflicts=(opencl-mesa) + + mv clrust/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-mesa-layers() { + pkgdesc="Mesa's Vulkan layers" + depends=( + gcc-libs + glibc + libdrm + libxcb + wayland + + python ) - conflicts=('mesa-libgl') - replaces=('mesa-libgl') + conflicts=(vulkan-mesa-layer) + replaces=(vulkan-mesa-layer) - _install fakeinstall/usr/share/drirc.d/00-mesa-defaults.conf - _install fakeinstall/usr/share/glvnd/egl_vendor.d/50_mesa.json + mv vklayer/* "$pkgdir" - # ati-dri, nouveau-dri, intel-dri, svga-dri, swrast, swr - _install fakeinstall/$_libdir/dri/*_dri.so + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} - _install fakeinstall/$_libdir/bellagio - _install fakeinstall/$_libdir/d3d - _install fakeinstall/$_libdir/lib{gbm,glapi}.so* - _install fakeinstall/$_libdir/libOSMesa.so* +package_vulkan-nouveau() { + pkgdesc="Open-source Vulkan driver for Nvidia GPUs" + depends=( + expat + gcc-libs + glibc + libdrm + libx11 + libxcb + libxshmfence + systemd-libs + vulkan-icd-loader + wayland + xcb-util-keysyms + zlib + zstd + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) - _install fakeinstall/usr/include - rm -f fakeinstall/$_libdir/pkgconfig/{egl,gl}.pc - _install fakeinstall/$_libdir/pkgconfig + mv vknvidia/* "$pkgdir" - # libglvnd support - _install fakeinstall/$_libdir/libGLX_mesa.so* - _install fakeinstall/$_libdir/libEGL_mesa.so* + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} - # indirect rendering - ln -sr "$pkgdir"/$_libdir/libGLX_{mesa,indirect}.so.0 +package_vulkan-radeon() { + pkgdesc="Open-source Vulkan driver for AMD GPUs" + depends=( + expat + gcc-libs + glibc + libdrm + libelf + libx11 + libxcb + libxshmfence + llvm-libs + systemd-libs + vulkan-icd-loader + wayland + xcb-util-keysyms + zlib + zstd + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) - # make sure there are no files left to install - find fakeinstall -depth -print0 | xargs -0 rmdir + mv vkradeon/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-swrast() { + pkgdesc="Open-source Vulkan driver for CPUs (Software Rasterizer)" + depends=( + expat + gcc-libs + glibc + libdrm + libx11 + libxcb + libxshmfence + llvm-libs + systemd-libs + vulkan-icd-loader + wayland + xcb-util-keysyms + zlib + zstd + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + conflicts=(vulkan-mesa) + replaces=(vulkan-mesa) + provides=(vulkan-driver) + + mv vkswrast/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-virtio() { + pkgdesc="Open-source Vulkan driver for Virtio-GPU (Venus)" + depends=( + expat + gcc-libs + glibc + libdrm + libx11 + libxcb + libxshmfence + systemd-libs + vulkan-icd-loader + wayland + xcb-util-keysyms + zlib + zstd + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) + + mv vkvirtio/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-broadcom() { + pkgdesc="Broadcom's Vulkan mesa driver" + depends=( + wayland + libx11 + libxshmfence + libdrm + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) + + mv vkbroadcom/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-panfrost() { + pkgdesc="Panfrost Vulkan mesa driver" + depends=( + wayland + libx11 + libxshmfence + libdrm + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) + + mv vkpanfrost/* "$pkgdir" + + install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_vulkan-freedreno() { + pkgdesc="Freedreno Vulkan mesa driver" + depends=( + wayland + libx11 + libxshmfence + libdrm + ) + optdepends=("vulkan-mesa-layers: additional vulkan layers") + provides=(vulkan-driver) + + mv vkfreedreno/* "$pkgdir" install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname" }