diff options
Diffstat (limited to 'extra/sbcl')
-rw-r--r-- | extra/sbcl/PKGBUILD | 16 | ||||
-rw-r--r-- | extra/sbcl/mips-arch.h.diff | 20 |
2 files changed, 32 insertions, 4 deletions
diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD index 5829ea5b4..7fd330474 100644 --- a/extra/sbcl/PKGBUILD +++ b/extra/sbcl/PKGBUILD @@ -9,16 +9,20 @@ pkgver=1.0.51 pkgrel=1 pkgdesc="Steel Bank Common Lisp" url="http://www.sbcl.org/" -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') license=('custom') depends=('glibc') provides=('common-lisp' 'cl-asdf') makedepends=('sbcl' 'texinfo') +[ "$CARCH" = "mips64el" ] && \ +makedepends=('clisp' 'texinfo') install=sbcl.install source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" - "arch-fixes.lisp") + "arch-fixes.lisp" + "mips-arch.h.diff") md5sums=('08032cc777f1236953cb901e24775457' - '7ac0c1936547f4278198b8bf7725204d') + '7ac0c1936547f4278198b8bf7725204d' + 'a456535d65d6c5b85b1b646f11455fce') build() { cd "$srcdir/$pkgname-$pkgver" @@ -39,7 +43,11 @@ build() { (disable :largefile))) EOF - sh make.sh sbcl + if [ "$CARCH" = "mips64el" ]; then + sh make.sh clisp + else + sh make.sh sbcl + fi make -C doc/manual info } 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; |