diff options
Diffstat (limited to 'extra/sbcl')
-rw-r--r-- | extra/sbcl/PKGBUILD | 14 | ||||
-rw-r--r-- | extra/sbcl/mips-arch.h.diff | 20 |
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; |