diff options
Diffstat (limited to 'extra/sbcl')
-rw-r--r-- | extra/sbcl/PKGBUILD | 10 | ||||
-rw-r--r-- | extra/sbcl/mips-arch.h.diff | 20 |
2 files changed, 28 insertions, 2 deletions
diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD index c2f2e789e..c3d022978 100644 --- a/extra/sbcl/PKGBUILD +++ b/extra/sbcl/PKGBUILD @@ -9,11 +9,13 @@ pkgver=1.0.55 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") @@ -39,7 +41,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; |