diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD new file mode 100644 index 000000000..dd4726fd6 --- /dev/null +++ b/extra/sbcl/PKGBUILD @@ -0,0 +1,78 @@ +# $Id$ +# Contributor: John Proctor +# Contributor: Daniel White +# Maintainer: Juergen Hoetzel +# Contributor: Leslie Polzer (skypher) + +# ALARM: Kevin Mihelich +# - disable sb-thread, not supported on ARM + +buildarch=4 + +pkgname=sbcl +pkgver=1.2.14 +pkgrel=1 +pkgdesc="Steel Bank Common Lisp" +url="http://www.sbcl.org/" +arch=('i686' 'x86_64') +license=('custom') +depends=('glibc' 'zlib') +provides=('common-lisp' 'cl-asdf') +makedepends=('sbcl') +install=sbcl.install +source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" + "arch-fixes.lisp") +md5sums=('b7a7f95808a2a6614d6dcb402b744d9e' + '7ac0c1936547f4278198b8bf7725204d') + + +build() { + cd "$srcdir/$pkgname-$pkgver" + + export CFLAGS+=" -D_GNU_SOURCE -fno-omit-frame-pointer -DSBCL_HOME=/usr/lib/sbcl" + export GNUMAKE="make" + + # build system uses LINKFLAGS and OS_LIBS to build LDFLAGS + export LINKFLAGS="$LDFLAGS" + unset LDFLAGS + unset MAKEFLAGS + + # Make a multi-threaded SBCL, disable LARGEFILE + cat >customize-target-features.lisp < /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} diff --git a/extra/sbcl/texinfo-4.13a-data_types.patch b/extra/sbcl/texinfo-4.13a-data_types.patch new file mode 100644 index 000000000..2a87c2146 --- /dev/null +++ b/extra/sbcl/texinfo-4.13a-data_types.patch @@ -0,0 +1,32 @@ +diff -up texinfo-4.13/info/window.c_old texinfo-4.13/info/window.c +--- texinfo-4.13/info/window.c_old 2009-08-04 13:46:15.000000000 +0200 ++++ texinfo-4.13/info/window.c 2009-08-04 13:47:29.000000000 +0200 +@@ -1581,7 +1581,7 @@ process_node_text (WINDOW *win, char *st + const char *carried_over_ptr; + size_t carried_over_len, carried_over_count; + const char *cur_ptr = mbi_cur_ptr (iter); +- int cur_len = mb_len (mbi_cur (iter)); ++ size_t cur_len = mb_len (mbi_cur (iter)); + int replen; + int delim = 0; + int rc; +@@ -1754,7 +1754,7 @@ clean_manpage (char *manpage) + mbi_advance (iter)) + { + const char *cur_ptr = mbi_cur_ptr (iter); +- int cur_len = mb_len (mbi_cur (iter)); ++ size_t cur_len = mb_len (mbi_cur (iter)); + + if (cur_len == 1) + { +@@ -1852,8 +1852,8 @@ window_scan_line (WINDOW *win, int line, + mbi_advance (iter)) + { + const char *cur_ptr = mbi_cur_ptr (iter); +- int cur_len = mb_len (mbi_cur (iter)); +- int replen; ++ size_t cur_len = mb_len (mbi_cur (iter)); ++ size_t replen; + + if (cur_ptr >= endp) + break;