diff options
Diffstat (limited to 'user/mesa/APKBUILD')
-rw-r--r-- | user/mesa/APKBUILD | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD new file mode 100644 index 000000000..ceb22c20f --- /dev/null +++ b/user/mesa/APKBUILD @@ -0,0 +1,252 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=mesa +pkgver=17.3.1 +pkgrel=1 +pkgdesc="Mesa DRI OpenGL library" +url="http://www.mesa3d.org" +arch="all" +license="LGPL" +depends= +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-libwayland-egl:_wayland + " +_llvmver=4 +depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto + dri3proto presentproto libxshmfence-dev" +makedepends="$depends_dev expat-dev xextproto libxt-dev makedepend py3-mako + flex bison llvm$_llvmver-dev eudev-dev libvdpau-dev python3 py-libxml2 + libxvmc-dev gettext zlib-dev wayland-dev libelf-dev wayland-protocols + autoconf automake libtool libxxf86vm-dev libx11-dev libxfixes-dev" +source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz + glx_ro_text_segm.patch + musl-fixes.patch + musl-fix-includes.patch + disk_cache-stack-overflow.patch + drmdeps.patch + python3-compat.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" + +builddir="$srcdir/mesa-$pkgver" + +_arch_opts= + +case "$CARCH" in +x86* | pmmx) + _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" + ;; +arm*) + _gallium_drivers="${_gallium_drivers},vc4" + 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 \ + --disable-asm \ + --disable-xvmc \ + --enable-glx-rts \ + --with-gallium-drivers=${_gallium_drivers} \ + --with-dri-drivers=${_dri_drivers} \ + --with-vulkan-drivers=${_vulkan_drivers} \ + --with-llvm-prefix=/usr/lib/llvm$_llvmver \ + --enable-llvm-shared-libs \ + --enable-llvm \ + --with-platforms=x11,drm,wayland \ + --enable-shared-glapi \ + --enable-gbm \ + --disable-glx-tls \ + --disable-nine \ + --enable-dri \ + --enable-dri3 \ + --enable-glx \ + --enable-osmesa \ + --enable-gles1 \ + --enable-gles2 \ + --enable-egl \ + --enable-texture-float \ + --enable-xa \ + --enable-vdpau \ + $_arch_opts + + make +} + +check() { + cd "$builddir" + # Compiler test requires LLVM 3.8 and Python 2 + for i in gtest util mapi; do + make -C "src/$i" check + done +} + +package() { + cd "$builddir" + make -j1 DESTDIR="$pkgdir" install +} + +egl() { + replaces="mesa" + pkgdesc="Mesa libEGL runtime libraries" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libEGL.so* \ + "$subpkgdir"/usr/lib/ +} + +gl() { + replaces="mesa" + pkgdesc="Mesa libGL runtime libraries" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libGL.so* \ + "$subpkgdir"/usr/lib/ +} + +glapi() { + replaces="$pkgname-gles" + pkgdesc="Mesa shared glapi" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libglapi.so.* \ + "$subpkgdir"/usr/lib/ +} + +gles() { + replaces="mesa" + pkgdesc="Mesa libGLESv2 runtime libraries" + 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/ || return 1 + 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/ || return 1 + 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/ || return 1 +# 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 + ;; + intel) + _mv_dri i915_dri i965_dri + ;; + nouveau) + _mv_dri nouveau_dri nouveau_vieux_dri \ + && _mv_vdpau nouveau \ + && _mv_gpipe nouveau + ;; + freedreno) + _mv_dri msm_dri kgsl_dri + ;; + swrast) + _mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast + ;; + vmwgfx) + _mv_dri vmwgfx_dri && _mv_gpipe vmwgfx + ;; + virtio) + _mv_dri virtio_gpu_dri + ;; + esac +} + +_wayland() { + pkgdesc="Mesa libwayland-egl library" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/ \ + || return 1 +} + +sha512sums="a2bd0123bf2df0db03197001a9e001b25f2609f3c6bf1bae66f3bc50c51d2558b5b77e232e81c1658c3a4dec88eda32a8b5a85c1fedc937a7441476228ef8238 mesa-17.3.1.tar.xz +c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch +edb9c221b093117f48fa298ae557f1d6ed9bbf32d7d262ad4ddb51d26ece94e3efac17670784606052b2ebe8d3dc2b221164f6b52f5282eb3318e6377932be04 musl-fixes.patch +c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch +f40ff04ac73c090c74d1955de6013c5aa41fb77f28b2b82d89cfc1880306a9ca1dde4581592db19f0a0ec6d85032f1ed5d953103ab0d075f9f0b7e459a028c45 disk_cache-stack-overflow.patch +6800bc62aebfba22a2562c858c27391b47c5675020bd67f040da93ffe4d5d8ac828907a44c7cee6a4ebe63821b58c2515b4012f1f23473670b1de8670426a430 drmdeps.patch +be91c579111e4ceadf094fcd55fff46ff12c360e2d89c98fac50fbd3bb2459dbd1209d562d27338b94b20bbeae5fca2dd881694bd0da55fca8cdfe253ae384f1 python3-compat.patch" |