summaryrefslogtreecommitdiff
path: root/community/gambas3
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-06-17 01:18:25 -0700
committerroot <root@rshg054.dnsready.net>2013-06-17 01:18:25 -0700
commit3c8e479bfe9fab72058c833f2909a26232114733 (patch)
tree18202d3eaa2c9001216c161e395eb2d39a8d05fd /community/gambas3
parent44c10f274ec720a1512b15457b9eeffea28c6041 (diff)
Mon Jun 17 01:18:13 PDT 2013
Diffstat (limited to 'community/gambas3')
-rw-r--r--community/gambas3/PKGBUILD22
-rw-r--r--community/gambas3/gambas3-3.4.1-llvm-3.3.patch86
2 files changed, 102 insertions, 6 deletions
diff --git a/community/gambas3/PKGBUILD b/community/gambas3/PKGBUILD
index a09d1d043..7162408b0 100644
--- a/community/gambas3/PKGBUILD
+++ b/community/gambas3/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 91592 2013-05-25 02:56:17Z foutrelis $
+# $Id: PKGBUILD 92837 2013-06-16 17:21:06Z foutrelis $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor : sebikul <sebikul@gmail.com>
@@ -16,7 +16,7 @@ _components=('gambas3-gb-args' 'gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb
'gambas3-gb-xml-html' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-xml' 'gambas3-gb-web')
pkgname=(${_components[@]} 'gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples')
pkgver=3.4.1
-pkgrel=3
+pkgrel=4
pkgdesc="A free development environment based on a Basic interpreter."
arch=('i686' 'x86_64')
url="http://gambas.sourceforge.net/"
@@ -30,18 +30,28 @@ makedepends=('intltool' 'mariadb' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-uti
'gsl' 'gstreamer0.10' 'gstreamer0.10-base' 'gtkglext' 'ncurses' 'llvm'
'gmime')
options=(!emptydirs)
-source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2")
-md5sums=('eef35861d1e95808180ac7ed5a436569')
+source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2"
+ gambas3-3.4.1-llvm-3.3.patch)
+md5sums=('eef35861d1e95808180ac7ed5a436569'
+ '04bf972f5d5546118ecbcc1f24271216')
create_dirs() {
install -dm755 ${pkgdir}/usr/lib/gambas3
install -dm755 ${pkgdir}/usr/share/gambas3/info/control
}
-build() {
+prepare() {
cd ${srcdir}/${pkgbase}-${pkgver}
+ # Fix build with LLVM 3.3 (patch from Fedora)
+ patch -Np1 -i../gambas3-3.4.1-llvm-3.3.patch
+
./reconf-all
+}
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
./configure --prefix=/usr -C
make bindir=${pkgdir}/usr/bin
@@ -414,7 +424,7 @@ package_gambas3-gb-image() {
}
package_gambas3-gb-jit() {
- depends=('gambas3-runtime' 'llvm')
+ depends=('gambas3-runtime' 'llvm-libs')
pkgdesc="Just-in-time compiler component"
cd ${srcdir}/fakeinstall
diff --git a/community/gambas3/gambas3-3.4.1-llvm-3.3.patch b/community/gambas3/gambas3-3.4.1-llvm-3.3.patch
new file mode 100644
index 000000000..a5f75fe78
--- /dev/null
+++ b/community/gambas3/gambas3-3.4.1-llvm-3.3.patch
@@ -0,0 +1,86 @@
+diff -up gambas3-3.4.1/gb.jit/configure.ac.jx gambas3-3.4.1/gb.jit/configure.ac
+--- gambas3-3.4.1/gb.jit/configure.ac.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/configure.ac 2013-05-02 13:42:02.911687100 -0400
+@@ -32,7 +32,7 @@ fi
+
+ GB_COMPONENT(
+ jit, JIT, gb.jit, [src],
+- [GB_FIND(llvm/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)],
++ [GB_FIND(llvm/IR/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)],
+ [GB_FIND(libLLVM-$LLVM_VERSION.$SHLIBEXT, /usr/lib/llvm* /usr/local /usr `$LLVM_CONFIG --prefix`, lib)],
+ [$C_LIB `$LLVM_CONFIG --ldflags` -lLLVM-$LLVM_VERSION],
+ [-I../../main/gbx -I../../main/share -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS])
+diff -up gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx gambas3-3.4.1/gb.jit/src/jit_codegen.cpp
+--- gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit_codegen.cpp 2013-05-02 13:54:30.344186594 -0400
+@@ -3614,11 +3614,7 @@ void TryExpression::codegen(){
+ create_gep(temp_errcontext1, TARGET_BITS, 0, TARGET_BITS, 0));
+
+ llvm::Function* f = llvm::cast<llvm::Function>(get_global_function(_setjmp, 'i', "p"));
+-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+- f->addFnAttr(llvm::Attributes::ReturnsTwice);
+-#else
+ f->addFnAttr(llvm::Attribute::ReturnsTwice);
+-#endif
+
+ llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf);
+
+@@ -3669,11 +3665,7 @@ void LargeTryExpression::codegen(){
+ create_gep(temp_errcontext2, TARGET_BITS, 0, TARGET_BITS, 0));
+
+ llvm::Function* f = llvm::cast<llvm::Function>(get_global_function(_setjmp, 'i', "p"));
+-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+- f->addFnAttr(llvm::Attributes::ReturnsTwice);
+-#else
+ f->addFnAttr(llvm::Attribute::ReturnsTwice);
+-#endif
+
+ llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf);
+
+diff -up gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp
+--- gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp 2013-05-02 13:42:02.912687103 -0400
+@@ -24,9 +24,9 @@
+ ***************************************************************************/
+
+ #include "llvm/Pass.h"
+-#include "llvm/Function.h"
++#include "llvm/IR/Function.h"
+ #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+-#include "llvm/IRBuilder.h"
++#include "llvm/IR/IRBuilder.h"
+ #else
+ #include "llvm/Support/IRBuilder.h"
+ #endif
+diff -up gambas3-3.4.1/gb.jit/src/jit.h.jx gambas3-3.4.1/gb.jit/src/jit.h
+--- gambas3-3.4.1/gb.jit/src/jit.h.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit.h 2013-05-02 13:42:02.912687103 -0400
+@@ -26,13 +26,13 @@
+ #ifndef __JIT_H
+ #define __JIT_H
+
+-#include "llvm/LLVMContext.h"
+-#include "llvm/Module.h"
++#include "llvm/IR/LLVMContext.h"
++#include "llvm/IR/Module.h"
+ #include "llvm/Analysis/Verifier.h"
+-#include "llvm/Constants.h"
+-#include "llvm/DerivedTypes.h"
+-#include "llvm/Intrinsics.h"
+-#include "llvm/Instructions.h"
++#include "llvm/IR/Constants.h"
++#include "llvm/IR/DerivedTypes.h"
++#include "llvm/IR/Intrinsics.h"
++#include "llvm/IR/Instructions.h"
+ #include "llvm/ExecutionEngine/JIT.h"
+ #include "llvm/ExecutionEngine/Interpreter.h"
+ #include "llvm/ExecutionEngine/GenericValue.h"
+@@ -40,7 +40,7 @@
+ #include "llvm/Support/ManagedStatic.h"
+ #include "llvm/Support/raw_ostream.h"
+ #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+-#include "llvm/IRBuilder.h"
++#include "llvm/IR/IRBuilder.h"
+ #else
+ #include "llvm/Support/IRBuilder.h"
+ #endif