diff options
Diffstat (limited to 'extra/mesa')
-rw-r--r-- | extra/mesa/PKGBUILD | 11 | ||||
-rw-r--r-- | extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch | 46 |
2 files changed, 53 insertions, 4 deletions
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD index 60da603d4..dc0b3c3b0 100644 --- a/extra/mesa/PKGBUILD +++ b/extra/mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 159247 2012-05-19 08:19:03Z andyrtr $ +# $Id: PKGBUILD 160367 2012-06-01 12:58:38Z dreisner $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Maintainer: Andreas Radke <andyrtr@archlinux.org> @@ -16,14 +16,15 @@ if [ "${_git}" = "true" ]; then else pkgver=8.0.3 fi -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') makedepends=('glproto>=1.4.15' 'libdrm>=2.4.30' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.99.1' 'libxt>=1.1.1' - 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'udev') + 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'udev>=183') [[ "$CARCH" != "mips64el" ]] && makedepends+=('llvm') url="http://mesa3d.sourceforge.net" license=('custom') -source=(LICENSE) +source=(LICENSE + 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=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2') @@ -46,6 +47,8 @@ build() { fi patch -Np1 -i $srcdir/mesa-loongson.patch + patch -Np1 -i "${srcdir}/mesa-8.0.3-llvm-3.1-fixes.patch" + if [ "${_git}" = "true" ]; then autoreconf -vfi ./autogen.sh --prefix=/usr \ diff --git a/extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch b/extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch new file mode 100644 index 000000000..a567b5926 --- /dev/null +++ b/extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch @@ -0,0 +1,46 @@ +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 + } + + |