# Forked from Alpine to build Purism's source tree with vivante GPU related patches pkgname=mesa-purism-gc7000 provides=mesa pkgver=19.0.0_git20190129 pkgrel=0 _sha="5d0e960787295fbd188692bdae8fe14cebfc4ef6" pkgdesc="Mesa DRI OpenGL library" url="https://www.mesa3d.org" arch="aarch64" license="MIT SGI-B-2.0 BSL-1.0" subpackages=" $pkgname-dev $pkgname-dri-etnaviv:_dri $pkgname-dri-imx:_dri $pkgname-dri-swrast:_dri $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles $pkgname-osmesa $pkgname-gbm " depends_dev=" libdrm-dev libxext-dev libxdamage-dev libxcb-dev libxshmfence-dev " makedepends=" $depends_dev bison eudev-dev expat-dev flex gettext libelf-dev 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://source.puri.sm/guido.gunther/mesa/-/archive/${_sha}/mesa-${_sha}.tar.gz 10-adjust-cache-deflate-buffer.patch 20-musl.patch meson-add-toggle-for-TLS-support-in-GLX.patch " replaces="mesa-dricore" _dri_driverdir=/usr/lib/dri _dri_drivers="swrast" _gallium_drivers="swrast,imx,etnaviv" _arch_opts= builddir="$srcdir/mesa-${_sha}" build() { cd "$builddir" export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700" mkdir "$builddir"/build meson -Ddri-search-path="$_dri_driverdir" \ -Dgallium-drivers="$_gallium_drivers" \ -Ddri-drivers= \ -Dvulkan-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 \ -Dprefix="$pkgdir"/usr "$builddir"/build ninja -C "$builddir"/build } package() { cd "$builddir" ninja -C "$builddir"/build install } egl() { pkgdesc="Mesa libEGL runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/ } gl() { pkgdesc="Mesa libGL runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGL.so* "$subpkgdir"/usr/lib/ } glapi() { pkgdesc="Mesa shared glapi" replaces="$pkgname-gles" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libglapi.so.* "$subpkgdir"/usr/lib/ } gles() { pkgdesc="Mesa libGLESv2 runtime libraries" replaces="mesa" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLES*.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/ } _mv_dri() { install -d "$subpkgdir"/$_dri_driverdir while [ $# -gt 0 ]; do mv "$pkgdir"/$_dri_driverdir/${1}.so \ "$subpkgdir"/$_dri_driverdir/ 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="Mesa DRI driver for $n" case $n in swrast) _mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast ;; etnaviv) _mv_dri etnaviv_dri ;; imx) _mv_dri imx-drm_dri ;; esac } sha512sums="2aa17f26a4dc31370a07d95dec72f8730ec1671e2d97e5fd151aa6d9e80e2453fdff5a94dbfd11defb9fadc1d6bc2bf333048f46d6b834f9995222c38369d208 mesa-5d0e960787295fbd188692bdae8fe14cebfc4ef6.tar.gz cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch 02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch"