summaryrefslogtreecommitdiff
path: root/user/mesa/APKBUILD
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-25 02:00:38 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-25 02:00:38 -0600
commit053121bf4e9e40a816ec509cc2e28af994ed91cf (patch)
tree9ea93caa18a3781f9821f15cec7011b0491d9e89 /user/mesa/APKBUILD
parent82c5817cb62ed83a5d708538c7606576987fbab6 (diff)
downloadpackages-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/APKBUILD212
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"