diff options
Diffstat (limited to 'user/mesa/APKBUILD')
-rw-r--r-- | user/mesa/APKBUILD | 277 |
1 files changed, 95 insertions, 182 deletions
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD index 50100c2bb..2bc34d02d 100644 --- a/user/mesa/APKBUILD +++ b/user/mesa/APKBUILD @@ -1,149 +1,102 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mesa -pkgver=18.3.6 +pkgver=24.3.0 +_llvmver=18 pkgrel=0 pkgdesc="Mesa DRI OpenGL library" url="https://www.mesa3d.org" arch="all" +options="!check" # No test suite. license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+" -depends= -subpackages="$pkgname-dev - $pkgname-dri-ati:_dri - $pkgname-dri-nouveau:_dri - $pkgname-dri-freedreno:_dri - $pkgname-dri-swrast:_dri - $pkgname-dri-virtio:_dri - $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles - $pkgname-xatracker $pkgname-osmesa $pkgname-gbm - " -_llvmver=8 +depends="" depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev xorgproto-dev" -makedepends="$depends_dev byacc eudev-dev expat-dev flex libelf-dev - libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev - libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend python3 - py3-libxml2 py3-mako zlib-dev" -source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz - musl-fixes.patch - musl-fix-includes.patch - amdgpu-pthread-header.patch - disk_cache-stack-overflow.patch - drmdeps.patch - fix-non-altivec-ppc32.patch - " +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 + 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,radeon,nouveau,swrast" -_gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl" -_vulkan_drivers="radeon" - -builddir="$srcdir/mesa-$pkgver" - -_arch_opts= +_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},i915,i965" - _gallium_drivers="${_gallium_drivers},svga" - _vulkan_drivers="${_vulkan_drivers},intel" - subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri" + _gallium_drivers="${_gallium_drivers},i915,svga,crocus" + _arch_conf="-Dsse2=false" ;; aarch64 | arm*) - _gallium_drivers="${_gallium_drivers},vc4" - subpackages="$subpackages $pkgname-dri-vc4:_dri" + _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 ;; +ppc64) + _arch_conf="-Dpower8=disabled" + ;; esac -prepare() { - default_prepare - libtoolize --force \ - && aclocal \ - && automake --add-missing \ - && autoreconf -} - build() { - export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700" - PYTHON=python3 ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --with-dri-driverdir=$_dri_driverdir \ - --disable-asm \ - --with-gallium-drivers=${_gallium_drivers} \ - --with-dri-drivers=${_dri_drivers} \ - --with-vulkan-drivers=${_vulkan_drivers} \ - --with-llvm-prefix=/usr/lib/llvm$_llvmver \ - --enable-llvm-shared-libs \ - --enable-llvm \ - --with-platforms=x11,drm \ - --enable-shared-glapi \ - --enable-gbm \ - --disable-glx-tls \ - --disable-nine \ - --enable-dri \ - --enable-dri3 \ - --enable-glx \ - --enable-osmesa \ - --enable-gles1 \ - --enable-gles2 \ - --enable-egl \ - --enable-xa \ - --enable-vdpau \ - $_arch_opts - - make -} - -check() { - # Compiler test requires LLVM 3.8 and Python 2 - for i in gtest util mapi; do - make -C "src/$i" check - done + # 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 \ + -Dgallium-drivers=$_gallium_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 + + ninja -C build } package() { - make -j1 DESTDIR="$pkgdir" 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 shared glapi" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libglapi.so.* \ - "$subpkgdir"/usr/lib/ + DESTDIR="$pkgdir" ninja -C build install } -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/ } xatracker() { - pkgdesc="Mesa XA state tracker for vmware" + pkgdesc="Mesa XA state tracker for VMware" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libxatracker*.so.* \ "$subpkgdir"/usr/lib/ @@ -157,83 +110,43 @@ osmesa() { } gbm() { - pkgdesc="Mesa gbm library" + pkgdesc="Mesa GBM library" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgbm.so.* \ "$subpkgdir"/usr/lib/ } -_mv_dri() { - install -d "$subpkgdir"/$_dri_driverdir - - while [ $# -gt 0 ]; do - mv "$pkgdir"/$_dri_driverdir/${1}.so \ - "$subpkgdir"/$_dri_driverdir/ || return 1 - shift - done -} - -_mv_vdpau() { - local i - install -d "$subpkgdir"/usr/lib/vdpau - for i in "$@"; do - mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \ - "$subpkgdir"/usr/lib/vdpau/ || return 1 - done -} - -_mv_gpipe() { - return 0 - # http://cgit.freedesktop.org/mesa/mesa/commit/?id=44ec468e8033553c26a112cebba41c343db00eb1 - # https://code.google.com/p/chromium/issues/detail?id=412089 -# local i -# install -d "$subpkgdir"/usr/lib/gallium-pipe -# for i in "$@"; do -# mv "$pkgdir"/usr/lib/gallium-pipe/pipe_$i.* \ -# "$subpkgdir"/usr/lib/gallium-pipe/ || return 1 -# done +overlay() { + pkgdesc="Vulkan overlays to display information" + install -d "$subpkgdir"/usr/bin + install -d "$subpkgdir"/usr/lib + install -d "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/libVkLayer_MESA_*.so \ + "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/share/vulkan \ + "$subpkgdir"/usr/share/vulkan + mv "$pkgdir"/usr/bin/mesa-overlay-control.py "$subpkgdir"/usr/bin } -_dri() { - local n="${subpkgname##*-dri-}" - pkgdesc="Mesa DRI driver for $n" - case $n in - ati) - _mv_dri radeon_dri r200_dri r300_dri r600_dri radeonsi_dri \ - && _mv_vdpau r300 r600 radeonsi \ - && _mv_gpipe r300 r600 - ;; - intel) - _mv_dri i915_dri i965_dri - ;; - nouveau) - _mv_dri nouveau_dri nouveau_vieux_dri \ - && _mv_vdpau nouveau \ - && _mv_gpipe nouveau - ;; - freedreno) - _mv_dri msm_dri kgsl_dri - ;; - swrast) - _mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast - ;; - vc4) - _mv_dri vc4_dri - ;; - vmwgfx) - _mv_dri vmwgfx_dri && _mv_gpipe vmwgfx - ;; - virtio) - _mv_dri virtio_gpu_dri - ;; - esac +dri() { + pkgdesc="Mesa DRI drivers" + 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/ + 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="3a6dcaba99185e28d162b130bbd760fe87e6072065958189b28f41ea287ef041397897e098d93218a64802cf11c73806f7400a866bd8e5ed69694fa15c147487 mesa-18.3.6.tar.xz -9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch -c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch -245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa amdgpu-pthread-header.patch -f40ff04ac73c090c74d1955de6013c5aa41fb77f28b2b82d89cfc1880306a9ca1dde4581592db19f0a0ec6d85032f1ed5d953103ab0d075f9f0b7e459a028c45 disk_cache-stack-overflow.patch -6800bc62aebfba22a2562c858c27391b47c5675020bd67f040da93ffe4d5d8ac828907a44c7cee6a4ebe63821b58c2515b4012f1f23473670b1de8670426a430 drmdeps.patch -71a397cf9937e623d21abacb2726602f1b5165b18543e11fdfdaac748c221aeafbbda790492a2180b590dace9a17c931c1eac199de32e90c3fa3305706a4011f fix-non-altivec-ppc32.patch" +sha512sums="20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4 mesa-24.3.0.tar.xz" |