# Maintainer: Natanael Copa setvar pkgname = 'mesa' setvar pkgver = '17.1.4' setvar pkgrel = '1' setvar pkgdesc = ""Mesa DRI OpenGL library"" setvar url = ""http://www.mesa3d.org"" setvar arch = ""all"" setvar license = ""LGPL"" setvar depends = '' setvar subpackages = ""$pkgname-dev $pkgname-dri-ati:_dri $pkgname-dri-nouveau:_dri $pkgname-dri-freedreno:_dri $pkgname-dri-swrast:_dri $pkgname-dri-vmwgfx:_dri $pkgname-dri-virtio:_dri $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles $pkgname-xatracker $pkgname-osmesa $pkgname-gbm $pkgname-libwayland-egl:_wayland "" setvar _llvmver = '4' setvar depends_dev = ""libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev libxdamage-dev libxfixes-dev libxcb-dev glproto dri3proto presentproto libxshmfence-dev"" setvar makedepends = ""$depends_dev expat-dev xextproto python2 libxt-dev makedepend talloc-dev py-libxml2 flex bison llvm$_llvmver-dev eudev-dev libvdpau-dev libxvmc-dev gettext zlib-dev wayland-dev libelf-dev py-mako autoconf automake libtool"" setvar source = ""https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz glx_ro_text_segm.patch musl-fixes.patch musl-fix-includes.patch drmdeps.patch "" setvar replaces = ""mesa-dricore"" setvar _dri_driverdir = "/usr/lib/xorg/modules/dri" setvar _dri_drivers = ""r200,radeon,nouveau,swrast"" setvar _gallium_drivers = ""r300,r600,radeonsi,nouveau,freedreno,svga,swrast,virgl"" setvar _vulkan_drivers = ""radeon"" setvar builddir = ""$srcdir/mesa-$pkgver"" setvar _arch_opts = '' case (CARCH) { x86* { setvar _dri_drivers = ""${_dri_drivers},i915,i965"" setvar _vulcan_drivers = ""$_vulcan_drivers,intel"" setvar subpackages = ""$subpackages $pkgname-dri-intel:_dri"" setvar _arch_opts = ""--enable-dri3"" } arm* { setvar _gallium_drivers = ""${_gallium_drivers},vc4"" case (CARCH) { armhf { setvar CFLAGS = ""$CFLAGS -mfpu=neon""} } } } proc prepare { cd $builddir for i in $source { case (i) { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } libtoolize --force \ && aclocal \ && automake --add-missing \ && autoreconf || return 1 } proc 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-vulcan-drivers=${_vulkan_drivers} \ --with-llvm-prefix=/usr/lib/llvm$_llvmver \ --enable-llvm-shared-libs \ --enable-gallium-llvm \ --with-egl-platforms=x11,drm,wayland \ --enable-shared-glapi \ --enable-gbm \ --disable-glx-tls \ --disable-nine \ --enable-dri \ --enable-glx \ --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-texture-float \ --enable-xa \ --enable-vdpau \ $_arch_opts \ || return 1 make || return 1 } proc package { cd $builddir make -j1 DESTDIR="$pkgdir" install || return 1 } proc egl { setvar replaces = ""mesa"" setvar pkgdesc = ""Mesa libEGL runtime libraries"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libEGL.so* \ "$subpkgdir"/usr/lib/ } proc gl { setvar replaces = ""mesa"" setvar pkgdesc = ""Mesa libGL runtime libraries"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGL.so* \ "$subpkgdir"/usr/lib/ } proc glapi { setvar replaces = ""$pkgname-gles"" setvar pkgdesc = ""Mesa shared glapi"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libglapi.so.* \ "$subpkgdir"/usr/lib/ } proc gles { setvar replaces = ""mesa"" setvar pkgdesc = ""Mesa libGLESv2 runtime libraries"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLES*.so* \ "$subpkgdir"/usr/lib/ } proc xatracker { setvar pkgdesc = ""Mesa XA state tracker for vmware"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libxatracker*.so.* \ "$subpkgdir"/usr/lib/ } proc osmesa { setvar pkgdesc = ""Mesa offscreen rendering libraries"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libOSMesa.so.* \ "$subpkgdir"/usr/lib/ } proc gbm { setvar pkgdesc = ""Mesa gbm library"" setvar replaces = ""mesa"" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgbm.so.* \ "$subpkgdir"/usr/lib/ } proc _mv_dri { install -d "$subpkgdir"/$_dri_driverdir while test $Argc -gt 0 { mv "$pkgdir"/$_dri_driverdir/${1}.so \ "$subpkgdir"/$_dri_driverdir/ || return 1 shift } } proc _mv_vdpau { local i install -d "$subpkgdir"/usr/lib/vdpau for i in "$@" { mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \ "$subpkgdir"/usr/lib/vdpau/ || return 1 } } proc _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 } proc _dri { local n=${subpkgname##*-dri-} setvar pkgdesc = ""Mesa DRI driver for $n"" case (n) { 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 } } } proc _wayland { setvar pkgdesc = ""Mesa libwayland-egl library"" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/ \ || return 1 } setvar sha512sums = ""cb8369f0edd3e17b4eee8da159b9dc487f8144d69fe4b95901e9aa6a924759866f26f91fc2ead7036707eecea41582185e7ce73d54f97bf310f198b72ee0a8e4 mesa-17.1.4.tar.xz c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch 163bb96773686a7446f40a8415acef762910afb2f4f2271d429d9cbd9e3048111c8c0023c1f072fa63f33b68b2aea9d066efd9083904265151eeccbe8ccb7227 musl-fixes.patch c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch 1b2edb267d8bf54f68a8d886b838933d3aed91a1a19805ed9235c3e715a1a27847891279aa9a87fa8f799d2b39a18f12072b579e7d0c39fe7901c07b5fa64e8a drmdeps.patch""