1fb005eec4
Fix the regression from the mesa refactoring and from switching to armv7 in hammerhead. [ci:skip-build]: already built successfully in CI for x86_64; I've tested manually that it builds for armv7.
277 lines
6.3 KiB
Text
277 lines
6.3 KiB
Text
# Forked from Alpine, so we can upgrade the version and build etnaviv and tegra
|
|
# ---
|
|
# Remember to increase pkgrel after changing _pkgver!
|
|
# ---
|
|
pkgname=mesa
|
|
pkgver=9999
|
|
_pkgver=19.1.0-rc1
|
|
pkgrel=5
|
|
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() {
|
|
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="[${_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 st7735r sun4i-drm_dri
|
|
;;
|
|
lima)
|
|
_mv_dri lima_dri
|
|
;;
|
|
esac
|
|
}
|
|
|
|
sha512sums="24502a417d5a3c9c3687123882a64abcaea482ada5efaf69f610a623d2d4b05b0701bd4c1d2993ae40a2a2fd7b954ba0be7a2e54b9e751ec70ebb3e75c153f21 mesa-mesa-19.1.0-rc1.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"
|