# Maintainer: A. Wilcox pkgname=mesa 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="" 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 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 " _dri_driverdir=/usr/lib/xorg/modules/dri _dri_drivers="r200,nouveau" _gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl" _vulkan_drivers="amd" case "$CARCH" in x86* | pmmx) _dri_drivers="${_dri_drivers},i965" _gallium_drivers="${_gallium_drivers},i915,svga" _vulkan_drivers="${_vulkan_drivers},intel" ;; aarch64 | arm*) _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 build() { 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() { 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() { replaces="mesa" pkgdesc="Mesa libGLESv2 runtime libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLES*.so* \ "$subpkgdir"/usr/lib/ } xatracker() { pkgdesc="Mesa XA state tracker for VMware" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libxatracker*.so.* \ "$subpkgdir"/usr/lib/ } osmesa() { pkgdesc="Mesa offscreen rendering libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libOSMesa.so.* \ "$subpkgdir"/usr/lib/ } gbm() { pkgdesc="Mesa GBM library" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgbm.so.* \ "$subpkgdir"/usr/lib/ } 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() { 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" provides="$replaces" 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="338d2e37122ef22cc4e27a2f3c39e23e419703a507ace99383c749a563936c5f0428cce9a68ac80d0bd2ff57be8a55f42aee0ed6d16bf6b77b4e59d428729568 mesa-19.3.1.tar.xz 245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa amdgpu-pthread-header.patch 9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch"