# Maintainer: Egon Ashrafinia # Contributor: Tavian Barnes # Contributor: Jan de Groot # Contributor: Andreas Radke # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Antti "Tera" Oja # Contributor: Diego Jose pkgbase=mesa-git pkgname=('mesa-git') true && pkgname=('mesa-git' 'libgl-git' 'osmesa-git' 'libglapi-git' 'libgles-git' 'libegl-git' 'ati-dri-git' 'intel-dri-git' 'nouveau-dri-git' 'svga-dri-git' 'khrplatform-devel-git' 'libgbm-git') pkgver=20120923 pkgrel=2 _mesaver=8.1 arch=(i686 x86_64) makedepends=('clang' 'git' 'glproto' 'libdrm' 'libxxf86vm' 'libxdamage' 'expat' 'libx11' 'libxt' 'gcc-libs' 'dri2proto' 'python2' 'libxml2' 'imake' 'llvm' 'udev' 'flex' 'bison') url="http://mesa3d.sourceforge.net" license=('custom') source=(LICENSE) md5sums=('5c65a0fe315dd347e09b1f2826a1df5a') _gitroot='git://anongit.freedesktop.org/git/mesa/mesa' _gitname='mesa' build() { msg 'Connecting to git.freedesktop.org GIT server....' if [ -d ${_gitname} ] ; then cd ${_gitname} && git pull origin else git clone ${_gitroot} --depth 1 fi msg 'GIT checkout done or server timeout' msg 'Starting make...' cd "${srcdir}" # Cleanup and prepare the build dir [ -d build ] && rm -rf build cp -r ${_gitname} build cd build ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,svga,swrast \ --with-clang-libdir=/usr/lib \ --enable-gallium-llvm \ --enable-gallium-egl \ --enable-glx-tls \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-dri \ --enable-glx \ --enable-xa \ --enable-osmesa \ --enable-gbm \ --enable-opencl \ --enable-texture-float echo -e "\ninstall: " >> src/mesa/drivers/osmesa/Makefile make } package_libgl-git() { depends=('libdrm' 'libxxf86vm' 'libxdamage' 'expat' 'libglapi-git' 'gcc-libs') conflicts=('libgl') provides=("libgl=${_mesaver}") pkgdesc="Mesa 3-D graphics library and DRI software rasterizer" cd "${srcdir}"/build install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions" bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" bin/minstall lib/libdricore* "${pkgdir}/usr/lib/" cd src/mesa/drivers/dri #make -C swrast DESTDIR="${pkgdir}" install make -C "${srcdir}"/build/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install #ln -s swrastg_dri.so "${pkgdir}/usr/lib/xorg/modules/dri/swrast_dri.so" ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" install -m755 -d "${pkgdir}/usr/share/licenses/libgl-git" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl-git/" } package_osmesa-git() { depends=('mesa-git') conflicts=('osmesa') provides=("osmesa=${_mesaver}") optdepends=('opengl-man-pages: for the OpenGL API man pages') pkgdesc="Mesa 3D off-screen rendering library" cd "${srcdir}"/build install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/pkgconfig/" bin/minstall lib/libOSMesa.so* "${pkgdir}/usr/lib/" bin/minstall src/mesa/drivers/osmesa/osmesa.pc "${pkgdir}/usr/lib/pkgconfig/" install -m755 -d "${pkgdir}/usr/share/licenses/osmesa-git" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/osmesa-git/" } package_libglapi-git() { depends=('glibc') conflicts=('libglapi') provides=("libglapi=${_mesaver}") pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions" cd "${srcdir}"/build install -m755 -d "${pkgdir}/usr/lib" bin/minstall lib/libglapi.so* "${pkgdir}/usr/lib/" install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libglapi/" } package_libgles-git() { depends=('libglapi-git' 'khrplatform-devel-git') conflicts=('libgles') provides=("libgles=${_mesaver}") pkgdesc="Mesa GLES libraries and headers" cd "${srcdir}"/build install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/pkgconfig" install -m755 -d "${pkgdir}/usr/include" install -m755 -d "${pkgdir}/usr/include/GLES" install -m755 -d "${pkgdir}/usr/include/GLES2" bin/minstall lib/libGLESv* "${pkgdir}/usr/lib/" bin/minstall src/mapi/es1api/glesv1_cm.pc "${pkgdir}/usr/lib/pkgconfig/" bin/minstall src/mapi/es2api/glesv2.pc "${pkgdir}/usr/lib/pkgconfig/" bin/minstall include/GLES/* "${pkgdir}/usr/include/GLES/" bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/" install -m755 -d "${pkgdir}/usr/share/licenses/libgles-git" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgles-git/" } package_libegl-git() { depends=('libglapi-git' 'libdrm' 'libxext' 'libxfixes' 'udev' 'khrplatform-devel-git') conflicts=('libegl') provides=("libegl=${_mesaver}") pkgdesc="Mesa libEGL libraries and headers" cd "${srcdir}"/build make -C src/gallium/targets/egl-static DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/pkgconfig" install -m755 -d "${pkgdir}/usr/include" install -m755 -d "${pkgdir}/usr/include/" install -m755 -d "${pkgdir}/usr/include/EGL" install -m755 -d "${pkgdir}/usr/share" install -m755 -d "${pkgdir}/usr/share/doc" install -m755 -d "${pkgdir}/usr/share/doc/libegl" bin/minstall lib/libEGL.so* "${pkgdir}/usr/lib/" install -m755 -d "${pkgdir}/usr/lib/egl" bin/minstall lib/egl/* "${pkgdir}/usr/lib/egl/" bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib/pkgconfig/" bin/minstall include/EGL/* "${pkgdir}/usr/include/EGL/" bin/minstall docs/egl.html "${pkgdir}/usr/share/doc/libegl/" install -m755 -d "${pkgdir}/usr/share/licenses/libegl-git" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libegl-git/" } package_ati-dri-git() { depends=('libgl-git') conflicts=('ati-dri' 'xf86-video-ati<6.9.0-6') provides=("ati-dri=${_mesaver}") pkgdesc="Mesa DRI + Gallium3D r300 drivers for AMD/ATI Radeon" # Fix libtool relink issue install -m755 -d "${pkgdir}/usr/lib" cp ${srcdir}/build/lib/libdricore* ${pkgdir}/usr/lib/ make -C ${srcdir}/build/src/mesa/drivers/dri/radeon DESTDIR="${pkgdir}" install make -C ${srcdir}/build/src/mesa/drivers/dri/r200 DESTDIR="${pkgdir}" install # classic mesa driver for R300 r300_dri.so # gallium3D driver for R300 r300_dri.so make -C "${srcdir}"/build/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install make -C "${srcdir}"/build/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install # Remove libdricore rm ${pkgdir}/usr/lib/libdricore* } package_intel-dri-git() { depends=('libgl-git') conflicts=('intel-dri') provides=("intel-dri=${_mesaver}") pkgdesc="Mesa DRI drivers for Intel" # Fix libtool relink issue install -m755 -d "${pkgdir}/usr/lib" cp ${srcdir}/build/lib/libdricore* ${pkgdir}/usr/lib/ make -C ${srcdir}/build/src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install make -C ${srcdir}/build/src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install # Remove libdricore rm ${pkgdir}/usr/lib/libdricore* } package_nouveau-dri-git() { depends=('libgl-git') conflicts=('nouveau-dri') provides=("nouveau-dri=${_mesaver}") pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau" # Fix libtool relink issue install -m755 -d "${pkgdir}/usr/lib" cp ${srcdir}/build/lib/libdricore* ${pkgdir}/usr/lib/ # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so make -C ${srcdir}/build/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so make -C ${srcdir}/build/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install # Remove libdricore rm ${pkgdir}/usr/lib/libdricore* } package_svga-dri-git() { depends=("mesa-git") conflicts=('svga-dri') provides=("svga-dri=${_mesaver}") pkgdesc="Gallium3D VMware guest GL driver" make -C ${srcdir}/build/src/gallium/targets/dri-vmwgfx DESTDIR="${pkgdir}" install } package_mesa-git() { depends=('libgl-git' 'libx11' 'libxt' 'gcc-libs' 'dri2proto' 'glproto') optdepends=('opengl-man-pages: for the OpenGL API man pages') conflicts=('mesa') provides=("mesa=${_mesaver}") pkgdesc="Mesa 3-D graphics libraries and include files" cd "${srcdir}"/build make DESTDIR="${pkgdir}" install rm -f "${pkgdir}/usr/lib/libGL.so"* rm -f "${pkgdir}/usr/lib/libglapi.so"* rm -f "${pkgdir}/usr/lib/libgbm.so"* rm -f "${pkgdir}/usr/lib/libGLESv"* rm -f "${pkgdir}/usr/lib/libEGL"* rm -f "${pkgdir}/usr/lib/libOSMesa.so"* rm -f "${pkgdir}/usr/lib/libdricore8.1.0.so"* rm -rf "${pkgdir}/usr/lib/egl" rm -f ${pkgdir}/usr/lib/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc,osmesa.pc,gbm.pc} rm -rf "${pkgdir}/usr/lib/xorg" rm -f "${pkgdir}/usr/include/GL/glew.h" rm -f "${pkgdir}/usr/include/GL/glxew.h" rm -f "${pkgdir}/usr/include/GL/wglew.h" rm -f "${pkgdir}/usr/include/GL/glut.h" rm -rf ${pkgdir}/usr/include/{GLES,GLES2,EGL,KHR} rm -f "${pkgdir}/usr/lib/libdricore9"* install -m755 -d "${pkgdir}/usr/share/licenses/mesa-git" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-git/" } package_khrplatform-devel-git() { conflicts=('khrplatform-devel') provides=("khrplatform-devel=${_mesaver}") pkgdesc="Khronos platform development package" cd ${srcdir}/build install -m755 -d "${pkgdir}/usr/include/KHR" bin/minstall include/KHR/khrplatform.h "${pkgdir}/usr/include/KHR/" install -m755 -d "${pkgdir}/usr/share/licenses/khrplatform-devel" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/khrplatform-devel/" } package_libgbm-git() { conflicts=('libgbm') provides=("libgbm=${_mesaver}") depends=('glibc') pkgdesc="Mesa gbm library" cd ${srcdir}/build install -m755 -d "${pkgdir}/usr/lib" bin/minstall lib/libgbm.so* "${pkgdir}/usr/lib/" install -m755 -d "${pkgdir}/usr/lib/pkgconfig" bin/minstall src/gbm/main/gbm.pc "${pkgdir}/usr/lib/pkgconfig/" install -m755 -d "${pkgdir}/usr/share/licenses/libgbm" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgbm/" }