# Forked from Alpine, so we can upgrade the version and build etnaviv and tegra pkgname=mesa pkgver=9999 _pkgver=19.1.0 pkgrel=7 pkgdesc="[${_pkgver}] Mesa DRI OpenGL library" url="https://www.mesa3d.org" arch="armhf armv7 aarch64" license="MIT SGI-B-2.0 BSL-1.0" subpackages=" $pkgname-dev $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles $pkgname-osmesa $pkgname-gbm $pkgname-xatracker " depends_dev=" libdrm-dev libxext-dev libxdamage-dev libxcb-dev libxshmfence-dev " makedepends=" $depends_dev bison eudev-dev expat-dev flex gettext elfutils-libelf libtool libxfixes-dev libva-dev libvdpau-dev libx11-dev libxrandr-dev libxxf86vm-dev libxt-dev libxvmc-dev makedepend py-mako py3-libxml2 python3 talloc-dev wayland-dev wayland-protocols xorgproto zlib-dev meson ninja " source=" https://gitlab.freedesktop.org/mesa/mesa/-/archive/$pkgname-$_pkgver/mesa-$pkgname-$_pkgver.tar.gz 10-adjust-cache-deflate-buffer.patch 20-musl.patch meson-add-toggle-for-TLS-support-in-GLX.patch fix-lima-on-wayland.patch" replaces="mesa-dricore" _dri_driverdir=/usr/lib/dri _dri_driverdir_x11=/usr/lib/xorg/modules/dri _dri_drivers="nouveau" _gallium_drivers="swrast,virgl,nouveau" subpackages="$subpackages $pkgname-dri-swrast:_dri $pkgname-dri-virgl:_dri $pkgname-dri-nouveau:_dri" case "$CARCH" in x86*) _dri_drivers="${_dri_drivers},i915,i965" _gallium_drivers="${_gallium_drivers},svga" _vulkan_drivers="${_vulkan_drivers},amd,intel" subpackages="$subpackages $pkgname-dri-intel:_dri \ $pkgname-dri-vmwgfx:_dri" ;; armhf|armv7|aarch64) _gallium_drivers="${_gallium_drivers},kmsro,vc4,freedreno,panfrost,etnaviv,tegra,lima" _vulkan_drivers="${_vulkan_drivers}" subpackages="$subpackages $pkgname-dri-kmsro:_dri $pkgname-dri-vc4:_dri $pkgname-dri-freedreno:_dri $pkgname-dri-panfrost:_dri $pkgname-dri-etnaviv:_dri $pkgname-dri-tegra:_dri $pkgname-dri-lima:_dri" ;; esac builddir="$srcdir/mesa-$pkgname-$_pkgver" build() { export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700" mkdir "$builddir"/build meson -Ddri-search-path="$_dri_driverdir" \ -Dgallium-drivers="$_gallium_drivers" \ -Ddri-drivers="$_dri_drivers" \ -Dvulkan-drivers="$_vulkan_drivers" \ -Dplatforms=x11,wayland,drm \ -Ddri3=true \ -Degl=true \ -Dglx=dri \ -Dgles1=true \ -Dgles2=true \ -Dshared-glapi=true \ -Dosmesa=gallium \ -Dgbm=true \ -Dglx-tls=false \ -Db_ndebug=true \ -Dprefix=/usr "$builddir"/build \ --buildtype=release ninja -C "$builddir"/build } package() { DESTDIR="$pkgdir" ninja -C "$builddir"/build install } egl() { pkgdesc="[${_pkgver}] Mesa libEGL runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/ } gl() { pkgdesc="[${_pkgver}] Mesa libGL runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGL.so* "$subpkgdir"/usr/lib/ } glapi() { pkgdesc="[${_pkgver}] Mesa shared glapi" replaces="$pkgname-gles" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libglapi.so.* "$subpkgdir"/usr/lib/ } gles() { pkgdesc="[${_pkgver}] Mesa libGLESv2 runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLES*.so* "$subpkgdir"/usr/lib/ } osmesa() { pkgdesc="[${_pkgver}] Mesa offscreen rendering libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libOSMesa.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/ } gbm() { pkgdesc="[${_pkgver}] 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 install -d "$subpkgdir"/$_dri_driverdir_x11 while [ $# -gt 0 ]; do mv "$pkgdir"/$_dri_driverdir/${1}.so \ "$subpkgdir"/$_dri_driverdir/ ln -s $_dri_driverdir/${1}.so \ "$subpkgdir"/$_dri_driverdir_x11/${1}.so 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/ 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/ # done } _mv_va() { local i install -d "$subpkgdir"/usr/lib/dri for i in "$@"; do mv "$pkgdir"/usr/lib/dri/${i}_drv_video.so \ "$subpkgdir"/usr/lib/dri/ done } _dri() { local n=${subpkgname##*-dri-} pkgdesc="[${_pkgver}] Mesa DRI driver for $n" case $n in swrast) _mv_dri swrast_dri kms_swrast_dri \ && _mv_gpipe swrast ;; intel) _mv_dri i915_dri i965_dri ;; nouveau) _mv_dri nouveau_dri nouveau_vieux_dri \ && _mv_vdpau nouveau \ && _mv_gpipe nouveau \ && _mv_va nouveau ;; vmwgfx) _mv_dri vmwgfx_dri \ && _mv_gpipe vmwgfx ;; freedreno) _mv_dri msm_dri kgsl_dri ;; virgl) _mv_dri virtio_gpu_dri ;; vc4) _mv_dri vc4_dri ;; panfrost) _mv_dri panfrost_dri ;; etnaviv) _mv_dri armada-drm_dri imx-drm_dri etnaviv_dri ;; tegra) _mv_dri tegra_dri ;; kmsro) _mv_dri exynos_dri hx8357d_dri ili9225_dri ili9341_dri meson_dri mi0283qt_dri pl111_dri repaper_dri rockchip_dri st7586_dri st7735r_dri sun4i-drm_dri ;; lima) _mv_dri lima_dri ;; esac } sha512sums="98a1950c73075319d1d3ae8092226234f70452c25bb7f83daf6bbe5abaee507f06b33fda8ee56805545c2ed79ac787cd0b3fa096ad1b2cb8b184ed14cb710b83 mesa-mesa-19.1.0.tar.gz cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch 02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch 095bbcef3bc73d4e51125819a1f8b18b3ec02dab4219dce50ce6cef60a755eac3526ea99f0f72c6a3f02567a27654ef5a41a4075b210a7182d0d17317855725b fix-lima-on-wayland.patch"