Add sbcl
This commit is contained in:
parent
c8adcf31fb
commit
13608297c6
4 changed files with 142 additions and 0 deletions
71
sbcl/PKGBUILD
Normal file
71
sbcl/PKGBUILD
Normal file
|
@ -0,0 +1,71 @@
|
|||
# $Id: PKGBUILD 196298 2013-10-11 08:53:55Z juergen $
|
||||
# Contributor: John Proctor <jproctor@prium.net>
|
||||
# Contributor: Daniel White <daniel@whitehouse.id.au>
|
||||
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
|
||||
# Contributor: Leslie Polzer (skypher)
|
||||
|
||||
pkgname=sbcl
|
||||
pkgver=1.1.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")
|
||||
|
||||
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
|
||||
|
||||
# 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))))
|
||||
(enable :sb-thread)
|
||||
(enable :sb-core-compression)
|
||||
(disable :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}
|
||||
|
||||
}
|
||||
md5sums=('e3f933f7cb0053c3438d86e90f5bd73b'
|
||||
'7ac0c1936547f4278198b8bf7725204d')
|
21
sbcl/arch-fixes.lisp
Normal file
21
sbcl/arch-fixes.lisp
Normal file
|
@ -0,0 +1,21 @@
|
|||
(in-package "COMMON-LISP-USER")
|
||||
|
||||
(let* ((parent (make-pathname :directory '(:absolute "usr" "share" "sbcl-source")))
|
||||
(src
|
||||
(merge-pathnames
|
||||
(make-pathname :directory '(:relative "src" :wild-inferiors)
|
||||
:name :wild :type :wild)
|
||||
parent))
|
||||
(contrib
|
||||
(merge-pathnames
|
||||
(make-pathname :directory '(:relative "contrib" :wild-inferiors)
|
||||
:name :wild :type :wild)
|
||||
parent)))
|
||||
(setf (logical-pathname-translations "SYS")
|
||||
`(("SYS:SRC;**;*.*.*" ,src)
|
||||
("SYS:CONTRIB;**;*.*.*" ,contrib))))
|
||||
|
||||
(ignore-errors
|
||||
(sb-ext:gc :full t)
|
||||
(sb-ext:enable-debugger)
|
||||
(sb-ext:save-lisp-and-die "sbcl-new.core"))
|
18
sbcl/sbcl.install
Normal file
18
sbcl/sbcl.install
Normal file
|
@ -0,0 +1,18 @@
|
|||
info_dir=/usr/share/info
|
||||
info_files=(asdf.info sbcl.info)
|
||||
|
||||
post_install() {
|
||||
for f in ${info_files[@]}; do
|
||||
install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /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
|
||||
}
|
32
sbcl/texinfo-4.13a-data_types.patch
Normal file
32
sbcl/texinfo-4.13a-data_types.patch
Normal file
|
@ -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;
|
Loading…
Reference in a new issue