# # Platform Packages for Chakra, part of chakra-project.org # # maintainer abveritas@chakra-project.org pkgbase=mesa pkgname=('mesa' 'libgl' 'libglapi') pkgver=9.0.1 pkgrel=1 arch=('x86_64') makedepends=('glproto>=1.4.14' 'libdrm>=2.4.38' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm' 'systemd' 'libvdpau') url="http://mesa3d.sourceforge.net" license=('custom') source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" 'LICENSE' 'llvm32.patch') md5sums=('97d6554c05ea7449398afe3a0ede7018' '5c65a0fe315dd347e09b1f2826a1df5a' '10752f954215ca73e632627e5c14fa65') build() { cd ${srcdir}/?esa-* patch -p1 -i ${srcdir}/llvm32.patch autoreconf -vfi ./configure --prefix=/usr \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,svga,swrast \ --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ --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 # fix a build break with new llvm sed -i "s:-Werror=implicit-function-declaration::" src/gallium/drivers/r600/Makefile make } package_libgl() { depends=('libdrm>=2.4.30' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs') pkgdesc="Mesa 3-D graphics library and DRI software rasterizer" replaces=('unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri') # linking because of split package make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" install # libGL & libdricore make -C ${srcdir}/?esa-*/src/glx DESTDIR="${pkgdir}" install make -C ${srcdir}/?esa-*/src/mesa/libdricore DESTDIR="${pkgdir}" install # remove conflicting files make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall make -C ${srcdir}/?esa-*/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions" ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" install -m755 -d "${pkgdir}/usr/share/licenses/libgl" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" } package_libglapi() { depends=('glibc') pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions" make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libglapi/" } package_mesa() { depends=('libglapi' 'libgl' 'libx11' 'libxt' 'gcc-libs' 'dri2proto' 'glproto' 'glu') #dri2proto + glproto needed for gl.pc optdepends=('opengl-man-pages: for the OpenGL API man pages') pkgdesc="Mesa 3-D graphics libraries and include files" provides=('libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'svga-dri' 'nouveau-dri') conflicts=('libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'svga-dri' 'nouveau-dri') replaces=('libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'svga-dri' 'nouveau-dri') cd ${srcdir}/?esa-* make DESTDIR="${pkgdir}" install rm -f "${pkgdir}/usr/lib/libGL.so"* rm -f "${pkgdir}/usr/lib/libGL.la" rm -f "${pkgdir}/usr/lib/libglapi.so"* rm -f "${pkgdir}/usr/lib/xorg/modules/dri/swrast_dri.so"* make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall make -C ${srcdir}/?esa-*/src/mesa/libdricore DESTDIR="${pkgdir}" uninstall install -m755 -d "${pkgdir}/usr/share/licenses/mesa" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" }