1b7d2781c5
This new mesa package isn't built for armhf yet in Alpine, but the previous one breaks plasma mobile right now.
271 lines
6.5 KiB
Text
271 lines
6.5 KiB
Text
# Copied from Alpine because their build-edge-armhf is stuck
|
|
pkgname=mesa
|
|
pkgver=18.0.2
|
|
pkgrel=1
|
|
pkgdesc="Mesa DRI OpenGL library"
|
|
url="http://www.mesa3d.org"
|
|
arch="all"
|
|
license="MIT SGI-B-2.0 BSL-1.0"
|
|
subpackages="$pkgname-dev
|
|
$pkgname-dri-ati:_dri
|
|
$pkgname-dri-nouveau:_dri
|
|
$pkgname-dri-freedreno:_dri
|
|
$pkgname-dri-swrast:_dri
|
|
$pkgname-dri-virtio:_dri
|
|
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
|
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
|
|
$pkgname-vulkan-ati:_vulkan
|
|
"
|
|
_llvmver=5
|
|
depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto
|
|
dri3proto presentproto libxshmfence-dev"
|
|
makedepends="$depends_dev expat-dev xextproto python3 libxt-dev makedepend
|
|
talloc-dev py3-libxml2 flex bison llvm$_llvmver-dev eudev-dev libvdpau-dev
|
|
libxvmc-dev gettext zlib-dev libelf-dev py-mako libva-dev
|
|
autoconf automake libtool libxxf86vm-dev libx11-dev libxfixes-dev
|
|
wayland-dev wayland-protocols"
|
|
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz
|
|
glx_ro_text_segm.patch
|
|
musl-fix-includes.patch
|
|
drmdeps.patch
|
|
"
|
|
replaces="mesa-dricore"
|
|
|
|
_dri_driverdir=/usr/lib/xorg/modules/dri
|
|
_dri_drivers="r200,radeon,nouveau,swrast"
|
|
_gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
|
|
_vulkan_drivers="radeon"
|
|
|
|
_arch_opts=
|
|
|
|
case "$CARCH" in
|
|
x86*)
|
|
_dri_drivers="${_dri_drivers},i915,i965"
|
|
_gallium_drivers="${_gallium_drivers},svga"
|
|
_vulkan_drivers="$_vulkan_drivers,intel"
|
|
subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri $pkgname-vulkan-intel:_vulkan"
|
|
_arch_opts="--enable-dri3"
|
|
case "$CARCH" in
|
|
x86) _arch_opts="$_arch_opts --enable-glx-rts --disable-asm";;
|
|
esac
|
|
;;
|
|
armhf|aarch64)
|
|
_gallium_drivers="${_gallium_drivers},vc4"
|
|
subpackages="$subpackages $pkgname-dri-vc4:_dri"
|
|
case "$CARCH" in
|
|
armhf) CFLAGS="$CFLAGS -mfpu=neon";;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
prepare() {
|
|
cd "$builddir"
|
|
default_prepare
|
|
libtoolize --force \
|
|
&& aclocal \
|
|
&& automake --add-missing \
|
|
&& autoreconf
|
|
}
|
|
|
|
build() {
|
|
cd "$builddir"
|
|
|
|
export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
|
|
./configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--with-dri-driverdir=$_dri_driverdir \
|
|
--with-gallium-drivers=${_gallium_drivers} \
|
|
--with-dri-drivers=${_dri_drivers} \
|
|
--with-vulkan-drivers=${_vulkan_drivers} \
|
|
--with-llvm-prefix=/usr/lib/llvm$_llvmver \
|
|
--with-platforms=x11,drm,wayland \
|
|
--enable-llvm \
|
|
--enable-llvm-shared-libs \
|
|
--enable-shared-glapi \
|
|
--enable-gbm \
|
|
--enable-dri \
|
|
--enable-glx \
|
|
--enable-gallium-osmesa \
|
|
--enable-gles1 \
|
|
--enable-gles2 \
|
|
--enable-egl \
|
|
--enable-texture-float \
|
|
--enable-xa \
|
|
--enable-vdpau \
|
|
--enable-va \
|
|
--disable-xvmc \
|
|
--disable-glx-tls \
|
|
--disable-nine \
|
|
$_arch_opts
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
# provided by wayland
|
|
rm -v "$pkgdir"/usr/lib/libwayland-egl.so*
|
|
rm -v "$pkgdir"/usr/lib/pkgconfig/wayland-egl.pc
|
|
}
|
|
|
|
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/
|
|
}
|
|
|
|
xatracker() {
|
|
pkgdesc="Mesa XA state tracker for vmware"
|
|
|
|
install -d "$subpkgdir"/usr/lib
|
|
mv "$pkgdir"/usr/lib/libxatracker*.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_vulkan() {
|
|
local i
|
|
install -d "$subpkgdir"/usr/lib
|
|
install -d "$subpkgdir"/usr/share/vulkan/icd.d
|
|
for i in "$@"; do
|
|
mv "$pkgdir"/usr/lib/libvulkan_${i}.so "$subpkgdir"/usr/lib/
|
|
mv "$pkgdir"/usr/share/vulkan/icd.d/${i}* "$subpkgdir"/usr/share/vulkan/icd.d/
|
|
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
|
|
ati)
|
|
_mv_dri radeon_dri r200_dri r300_dri r600_dri radeonsi_dri \
|
|
&& _mv_vdpau r300 r600 radeonsi \
|
|
&& _mv_gpipe r300 r600 \
|
|
&& _mv_va r600 radeonsi
|
|
;;
|
|
intel)
|
|
_mv_dri i915_dri i965_dri
|
|
;;
|
|
nouveau)
|
|
_mv_dri nouveau_dri nouveau_vieux_dri \
|
|
&& _mv_vdpau nouveau \
|
|
&& _mv_gpipe nouveau \
|
|
&& _mv_va nouveau
|
|
;;
|
|
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
|
|
;;
|
|
esac
|
|
}
|
|
|
|
_vulkan() {
|
|
local n=${subpkgname##*-vulkan-}
|
|
pkgdesc="Mesa Vulkan API driver for $n"
|
|
|
|
case $n in
|
|
ati)
|
|
_mv_vulkan radeon ;;
|
|
intel)
|
|
_mv_vulkan intel ;;
|
|
esac
|
|
}
|
|
sha512sums="77d24d01c4c22596d28421aeb74932ff232730a4f556ae1a2e8777ece2876e4e352679575385c065505df4a2a83d2c1cf30db92dcf88038417e36a2768332d7e mesa-18.0.2.tar.xz
|
|
c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch
|
|
910dd69c29b9b51b3b66e975baefbd8a6458500ef3164837036a4ac923c33254d558d678a100025ba2a69fd1111aa6b3ec83f332a66cae4207431e5e1c8ec567 musl-fix-includes.patch
|
|
3409483217dbec732286e628e268e1e8cd392b7e8efb13c7651b38e6563aa5a4988279efb029096dcd092ebe7a92eece103014ed420d2b242eab8d0237f056fd drmdeps.patch"
|