summaryrefslogtreecommitdiff
path: root/user/mesa/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'user/mesa/APKBUILD')
-rw-r--r--user/mesa/APKBUILD277
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"