# $Id$ # Contributor: John Proctor <jproctor@prium.net> # Contributor: Daniel White <daniel@whitehouse.id.au> # Maintainer: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Leslie Polzer (skypher) # ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # - disable sb-thread, not supported on ARM buildarch=4 pkgname=sbcl pkgver=1.3.17 pkgrel=1 pkgdesc="Steel Bank Common Lisp" url="http://www.sbcl.org/" arch=('i686' 'x86_64') license=('custom') depends=('zlib') provides=('common-lisp' 'cl-asdf') makedepends=('sbcl') source=("https://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" "arch-fixes.lisp") sha256sums=('94b9f576328de3a5d9ced452fdaa4d2f55437af8838fbbfb4f226c86591a0daf' 'b5a6468dcbc1012cae2c3cda155762a37b6d96ef89bba4f723315063b0b5e7ce') 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 if [[ ${CARCH} = x86_64 ]]; then enable_disable_largefile=enable else enable_disable_largefile=disable fi # Make a multi-threaded SBCL, disable LARGEFILE cat >customize-target-features.lisp <<EOF (lambda (features) (flet ((enable (x) (pushnew x features)) (disable (x) (setf features (remove x features)))) (disable :sb-thread) (enable :sb-core-compression) (${enable_disable_largefile} :largefile))) EOF sh make.sh sbcl --prefix=/usr make -C doc/manual info } package() { cd "$srcdir/$pkgname-$pkgver" # cannot have both SBCL_HOME and INSTALL_ROOT SBCL_HOME="" INSTALL_ROOT="$pkgdir/usr" sh install.sh src/runtime/sbcl --core output/sbcl.core --script "${srcdir}/arch-fixes.lisp" mv sbcl-new.core "${pkgdir}/usr/lib/sbcl/sbcl.core" # sources mkdir -p "$pkgdir/usr/share/sbcl-source" cp -R -t "$pkgdir/usr/share/sbcl-source" "$srcdir/$pkgname-$pkgver/"{src,contrib} # license install -D -m644 "$srcdir/$pkgname-$pkgver/COPYING" \ "$pkgdir/usr/share/licenses/$pkgname/license.txt" # drop unwanted files find "$pkgdir" \( -name Makefile -o -name .cvsignore \) -delete find "$pkgdir/usr/share/sbcl-source" -type f \ \( -name \*.fasl -o -name \*.o -o -name \*.log -o -name \*.so -o -name a.out \) -delete rm "$pkgdir/usr/share/sbcl-source/src/runtime/sbcl"{,.nm} }