pmaports/temp/mesa-purism-gc7000/APKBUILD
Bart Ribbers 85dfee5b75
temp/mesa: update to latest git master to include Lima (!359)
temp/mesa: enable mesa-dri-lima subpackage
temp/mesa: add a fix for Wayland on Lima
temp/mesa-purism-gc7000: update to latest Git and try to resolve conflicts with mesa
temp/mesa: switch version to 19.1.0-rc1
device/device-pine-a64lts: add mesa and mesa-dri-lima to depends
device/device-pine-dontbeevil: add mesa to depends
device/device-purism-librem5dev: remove now defunct mesa-purism-gc7000-dri-imx from depends
temp/mesa*: re-add X11 support
temp/mesa-purism-gc7000: fix build error which for some reason didn't cause problems earlier
temp/mesa*: fix X11 DRI symlinks
2019-05-14 16:26:21 +02:00

211 lines
4.6 KiB
Text

# Forked from Alpine to build Purism's source tree with vivante GPU related patches
pkgname=mesa-purism-gc7000
provides=mesa
pkgver=19.0.0_git20190403
pkgrel=0
_sha="d6d5b5401ea604dc2e5e5c3ef50d7df2ff4a6f38"
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-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
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://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_driverdir_x11=/usr/lib/xorg/modules/dri
_dri_drivers=""
_gallium_drivers="swrast,kmsro,etnaviv"
_vulkan_drivers=""
_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="$_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 \
-Dprefix="$pkgdir"/usr "$builddir"/build
ninja -C "$builddir"/build
}
package() {
cd "$builddir"
ninja -C "$builddir"/build install
}
egl() {
pkgdesc="Mesa libEGL runtime libraries"
replaces="$pkgname"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/
}
gl() {
pkgdesc="Mesa libGL runtime libraries"
replaces="$pkgname"
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="$pkgname"
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="$pkgname"
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/
shift
ln -s $_dri_driverdir/${1}.so \
"$subpkgdir"/$_dri_driverdir_x11/${1}.so
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-drm_dri
;;
esac
}
sha512sums="3ea07b0364538eac64f10ed9a10f3eb82b7aca1083b096401e114a73371f930535d05d290befeca79c5b9027c34efab0e314a16429837dff4f678ef59f2ffb1c mesa-d6d5b5401ea604dc2e5e5c3ef50d7df2ff4a6f38.tar.gz
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch
02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch
a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch"