diff options
Diffstat (limited to 'user/mesa/APKBUILD')
-rw-r--r-- | user/mesa/APKBUILD | 123 |
1 files changed, 58 insertions, 65 deletions
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD index d5f828129..2bc34d02d 100644 --- a/user/mesa/APKBUILD +++ b/user/mesa/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mesa -pkgver=21.3.9 -_llvmver=14 +pkgver=24.3.0 +_llvmver=18 pkgrel=0 pkgdesc="Mesa DRI OpenGL library" url="https://www.mesa3d.org" @@ -11,36 +11,34 @@ license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+" depends="" depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev xorgproto-dev" -makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev +makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev libglvnd-dev libva-dev libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev libxv-dev libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend meson ninja python3 py3-libxml2 py3-mako py3-pygments py3-markupsafe - wayland-dev wayland-protocols - zlib-dev zstd-dev" -subpackages="$pkgname-dev $pkgname-dri - $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles - $pkgname-xatracker $pkgname-osmesa $pkgname-gbm" -# requires glslang: $pkgname-vulkan-overlay -source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz - big-endian-flipping.patch - musl-fixes.patch - no-tls.patch - nouveau-flush-fix.patch - " + py3-cparser py3-pyyaml rust wayland-dev wayland-protocols glslang-dev + zlib-dev zstd-dev bindgen-cli cbindgen clang-dev libarchive-dev" +replaces="mesa-egl mesa-gl mesa-glapi mesa-gles" +subpackages="$pkgname-dev $pkgname-dri $pkgname-vulkan-overlay $pkgname-gbm + $pkgname-d3d $pkgname-xatracker $pkgname-osmesa" +source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz" _dri_driverdir=/usr/lib/xorg/modules/dri -_dri_drivers="r200,nouveau" -_gallium_drivers="r300,r600,radeonsi,nouveau,swrast,virgl" -_vulkan_drivers="amd" +_gallium_drivers="r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,zink,svga" +_vulkan_drivers="amd,nouveau,swrast,virtio" case "$CARCH" in +x86_64) + _gallium_drivers="${_gallium_drivers},i915,svga,crocus" + _vulkan_drivers="${_vulkan_drivers},microsoft-experimental" + _arch_conf="-Dintel-rt=enabled" + ;; x86* | pmmx) - _dri_drivers="${_dri_drivers},i965" - _gallium_drivers="${_gallium_drivers},i915,svga,iris" - _vulkan_drivers="${_vulkan_drivers},intel" + _gallium_drivers="${_gallium_drivers},i915,svga,crocus" + _arch_conf="-Dsse2=false" ;; aarch64 | arm*) - _gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,kmsro,v3d,lima,panfrost,etnaviv" + _gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,v3d,lima,panfrost,etnaviv" + _vulkan_drivers="${_vulkan_drivers},freedreno,panfrost,broadcom" case "$CARCH" in armhf) CFLAGS="$CFLAGS -mfpu=neon";; esac @@ -51,14 +49,34 @@ ppc64) esac build() { + # This is to fix #796, and is derived from: + # https://gitlab.freedesktop.org/mesa/mesa/-/commit/cc2b3a99ccf035a084d768e5c5ffa81478d685c1 + cat > native.file <<EOF +[binaries] +llvm-config = '$(command -v llvm${_llvmver}-config)' +rust = ['rustc', '--target=${CHOST}'] +EOF + meson \ + --native-file=native.file \ -Dprefix=/usr \ -Ddri-drivers-path=$_dri_driverdir \ - -Dplatforms=x11,wayland \ - -Ddri-drivers=$_dri_drivers \ -Dgallium-drivers=$_gallium_drivers \ - -Dvulkan-drivers=$_vulkan_drivers \ + -Dgallium-nine=true \ + -Dgallium-opencl=disabled \ + -Dgallium-rusticl=false \ + -Dgallium-va=enabled \ + -Dgallium-vdpau=enabled \ + -Dgallium-xa=enabled \ + -Dglvnd=enabled \ + -Dglx=dri \ + -Dmicrosoft-clc=disabled \ + -Dopencl-spirv=false \ -Dosmesa=true \ + -Dplatforms=x11,wayland \ + -Dvideo-codecs=all_free \ + -Dvulkan-drivers=$_vulkan_drivers \ + -Dvulkan-layers=device-select,overlay \ $_arch_conf \ build @@ -69,35 +87,11 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -egl() { - replaces="mesa" - pkgdesc="Mesa libEGL runtime libraries" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libEGL.so* \ - "$subpkgdir"/usr/lib/ -} - -gl() { - replaces="mesa" - pkgdesc="Mesa libGL runtime libraries" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libGL.so* \ - "$subpkgdir"/usr/lib/ -} - -glapi() { - replaces="$pkgname-gles" - pkgdesc="Mesa OpenGL API" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libglapi.so.* \ - "$subpkgdir"/usr/lib/ -} - -gles() { +d3d() { replaces="mesa" - pkgdesc="Mesa libGLESv2 runtime libraries" + pkgdesc="Mesa Direct3D adaptor libraries" install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libGLES*.so* \ + mv "$pkgdir"/usr/lib/d3d \ "$subpkgdir"/usr/lib/ } @@ -123,14 +117,16 @@ gbm() { "$subpkgdir"/usr/lib/ } -vulkan_overlay() { - pkgdesc="Vulkan layer to display information about the current window" +overlay() { + pkgdesc="Vulkan overlays to display information" + install -d "$subpkgdir"/usr/bin install -d "$subpkgdir"/usr/lib - install -d "$subpkgdir"/usr/share/vulkan/explicit_layer.d - mv "$pkgdir"/usr/lib/libVkLayer_MESA_overlay.so \ + install -d "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/libVkLayer_MESA_*.so \ "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json \ - "$subpkgdir"/usr/share/vulkan/explicit_layer.d/ + mv "$pkgdir"/usr/share/vulkan \ + "$subpkgdir"/usr/share/vulkan + mv "$pkgdir"/usr/bin/mesa-overlay-control.py "$subpkgdir"/usr/bin } dri() { @@ -138,22 +134,19 @@ dri() { replaces="mesa-dri-ati mesa-dri-freedreno mesa-dri-intel mesa-dri-nouveau mesa-dri-swrast mesa-dri-tegra mesa-dri-vc4 mesa-dri-virtio mesa-dri-vmwgfx" + depends="mesa=$pkgver-r$pkgrel" provides="$replaces" install -d "$subpkgdir"/usr/lib/xorg/modules install -d "$subpkgdir"/usr/share/vulkan mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/lib/xorg/modules/dri "$subpkgdir"/usr/lib/xorg/modules/ mv "$pkgdir"/usr/share/drirc.d "$subpkgdir"/usr/share/ - # XvMC drivers - mv "$pkgdir"/usr/lib/libXvMC*.so* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/glvnd "$subpkgdir"/usr/share/ + mv "$pkgdir"/usr/lib/libgallium*.so* "$subpkgdir"/usr/lib/ || true # support non-Vulkan arches mv "$pkgdir"/usr/lib/libvulkan*.so* "$subpkgdir"/usr/lib/ || true mv "$pkgdir"/usr/lib/vdpau "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/share/vulkan/icd.d "$subpkgdir"/usr/share/vulkan/ } -sha512sums="4cec6f4f50f444fcd327f7c40f8899c2f265e348e121455262b540b1f890a1468bbea59965af0876c548fa97aa0a05a1b23fa6ca7d308bd60328cfdeab757684 mesa-21.3.9.tar.xz -3417e5c6d7ec564178e1d72431042b0a6ba659321f13a3dda81eda5fa0f2c8bc7c6972cb8266aea84ab05976ffb161659e9988c50ecc418e8bc1e1ce8f93a65f big-endian-flipping.patch -9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch -076bb17d85235f3c833af8f1641f3556e406ad187b7ae1ebacced5f57b8832243a878678de4e50880c9a50b2aae3c42ad2342ed8c3e18d881edb7dd5018a710e no-tls.patch -7283dc0e86e1ddaf4590008db57dd591921f47928945782afaa283f3b87770c731bab19d3d8879b4bf8b785f8886b9b46c576ca735296123f8afff29655abaeb nouveau-flush-fix.patch" +sha512sums="20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4 mesa-24.3.0.tar.xz" |