# $Id: PKGBUILD 74678 2012-08-01 20:07:21Z lcarlier $ # Contributor: Jan de Groot # Contributor: Andreas Radke pkgbase=lib32-mesa pkgname=('lib32-mesa' 'lib32-libgl' 'lib32-libglapi' 'lib32-libgles' 'lib32-osmesa' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-libgbm') # 'lib32-nouveau-dri' #_git=true _gitdate=20111031 _git=false if [ "${_git}" = "true" ]; then #pkgver=7.10.99.git20110709 pkgver=7.11 else pkgver=8.0.4 fi pkgrel=4 arch=('x86_64') makedepends=('glproto>=1.4.15' 'lib32-libdrm>=2.4.33' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.99.1' 'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.7.1-5' 'dri2proto>=2.6' 'python2' 'libxml2' 'gcc-multilib' 'imake' 'lib32-llvm' 'namcap') url="http://mesa3d.sourceforge.net" license=('custom') source=('mesa-8.0.3-llvm-3.1-fixes.patch') if [ "${_git}" = "true" ]; then # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.11&id=1ae00c5960af83bea9545a18a1754bad83d5cbd0 source=("MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-ef9f16f6322a89fb699fbe3da868b10f9acaef98.tar.bz2") md5sums=('817a63bb60b81f4f817ffc9ed0a3dddd') else source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2") md5sums=('0082f4d17674155aa13bc611a5687788' 'd546f988adfdf986cff45b1efa2d8a46') fi #options=('!buildflags') build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" # for our llvm-config for 32 bit export LLVM_CONFIG=/usr/bin/llvm-config32 # fix segfault with gfx cards > Ati R700 export CFLAGS="${CFLAGS} -O1" export CXXFLAGS="${CXXFLAGS} -O1" cd ${srcdir}/?esa-* patch -Np1 -i "${srcdir}/mesa-8.0.3-llvm-3.1-fixes.patch" autoreconf -vfi if [ "${_git}" = "true" ]; then ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,swrast \ --enable-gallium-llvm \ --disable-gallium-egl --enable-shared-glapi \ --enable-shared-glapi \ --enable-glx-tls \ --enable-dri \ --enable-gles1 \ --enable-gles2 \ --disable-egl \ --enable-texture-float \ --enable-shared-dricore \ --enable-gbm \ --enable-osmesa \ --enable-32-bit \ --libdir=/usr/lib32 # --enable-gallium-svga \ else ./configure --prefix=/usr \ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ --with-gallium-drivers=r300,r600,svga,swrast \ --with-dri-drivers=i915,i965,r200,radeon,swrast \ --enable-gallium-llvm \ --disable-gallium-egl --enable-shared-glapi \ --enable-glx-tls \ --enable-gles1 \ --enable-gles2 \ --disable-egl \ --enable-gbm \ --enable-osmesa \ --enable-texture-float \ --enable-shared-dricore \ --enable-32-bit \ --libdir=/usr/lib32 # --with-gallium-drivers=r300,r600,nouveau,swrast \ # also without --with-dri-driver fi make } package_lib32-libgl() { depends=('lib32-libdrm>=2.4.31' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libglapi' 'libgl') pkgdesc="Mesa 3-D graphics library and DRI software rasterizer (32-bit)" #replaces=('lib32-unichrome-dri' 'lib32-mach64-dri' 'lib32-mga-dri' 'lib32-r128-dri' 'lib32-savage-dri' 'lib32-sis-dri' 'lib32-tdfx-dri') cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib32" install -m755 -d "${pkgdir}/usr/lib32/xorg/modules/extensions" bin/minstall lib32/libGL.so* "${pkgdir}/usr/lib32/" bin/minstall lib32/libdricore.so* "${pkgdir}/usr/lib32/" bin/minstall lib32/libglsl.so* "${pkgdir}/usr/lib32/" make -C ${srcdir}/?esa-*/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install ln -s libglx.xorg "${pkgdir}/usr/lib32/xorg/modules/extensions/libglx.so" rm -rf "${pkgdir}"/usr/{include,share,bin} install -m755 -d "${pkgdir}/usr/share/licenses/libgl" ln -s libgl "$pkgdir/usr/share/licenses/libgl/lib32-libgl" } package_lib32-osmesa() { depends=('lib32-mesa') optdepends=('opengl-man-pages: for the OpenGL API man pages') pkgdesc="Mesa 3D off-screen rendering library (32-bits)" make -C ${srcdir}/?esa-*/src/mesa DESTDIR="${pkgdir}" install-osmesa } package_lib32-libglapi() { depends=('lib32-glibc' 'libglapi') pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions (32-bits)" cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib32" bin/minstall lib32/libglapi.so* "${pkgdir}/usr/lib32/" install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" ln -s libglapi "${pkgdir}/usr/share/licenses/libglapi/lib32-libglapi" } package_lib32-libgbm() { depends=('lib32-glibc') pkgdesc="Mesa gbm library (32-bit)" cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib32" bin/minstall lib32/libgbm.so* "${pkgdir}/usr/lib32/" install -m755 -d "${pkgdir}/usr/lib32/pkgconfig" bin/minstall src/gbm/main/gbm.pc "${pkgdir}/usr/lib32/pkgconfig/" install -m755 -d "${pkgdir}/usr/share/licenses/libgbm" ln -s libgbm "$pkgdir/usr/share/licenses/libgbm/lib32-libgbm" } package_lib32-libgles() { depends=('lib32-libglapi' 'libgles') pkgdesc="Mesa GLES libraries (32-bit)" cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib32" install -m755 -d "${pkgdir}/usr/lib32/pkgconfig" bin/minstall lib32/libGLESv* "${pkgdir}/usr/lib32/" bin/minstall src/mapi/es1api/glesv1_cm.pc "${pkgdir}/usr/lib32/pkgconfig/" bin/minstall src/mapi/es2api/glesv2.pc "${pkgdir}/usr/lib32/pkgconfig/" install -m755 -d "${pkgdir}/usr/share/licenses/libgles" ln -s libgles "$pkgdir/usr/share/licenses/libgles/lib32-libgles" } #package_lib32-libegl() { # depends=('lib32-libglapi' 'lib32-libdrm' 'lib32-udev' 'lib32-libxfixes' 'lib32-libxext' 'libegl') # pkgdesc="Mesa libEGL libraries (32-bit)" # # cd ${srcdir}/?esa-* # make -C src/gallium/targets/egl-static DESTDIR="${pkgdir}" install # # install -m755 -d "${pkgdir}/usr/lib32" # install -m755 -d "${pkgdir}/usr/lib32/pkgconfig" # install -m755 -d "${pkgdir}/usr/lib32/egl" # bin/minstall lib32/libEGL.so* "${pkgdir}/usr/lib32/" # bin/minstall lib32/egl/* "${pkgdir}/usr/lib32/egl/" # bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib32/pkgconfig/" # # install -m755 -d "${pkgdir}/usr/share/licenses/libegl" # ln -s libgles "$pkgdir/usr/share/licenses/libegl/lib32-libegl" #} package_lib32-mesa() { depends=('lib32-libgl' 'lib32-libx11>=1.4.99.1' 'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.6.1' 'mesa') pkgdesc="Mesa 3-D graphics libraries and include files (32-bit)" cd ${srcdir}/?esa-* make DESTDIR="${pkgdir}" install rm -f "${pkgdir}/usr/lib32/libGL.so"* rm -f "${pkgdir}/usr/lib32/libglapi.so"* rm -f "${pkgdir}/usr/lib32/libgbm.so"* rm -f "${pkgdir}/usr/lib32/libGLESv"* rm -f "${pkgdir}/usr/lib32/libEGL"* rm -rf "${pkgdir}/usr/lib32/egl" rm -f "${pkgdir}/usr/lib32/libOSMesa"* rm -f ${pkgdir}/usr/lib32/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc,osmesa.pc,gbm.pc} rm -rf "$pkgdir"/{usr/include,usr/lib32/xorg} install -m755 -d "${pkgdir}/usr/share/licenses/mesa" ln -s mesa "$pkgdir/usr/share/licenses/mesa/lib32-mesa" } package_lib32-ati-dri() { depends=("lib32-libgl=${pkgver}") pkgdesc="Mesa DRI radeon/r200 + Gallium3D for r300 and later chipsets drivers for AMD/ATI Radeon (32-bit)" conflicts=('xf86-video-ati<6.9.0-6') cd ${srcdir}/?esa-*/src/mesa/drivers/dri # classic mesa drivers for radeon,r200 make -C radeon DESTDIR="${pkgdir}" install make -C r200 DESTDIR="${pkgdir}" install # gallium3D driver for R300 and R600 r300_dri.so/r600_dri.so make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install } package_lib32-intel-dri() { depends=("lib32-libgl=${pkgver}") pkgdesc="Mesa DRI drivers for Intel (32-bit)" make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install } package_lib32-nouveau-dri() { depends=("lib32-libgl=${pkgver}") pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau (32-bit)" # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install }