# Maintainer: Natanael Copa pkgname=mesa pkgver=9.0.3 pkgrel=1 pkgdesc="Mesa DRI OpenGL library" url="http://www.mesa3d.org" arch="all" license="LGPL" depends= subpackages="$pkgname-dev $pkgname-dri-ati:ati $pkgname-dri-intel:intel $pkgname-dri-nouveau:nouveau $pkgname-dri-swrast:swrast $pkgname-dri-vmwgfx:vmwgfx $pkgname-dricore $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles $pkgname-xatracker $pkgname-osmesa $pkgname-gbm " depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev libxdamage-dev libxfixes-dev libxcb-dev glproto" makedepends="$depends_dev expat-dev xextproto python libxt-dev makedepend talloc-dev py-libxml2 flex bison llvm-dev udev-dev libvdpau-dev libxvmc-dev autoconf automake libtool" source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2 glx_ro_text_segm.patch ccache.patch uclibc-debug.patch " _dri_driverdir=/usr/lib/xorg/modules/dri _builddir="$srcdir/Mesa-$pkgver" case "$CHOST" in x86_64-*) _intel_dri="i915_dri i965_dri" ;; i[3456789]86-*) _intel_dri="i915_dri i965_dri" ;; esac prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done libtoolize --force \ && aclocal \ && automake --add-missing \ && autoreconf || return 1 } build() { cd "$_builddir" export LDFLAGS="$LDFLAGS -Wl,-z,lazy" ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-dri-driverdir=$_dri_driverdir \ --disable-asm \ --enable-pic \ --enable-glx-rts \ --with-gallium-drivers=r300,r600,svga,swrast,nouveau \ --with-dri-drivers=i915,i965,r200,radeon,swrast,nouveau \ --enable-gallium-llvm \ --enable-gallium-egl \ --with-egl-platforms=x11,drm \ --enable-shared-glapi \ --enable-gbm \ --enable-glx-tls \ --enable-dri \ --enable-glx \ --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-texture-float \ --enable-xa \ --enable-vdpau \ || return 1 make || return 1 # check so we dont have any bind NOW scanelf -Rb . | grep NOW && return 1 return 0 } package() { cd "$_builddir" make -j1 DESTDIR="$pkgdir" install || return 1 find "$pkgdir" -name '*.la' -delete } dricore() { pkgdesc="Mesa dricore runtime libraries" install -d "$subpkgdir"/usr/lib "$subpkgdir"/etc mv "$pkgdir"/usr/lib/libdricore*.so.* \ "$subpkgdir"/usr/lib/ mv "$pkgdir"/etc/drirc "$subpkgdir"/etc/drirc } egl() { replaces="mesa" pkgdesc="Mesa libEGL runtime libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libEGL.so* \ "$pkgdir"/usr/lib/egl \ "$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.* \ "$pkgdir"/usr/lib/gbm \ "$subpkgdir"/usr/lib/ } _mv_dri() { pkgdesc="Mesa DRI driver for $@" 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 } ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri \ && _mv_vdpau r300 r600 softpipe; } intel() { _mv_dri i915_dri i965_dri; } nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri && _mv_vdpau nouveau; } swrast() { _mv_dri swrast_dri; } vmwgfx() { _mv_dri vmwgfx_dri; } md5sums="d7515cc5116c72ac63d735655bd63689 MesaLib-9.0.3.tar.bz2 a1a766b4c6a96d67cad9bd7ad5c578e8 glx_ro_text_segm.patch 1f30bf8340114b455f005cc9b134c414 ccache.patch cff511b3d459189751c841b8f99e7112 uclibc-debug.patch" sha256sums="ea940005b2c379f83527b5ba6d7fb69c533c2c17b561dc3b8469237ac75606a5 MesaLib-9.0.3.tar.bz2 004f52adefaeccfd4553e0b1d09ad769891d69d05880094c7a45d19623e674a6 glx_ro_text_segm.patch aa756ba2da1a27829f784ac86e0c95a90aa139b232e0e59b5a981070cdf14a63 ccache.patch 8caa309f38190005e37fa833dba34463ee03b775210742004888db1d2b19184d uclibc-debug.patch" sha512sums="2685706670356ca82c36a9fc30bfdabe9429e37ba670ece4a44634222430f828dfd5f15b116d78e3a9a6c432cf6ee3cf3a44bd132f896b81cc0bf1e1076dfdc5 MesaLib-9.0.3.tar.bz2 c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch 3d7e1152d033873fb953fe09b7cab0980f355924ac17e2f857b070907142489709bc55af63361d8036bf8e84526a589f05a0a29af2c72760b6f99ba957ac6c7f ccache.patch 72da0c43a5ae8c9fcd4a14df6c565d015a5f2f6422688e4b9b63c9b7e438e37219b94172952fc5664dd72a862e47e1893967df5820835b1f37547808087affb7 uclibc-debug.patch"