# Maintainer: Natanael Copa pkgname=mesa pkgver=7.11.2 pkgrel=0 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-mach64:mach64 $pkgname-dri-mga:mga $pkgname-dri-r128:r128 $pkgname-dri-savage:savage $pkgname-dri-swrast:swrast $pkgname-dri-tdfx:tdfx $pkgname-dri-unichrome:unichrome $pkgname-dri-nouveau:nouveau $pkgname-dri-vmwgfx:vmwgfx $pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles " 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" source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2 mesa-7.10-uclibc.patch mesa-7.10-uclibc-glsl.patch mesa-7.10-uclibc-gallium.patch " # Mesa-7.10.1-nouveau-compile.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="i810_dri i915_dri i965_dri" subpackages="$subpackages $pkgname-dri-sis:sis" ;; esac prepare() { cd "$_builddir" for i in ../*.patch; do msg "Applying $i..." patch -p1 -i $i || return 1 done } dev() { default_dev; depends="$depends_dev mesa mesa-egl mesa-gl mesa-glu mesa-gles" } build() { cd "$_builddir" export LDFLAGS="$LDFLAGS -Wl,-z,lazy" ./configure --prefix=/usr \ --with-dri-driverdir=$_dri_driverdir \ --disable-asm \ --disable-glx-tls \ --with-driver=dri \ --enable-xcb \ --enable-egl \ --enable-gles2 \ --with-gallium-drivers=i915,i965,nouveau,r300,r600,svga,swrast \ --disable-gallium-egl \ --disable-glut \ --disable-glw || 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 } 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/ } glu() { replaces="mesa" pkgdesc="Mesa libGLU runtime libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLU.so* "$subpkgdir"/usr/lib/ } gles() { replaces="mesa" pkgdesc="Mesa libGLESv2 runtime libraries" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libGLESv2.so* \ "$pkgdir"/usr/lib/libglapi.so.* \ "$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 } ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri; } intel() { _mv_dri $_intel_dri; } mach64() { _mv_dri mach64_dri; } mga() { _mv_dri mga_dri; } r128() { _mv_dri r128_dri; } savage() { _mv_dri savage_dri; } sis() { _mv_dri sis_dri; } tdfx() { _mv_dri tdfx_dri; } unichrome() { _mv_dri unichrome_dri; } nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri; } swrast() { _mv_dri swrast_dri swrastg_dri; } vmwgfx() { _mv_dri vmwgfx_dri; } md5sums="0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2 9c8c161f954f0d08895cd9d45e63f498 mesa-7.10-uclibc.patch 03e9685b0d714e915c35fd0fb5fde810 mesa-7.10-uclibc-glsl.patch 90a2ea438ff328443a0436a91a74d518 mesa-7.10-uclibc-gallium.patch"