# Maintainer: Natanael Copa pkgname=mesa pkgver=18.1.1 pkgrel=0 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="7783adc1ec7a1c3d092acfcca6b4ba19450c15a7f0d7f41fbf25e482236615d79ce24afe60959066ea7aa851df4f74fa3c569fa6d847ea79e6bfe046b8c65e90 mesa-18.1.1.tar.xz 8a434ffefdc6ce924d613727a8649b9a77ad9f0ed0674c9cfb8f6ff0fec483f9318e681254535b62c957db1d0432f96427f917e2f139f4c65ef761bffb528255 glx_ro_text_segm.patch 2c9cb0fa890d29e4140d956ee52a74b4522e29e44fadfc2dd144e581c2701a1d8842ab5c8ff0b68e14b2242e2812a9d4ac0aed1c3314a2143333bc37f2323b58 musl-fix-includes.patch 3409483217dbec732286e628e268e1e8cd392b7e8efb13c7651b38e6563aa5a4988279efb029096dcd092ebe7a92eece103014ed420d2b242eab8d0237f056fd drmdeps.patch"