diff --git a/main/mesa-grate/APKBUILD b/main/mesa-grate/APKBUILD new file mode 100644 index 000000000..177518f56 --- /dev/null +++ b/main/mesa-grate/APKBUILD @@ -0,0 +1,301 @@ +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"