summaryrefslogtreecommitdiff
path: root/extra/sbcl
diff options
context:
space:
mode:
Diffstat (limited to 'extra/sbcl')
-rw-r--r--extra/sbcl/PKGBUILD14
-rw-r--r--extra/sbcl/mips-arch.h.diff20
2 files changed, 29 insertions, 5 deletions
diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD
index d7bb5d4b8..0ca331123 100644
--- a/extra/sbcl/PKGBUILD
+++ b/extra/sbcl/PKGBUILD
@@ -12,10 +12,12 @@ arch=('i686' 'x86_64' 'mips64el')
license=('custom')
depends=('glibc')
provides=('common-lisp' 'cl-asdf')
-makedepends=('sbcl' 'texinfo')
-source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" "arch-fixes.lisp")
+makedepends=('clisp' 'texinfo')
+source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" "arch-fixes.lisp"
+ "mips-arch.h.diff")
md5sums=('8d15c6af6388fcd9efbd13f301b7ba33'
- '7ac0c1936547f4278198b8bf7725204d')
+ '7ac0c1936547f4278198b8bf7725204d'
+ 'a456535d65d6c5b85b1b646f11455fce')
url="http://www.sbcl.org/"
install=sbcl.install
@@ -32,11 +34,13 @@ build() {
(lambda (features)
(flet ((enable (x) (pushnew x features))
(disable (x) (setf features (remove x features))))
- (enable :sb-thread)
+ (disable :sb-thread)
(disable :largefile)))
EOF
- sh make.sh sbcl
+ patch -Nup1 < "${srcdir}/mips-arch.h.diff"
+
+ sh make.sh clisp
mkdir -p ${startdir}/pkg/usr
pushd doc/manual
make info || return 1
diff --git a/extra/sbcl/mips-arch.h.diff b/extra/sbcl/mips-arch.h.diff
new file mode 100644
index 000000000..4f593aa83
--- /dev/null
+++ b/extra/sbcl/mips-arch.h.diff
@@ -0,0 +1,20 @@
+--- sbcl-1.0.49.orig/src/runtime/mips-arch.h 2011-06-25 16:13:44.103101571 +0200
++++ sbcl-1.0.49/src/runtime/mips-arch.h 2011-06-25 16:14:31.279501569 +0200
+@@ -1,6 +1,8 @@
+ #ifndef _MIPS_ARCH_H
+ #define _MIPS_ARCH_H
+
++/* For lose. */
++#include "interr.h"
+
+ static inline void
+ get_spinlock(volatile lispobj *word, long value)
+@@ -31,7 +33,7 @@
+ [__new] "r" (value)
+ : "memory");
+
+- if (!cmp)
++ if (!__cmp)
+ lose("recursive get_spinlock: 0x%x,%d\n", word, value);
+ #else /* LISP_FEATURE_SB_THREAD */
+ *word=value;