acf5e6d394
libelf-dev has been removed in the upstream repos. [ci:skip-build]: already built successfully in CI
341 lines
8.8 KiB
Text
341 lines
8.8 KiB
Text
# Maintainer: Robert Yang <decatf@gmail.com>
|
|
pkgname=mesa-grate
|
|
pkgver=18.1.0
|
|
pkgrel=3
|
|
pkgdesc="Mesa DRI OpenGL library"
|
|
url="https://www.mesa3d.org"
|
|
arch="armhf armv7"
|
|
license="MIT SGI-B-2.0 BSL-1.0"
|
|
subpackages="
|
|
$pkgname-dev
|
|
$pkgname-dri-swrast:_dri
|
|
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
|
$pkgname-osmesa $pkgname-gbm
|
|
"
|
|
_llvmver=5
|
|
depends="ldpath libdrm-grate"
|
|
depends_dev="
|
|
libdrm-grate-dev
|
|
libxext-dev
|
|
libxdamage-dev
|
|
libxcb-dev
|
|
libxshmfence-dev
|
|
"
|
|
makedepends="
|
|
$depends_dev
|
|
bison
|
|
eudev-dev
|
|
expat-dev
|
|
flex
|
|
elfutils-libelf
|
|
libtool
|
|
libxfixes-dev
|
|
libva-dev
|
|
libvdpau-dev
|
|
libx11-dev
|
|
libxxf86vm-dev
|
|
libxt-dev
|
|
libxvmc-dev
|
|
meson
|
|
py2-mako
|
|
python2
|
|
talloc-dev
|
|
wayland-dev
|
|
wayland-protocols
|
|
xorgproto
|
|
zlib-dev
|
|
"
|
|
install="$pkgname.post-install $pkgname.pre-deinstall"
|
|
source="
|
|
https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz
|
|
glx_ro_text_segm.patch
|
|
musl-fix-includes.patch
|
|
drmdeps.patch
|
|
0001-Revert-autotools-add-tegra-header-files.patch
|
|
0002-Revert-autotools-Add-tegra-to-AM_DISTCHECK_CONFIGURE.patch
|
|
0003-Revert-drm-uapi-bump-headers.patch
|
|
0004-Revert-tegra-Initial-support.patch
|
|
0005-grate-driver.patch
|
|
0001-meson-Add-glx-tls-option.patch
|
|
0001-meson-correct-gallium-grate-variable.patch
|
|
adjust-cache-deflate-buffer.patch
|
|
"
|
|
replaces="mesa mesa-dricore"
|
|
|
|
_prefix=/usr
|
|
_dri_driverdir=${_prefix}/lib/xorg/modules/dri/grate
|
|
_dri_drivers=""
|
|
_gallium_drivers="swrast"
|
|
_vulkan_drivers=""
|
|
|
|
_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="-Ddri3=true"
|
|
case "$CARCH" in
|
|
x86)
|
|
_arch_opts="$_arch_opts -Dglx-rts=true -Dasm=false";;
|
|
esac
|
|
;;
|
|
armhf|armv7|aarch64)
|
|
_gallium_drivers="${_gallium_drivers},grate"
|
|
subpackages="$subpackages $pkgname-dri-tegra:_dri"
|
|
;;
|
|
esac
|
|
|
|
builddir="$srcdir/mesa-$pkgver"
|
|
|
|
prepare() {
|
|
cd "$builddir"
|
|
default_prepare
|
|
}
|
|
|
|
build() {
|
|
cd "$builddir"
|
|
|
|
export PKG_CONFIG_PATH="/usr/lib/pkgconfig/libdrm-grate:${PKG_CONFIG_PATH}"
|
|
export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
|
|
meson build \
|
|
-Dbuild=$CBUILD \
|
|
-Dhost=$CHOST \
|
|
-Dprefix=$_prefix \
|
|
-Dsysconfdir=/etc \
|
|
-Ddri-drivers-path=${_dri_driverdir} \
|
|
-Ddri-search-path=${_dri_driverdir} \
|
|
-Dgallium-drivers=${_gallium_drivers} \
|
|
-Ddri-drivers=${_dri_drivers} \
|
|
-Dvulkan-drivers=${_vulkan_drivers} \
|
|
-Dplatforms=x11,drm \
|
|
-Dllvm=false \
|
|
-Dshared-glapi=true \
|
|
-Dgbm=true \
|
|
-Ddri=true \
|
|
-Dglx=auto \
|
|
-Dosmesa=gallium \
|
|
-Dgles1=true \
|
|
-Dgles2=true \
|
|
-Degl=true \
|
|
-Dtexture-float=true \
|
|
-Dgallium-xa=false \
|
|
-Dgallium-vdpau=false \
|
|
-Dgallium-va=false \
|
|
-Dgallium-xvmc=false \
|
|
-Dgallium-nine=false \
|
|
-Dglx-tls=false \
|
|
$_arch_opts
|
|
ninja -C build/
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"
|
|
DESTDIR="$pkgdir" ninja -C build/ 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/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
gl() {
|
|
pkgdesc="Mesa libGL runtime libraries"
|
|
replaces="mesa"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libGL.so* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
glapi() {
|
|
pkgdesc="Mesa shared glapi"
|
|
replaces="$pkgname-gles"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libglapi.so.* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
gles() {
|
|
pkgdesc="Mesa libGLESv2 runtime libraries"
|
|
replaces="mesa"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libGLES*.so* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
xatracker() {
|
|
pkgdesc="Mesa XA state tracker for vmware"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libxatracker*.so.* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
osmesa() {
|
|
pkgdesc="Mesa offscreen rendering libraries"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libOSMesa.so.* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
gbm() {
|
|
pkgdesc="Mesa gbm library"
|
|
replaces="mesa"
|
|
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/lib/libgbm.so.* "$subpkgdir"/usr/lib/mesa-grate/
|
|
}
|
|
|
|
_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/mesa-grate/vdpau
|
|
for i in "$@"; do
|
|
mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \
|
|
"$subpkgdir"/usr/lib/mesa-grate/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/mesa-grate/gallium-pipe
|
|
# for i in "$@"; do
|
|
# mv "$pkgdir"/usr/lib/gallium-pipe/pipe_$i.* \
|
|
# "$subpkgdir"/usr/lib/mesa-grate/gallium-pipe/
|
|
# done
|
|
}
|
|
|
|
_mv_vulkan() {
|
|
local i
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/
|
|
install -d "$subpkgdir"/usr/share/mesa-grate/vulkan/icd.d
|
|
for i in "$@"; do
|
|
mv "$pkgdir"/usr/lib/libvulkan_${i}.so "$subpkgdir"/usr/lib/mesa-grate/
|
|
mv "$pkgdir"/usr/share/mesa-grate/vulkan/icd.d/${i}* "$subpkgdir"/usr/share/mesa-grate/vulkan/icd.d/
|
|
done
|
|
}
|
|
|
|
_mv_va() {
|
|
local i
|
|
install -d "$subpkgdir"/usr/lib/mesa-grate/dri
|
|
for i in "$@"; do
|
|
mv "$pkgdir"/usr/lib/dri/${i}_drv_video.so \
|
|
"$subpkgdir"/usr/lib/mesa-grate/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 \
|
|
&& _mv_vdpau r300 r600 \
|
|
&& _mv_gpipe r300 r600 \
|
|
&& _mv_va r600
|
|
;;
|
|
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
|
|
;;
|
|
tegra)
|
|
_mv_dri tegra_dri
|
|
ln -s "${_dri_driverdir}/tegra_dri.so" \
|
|
"${subpkgdir}${_prefix}/lib/xorg/modules/dri/tegra_dri.so"
|
|
;;
|
|
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
|
|
}
|
|
|
|
dev() {
|
|
default_dev
|
|
|
|
cd "$subpkgdir"/usr/lib
|
|
install -d mesa-grate/
|
|
mv lib*.so mesa-grate/
|
|
|
|
install -d pkgconfig/mesa-grate/
|
|
mv pkgconfig/*.pc pkgconfig/mesa-grate
|
|
|
|
# Move headers (to /usr/include/mesa-grate)
|
|
cd "$subpkgdir"/usr
|
|
mv include include_
|
|
mkdir include
|
|
mv include_ include/mesa-grate
|
|
|
|
# Redirect pkgconfig to alternate lib/header directory
|
|
local pc
|
|
cd "$subpkgdir"/usr/lib/pkgconfig/mesa-grate
|
|
for pc in *; do
|
|
sed -i "s./include$./include/mesa-grate.g" $pc
|
|
sed -i "s./lib$./lib/mesa-grate.g" $pc
|
|
done
|
|
}
|
|
|
|
sha512sums="8b26af2df8b94373cbc339521974cd568c1d4ff4204986ee7b439e4cf3ebe14d822ea081a7769b68eca9263b7bc6dbca01836b8bb0d6495d2e2614c4e3d601ad mesa-18.1.0.tar.xz
|
|
8a434ffefdc6ce924d613727a8649b9a77ad9f0ed0674c9cfb8f6ff0fec483f9318e681254535b62c957db1d0432f96427f917e2f139f4c65ef761bffb528255 glx_ro_text_segm.patch
|
|
2c9cb0fa890d29e4140d956ee52a74b4522e29e44fadfc2dd144e581c2701a1d8842ab5c8ff0b68e14b2242e2812a9d4ac0aed1c3314a2143333bc37f2323b58 musl-fix-includes.patch
|
|
3409483217dbec732286e628e268e1e8cd392b7e8efb13c7651b38e6563aa5a4988279efb029096dcd092ebe7a92eece103014ed420d2b242eab8d0237f056fd drmdeps.patch
|
|
d046ef1fec03648349ec321e93dd6f1718d84de6c080216f7158e1c918058307abcc6866af31a2be0aea1afb0d6f5863cf247638cc2ec93c37d885b1b0c1d728 0001-Revert-autotools-add-tegra-header-files.patch
|
|
ba0d498779302e01c36abfcf9eacf187e87063ca4ab4a2ac0fed63c331f765c254cd92a43fd4fde9c5a86235d8a8c766b4bbfe0e240df884522dc99dc4d3625a 0002-Revert-autotools-Add-tegra-to-AM_DISTCHECK_CONFIGURE.patch
|
|
498b9286bffc55e5fae6fa5e1459977c3b3ac1b85202975ae8555c3c551bef634f631ece083dc55e16cd8aac536aa82563760cb53c744cfe63f7b431c538df77 0003-Revert-drm-uapi-bump-headers.patch
|
|
01feb831b3227ff06feebee2a5f5a408a7d3710031853644b72d0dc32dfa139396553972435d1b9f3448f7589de782586f227e2ae8b239a47ddfd1b56d9cd1e9 0004-Revert-tegra-Initial-support.patch
|
|
ecdd537af62ea8e9d4e6361eafbfc09d315b9084af5af48d761e1713500e08ff965fa62f4a52aea9bd6ab98a3179fa7e4c9a31a647cbe503e820f525e33fd4d2 0005-grate-driver.patch
|
|
05e7ce9f69b9fe2d1691b40a7ec93e05de9043a7953bdd7189c5f90b406f4b72e6aaa1aaba3fa7cb53de5c8943bffaaa49df0a354f7e8ba4be725bf6b8da143a 0001-meson-Add-glx-tls-option.patch
|
|
2e1d5fcf239b7f7a8fc5e8f64819079c4b7ad8d2f83c033faffa2226b53bd16fb8db39fa67f9f0e7b81650749306a796e6db75237ad597c56575df9feca12e06 0001-meson-correct-gallium-grate-variable.patch
|
|
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc adjust-cache-deflate-buffer.patch"
|