pmaports/temp/mesa/APKBUILD
Clayton Craft e274604193
temp/mesa: Build tag and include mesa-xatracker (!261)
This updates the PKGBUILD to build tags instead of the release branch
(which will see commits until the specific release is EOL),

This commit also adds building the mesa-xatracker package.

[ci:skip-build]: already built successfully in CI
2019-03-08 07:54:47 +01:00

259 lines
5.5 KiB
Text

# Forked from Alpine, so we can upgrade the version and build etnaviv and tegra
pkgname=mesa
pkgver=9999
_pkgver=19.0.0-rc7
pkgrel=1
pkgdesc="[${_pkgver}] Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
arch="all"
license="MIT SGI-B-2.0 BSL-1.0"
subpackages="
$pkgname-dev
$pkgname-dri-swrast:_dri
$pkgname-dri-nouveau:_dri
$pkgname-dri-freedreno:_dri
$pkgname-dri-virtio:_dri
$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
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://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${_pkgver}/mesa-mesa-${_pkgver}.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="nouveau"
_gallium_drivers="swrast,freedreno,virgl,nouveau"
case "$CARCH" in
x86*)
_dri_drivers="${_dri_drivers},i915,i965"
_gallium_drivers="${_gallium_drivers},svga"
subpackages="$subpackages \
$pkgname-dri-intel:_dri \
$pkgname-dri-vmwgfx:_dri"
;;
armhf|aarch64)
_gallium_drivers="${_gallium_drivers},vc4,kmsro,etnaviv,tegra"
subpackages="$subpackages $pkgname-dri-vc4:_dri
$pkgname-dri-etnaviv:_dri
$pkgname-dri-imx:_dri
$pkgname-dri-tegra:_dri"
;;
esac
builddir="$srcdir/mesa-mesa-${_pkgver}"
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= \
-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="[${_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
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="[${_pkgver}] Mesa DRI driver for $n"
case $n in
intel)
_mv_dri i915_dri i965_dri
;;
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
;;
swrast)
_mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast
;;
etnaviv)
_mv_dri etnaviv_dri
;;
imx)
_mv_dri imx-drm_dri
;;
tegra)
_mv_dri tegra_dri
;;
nouveau)
_mv_dri nouveau_dri nouveau_vieux_dri \
&& _mv_vdpau nouveau \
&& _mv_gpipe nouveau \
&& _mv_va nouveau
;;
esac
}
sha512sums="27b2d15e03ac0444f576b478501b15654d6400d2769db87491eb3b2224bafcabff5d1d1c1f0165ae31272c2b4d965c6d9230703c29ef81314283a9f59ed6e3c6 mesa-mesa-19.0.0-rc7.tar.gz
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch
02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch
a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch"