# $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 # - upstream patch for ARM buildarch=4 pkgname=sbcl pkgver=1.4.6 pkgrel=1 pkgdesc="Steel Bank Common Lisp" url="http://www.sbcl.org/" arch=('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" "https://github.com/sbcl/sbcl/commit/c529dc9aa94822dbb0eae2d181d413900550c813.patch") sha256sums=('4411b01329d4dd531c8a0cb4036462fb4fd5f6e7abe2d521c6aa2a3adefb8678' 'b5a6468dcbc1012cae2c3cda155762a37b6d96ef89bba4f723315063b0b5e7ce' '3fd9b968902bf42b81cd3ab4493a004b46f328aa78b529b9323e140a33438c29') prepare() { cd "$srcdir/$pkgname-$pkgver" patch -p1 -i ../c529dc9aa94822dbb0eae2d181d413900550c813.patch } 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} }