summaryrefslogtreecommitdiff
path: root/multilib-testing/lib32-mesa
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-05-28 17:43:57 +0000
committerroot <root@rshg054.dnsready.net>2012-05-28 17:43:57 +0000
commit483f7de4ab6a706517279a24d2efc969f4a1996d (patch)
tree128a7513d3e42c4d8812b5fd11a4afb116399762 /multilib-testing/lib32-mesa
parent89dd7b5f30d48c708092a71b1c8285090fe91505 (diff)
Mon May 28 17:43:57 UTC 2012
Diffstat (limited to 'multilib-testing/lib32-mesa')
-rw-r--r--multilib-testing/lib32-mesa/PKGBUILD224
-rw-r--r--multilib-testing/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch44
2 files changed, 268 insertions, 0 deletions
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 <jgc@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+
+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<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
++ if (!MRI) {
++ debug_printf("error: no register info for target %s\n", Triple.c_str());
++ return;
++ }
++
++ OwningPtr<const MCInstrInfo> 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<MCInstPrinter> Printer(
++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
++#elif HAVE_LLVM == 0x0300
+ OwningPtr<MCInstPrinter> 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
+ }