diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-12-25 02:00:38 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-12-25 02:00:38 -0600 |
commit | 053121bf4e9e40a816ec509cc2e28af994ed91cf (patch) | |
tree | 9ea93caa18a3781f9821f15cec7011b0491d9e89 /user/mesa/APKBUILD | |
parent | 82c5817cb62ed83a5d708538c7606576987fbab6 (diff) | |
download | packages-053121bf4e9e40a816ec509cc2e28af994ed91cf.tar.gz packages-053121bf4e9e40a816ec509cc2e28af994ed91cf.tar.bz2 packages-053121bf4e9e40a816ec509cc2e28af994ed91cf.tar.xz packages-053121bf4e9e40a816ec509cc2e28af994ed91cf.zip |
user/mesa: bump to 19.3.1 - complete overhaul
* Supports VA API, XvMC
* Vulkan support enabled
* Uses 'megadrivers' for significant install-size decrease
* Supports many more drivers on ARM machines
* Uses Meson instead of autotools
Diffstat (limited to 'user/mesa/APKBUILD')
-rw-r--r-- | user/mesa/APKBUILD | 212 |
1 files changed, 63 insertions, 149 deletions
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD index 50100c2bb..b6684032d 100644 --- a/user/mesa/APKBUILD +++ b/user/mesa/APKBUILD @@ -1,113 +1,71 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mesa -pkgver=18.3.6 +pkgver=19.3.1 +_llvmver=8 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" +makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-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 zlib-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 + amdgpu-pthread-header.patch musl-fixes.patch musl-fix-includes.patch - amdgpu-pthread-header.patch - disk_cache-stack-overflow.patch - drmdeps.patch - fix-non-altivec-ppc32.patch " _dri_driverdir=/usr/lib/xorg/modules/dri -_dri_drivers="r200,radeon,nouveau,swrast" +_dri_drivers="r200,nouveau" _gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl" -_vulkan_drivers="radeon" - -builddir="$srcdir/mesa-$pkgver" - -_arch_opts= +_vulkan_drivers="amd" case "$CARCH" in x86* | pmmx) - _dri_drivers="${_dri_drivers},i915,i965" - _gallium_drivers="${_gallium_drivers},svga" + _dri_drivers="${_dri_drivers},i965" + _gallium_drivers="${_gallium_drivers},i915,svga" _vulkan_drivers="${_vulkan_drivers},intel" - subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri" ;; aarch64 | arm*) - _gallium_drivers="${_gallium_drivers},vc4" - subpackages="$subpackages $pkgname-dri-vc4:_dri" + _gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,kmsro,v3d,lima,panfrost,etnativ" + _vulkan_drivers="${_vulkan_drivers},freedreno" case "$CARCH" in armhf) CFLAGS="$CFLAGS -mfpu=neon";; esac ;; +ppc64) + _arch_conf="-Dpower8=false" + ;; 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 + meson \ + -Dprefix=/usr \ + -Ddri-drivers-path=$_dri_driverdir \ + -Dplatforms=x11,drm,surfaceless \ + -Ddri-drivers=$_dri_drivers \ + -Dgallium-drivers=$_gallium_drivers \ + -Dvulkan-drivers=$_vulkan_drivers \ + -Dosmesa=gallium \ + -Duse-elf-tls=false \ + $_arch_conf \ + build + + ninja -C build } package() { - make -j1 DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" ninja -C build install } egl() { @@ -128,7 +86,7 @@ gl() { glapi() { replaces="$pkgname-gles" - pkgdesc="Mesa shared glapi" + pkgdesc="Mesa OpenGL API" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libglapi.so.* \ "$subpkgdir"/usr/lib/ @@ -143,7 +101,7 @@ gles() { } 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 +115,39 @@ 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 +vulkan_overlay() { + pkgdesc="Vulkan layer to display information about the current window" + install -d "$subpkgdir"/usr/lib + install -d "$subpkgdir"/usr/share/vulkan/explicit_layer.d + mv "$pkgdir"/usr/lib/libVkLayer_MESA_overlay.so \ + "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json \ + "$subpkgdir"/usr/share/vulkan/explicit_layer.d/ } -_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" + install -d "$subpkgdir"/usr/lib + install -d "$subpkgdir"/usr/share/vulkan + install -d "$subpkgdir"/$_dri_driverdir + mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/ + # XvMC drivers + mv "$pkgdir"/usr/lib/libXvMC*.so* "$subpkgdir"/usr/lib/ + 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 +sha512sums="338d2e37122ef22cc4e27a2f3c39e23e419703a507ace99383c749a563936c5f0428cce9a68ac80d0bd2ff57be8a55f42aee0ed6d16bf6b77b4e59d428729568 mesa-19.3.1.tar.xz 245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa amdgpu-pthread-header.patch -f40ff04ac73c090c74d1955de6013c5aa41fb77f28b2b82d89cfc1880306a9ca1dde4581592db19f0a0ec6d85032f1ed5d953103ab0d075f9f0b7e459a028c45 disk_cache-stack-overflow.patch -6800bc62aebfba22a2562c858c27391b47c5675020bd67f040da93ffe4d5d8ac828907a44c7cee6a4ebe63821b58c2515b4012f1f23473670b1de8670426a430 drmdeps.patch -71a397cf9937e623d21abacb2726602f1b5165b18543e11fdfdaac748c221aeafbbda790492a2180b590dace9a17c931c1eac199de32e90c3fa3305706a4011f fix-non-altivec-ppc32.patch" +9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch +c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch" |