302 lines
6.4 KiB
Text
302 lines
6.4 KiB
Text
|
pkgname=mesa
|
||
|
pkgver=18.1.7
|
||
|
pkgrel=0
|
||
|
pkgdesc="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-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
|
||
|
libxext-dev
|
||
|
libxdamage-dev
|
||
|
libxcb-dev
|
||
|
libxshmfence-dev
|
||
|
"
|
||
|
makedepends="
|
||
|
$depends_dev
|
||
|
autoconf
|
||
|
automake
|
||
|
bison
|
||
|
eudev-dev
|
||
|
expat-dev
|
||
|
flex
|
||
|
gettext
|
||
|
libelf-dev
|
||
|
libtool
|
||
|
libxfixes-dev
|
||
|
libva-dev
|
||
|
libvdpau-dev
|
||
|
libx11-dev
|
||
|
libxxf86vm-dev
|
||
|
libxt-dev
|
||
|
libxvmc-dev
|
||
|
llvm$_llvmver-dev
|
||
|
makedepend
|
||
|
py-mako
|
||
|
py3-libxml2
|
||
|
python3
|
||
|
talloc-dev
|
||
|
wayland-dev
|
||
|
wayland-protocols
|
||
|
xorgproto
|
||
|
zlib-dev
|
||
|
"
|
||
|
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"
|
||
|
;;
|
||
|
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="697c4f441ae52bc867d9d73b103094a29102168c248a502c4ea0fc48f51bcb86b2e741da39e882f24131326d460cdb1416415604c6994d1b8c09fb8a153a5c77 mesa-18.1.7.tar.xz
|
||
|
8a434ffefdc6ce924d613727a8649b9a77ad9f0ed0674c9cfb8f6ff0fec483f9318e681254535b62c957db1d0432f96427f917e2f139f4c65ef761bffb528255 glx_ro_text_segm.patch
|
||
|
2c9cb0fa890d29e4140d956ee52a74b4522e29e44fadfc2dd144e581c2701a1d8842ab5c8ff0b68e14b2242e2812a9d4ac0aed1c3314a2143333bc37f2323b58 musl-fix-includes.patch
|
||
|
3409483217dbec732286e628e268e1e8cd392b7e8efb13c7651b38e6563aa5a4988279efb029096dcd092ebe7a92eece103014ed420d2b242eab8d0237f056fd drmdeps.patch"
|