From 483f7de4ab6a706517279a24d2efc969f4a1996d Mon Sep 17 00:00:00 2001 From: root Date: Mon, 28 May 2012 17:43:57 +0000 Subject: Mon May 28 17:43:57 UTC 2012 --- multilib-testing/lib32-mesa/PKGBUILD | 224 +++++++++++++++++++++ .../lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch | 44 ++++ 2 files changed, 268 insertions(+) create mode 100644 multilib-testing/lib32-mesa/PKGBUILD create mode 100644 multilib-testing/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch (limited to 'multilib-testing') diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD new file mode 100644 index 000000000..b8f1886d2 --- /dev/null +++ b/multilib-testing/lib32-mesa/PKGBUILD @@ -0,0 +1,224 @@ +# $Id: PKGBUILD 71515 2012-05-27 22:12:34Z lcarlier $ +# Contributor: Jan de Groot +# Contributor: Andreas Radke + +pkgbase=lib32-mesa +pkgname=('lib32-mesa' 'lib32-libgl' 'lib32-libglapi' 'lib32-libgles' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-libgbm') + +#_git=true +_gitdate=20111031 +_git=false + +if [ "${_git}" = "true" ]; then + #pkgver=7.10.99.git20110709 + pkgver=7.11 + else + pkgver=8.0.3 +fi + +pkgrel=3.1 +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.6.1' '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' + 'cc5ee15e306b8c15da6a478923797171') +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-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,nouveau,swrast \ + --enable-gallium-llvm \ + --disable-gallium-egl --enable-shared-glapi \ + --enable-glx-tls \ + --with-driver=dri \ + --enable-gles1 \ + --enable-gles2 \ + --disable-egl \ + --enable-gbm \ + --enable-texture-float \ + --enable-shared-dricore \ + --enable-32-bit \ + --libdir=/usr/lib32 + 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-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/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.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 +} + diff --git a/multilib-testing/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch b/multilib-testing/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch new file mode 100644 index 000000000..922577aef --- /dev/null +++ b/multilib-testing/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch @@ -0,0 +1,44 @@ +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +index a50a51d..f1bb4d9 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +@@ -235,7 +235,24 @@ lp_disassemble(const void* func) + int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); + #endif + +-#if HAVE_LLVM >= 0x0300 ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr MRI(T->createMCRegInfo(Triple)); ++ if (!MRI) { ++ debug_printf("error: no register info for target %s\n", Triple.c_str()); ++ return; ++ } ++ ++ OwningPtr MII(T->createMCInstrInfo()); ++ if (!MII) { ++ debug_printf("error: no instruction info for target %s\n", Triple.c_str()); ++ return; ++ } ++#endif ++ ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr Printer( ++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI)); ++#elif HAVE_LLVM == 0x0300 + OwningPtr Printer( + T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); + #elif HAVE_LLVM >= 0x0208 +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +index fe7616b..68f8808 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +@@ -62,7 +62,11 @@ + extern "C" void + lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE) + { ++#if HAVE_LLVM >= 0x0301 ++ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener()); ++#else + llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener()); ++#endif + } -- cgit v1.2.3-54-g00ecf