diff options
-rw-r--r-- | abs/extra/clisp/PKGBUILD | 49 | ||||
-rw-r--r-- | abs/extra/clisp/clisp-gcc5.patch | 38 | ||||
-rw-r--r-- | abs/extra/clisp/patch-modules_readline_readline.lisp | 15 |
3 files changed, 102 insertions, 0 deletions
diff --git a/abs/extra/clisp/PKGBUILD b/abs/extra/clisp/PKGBUILD new file mode 100644 index 0000000..9a133f2 --- /dev/null +++ b/abs/extra/clisp/PKGBUILD @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: Juergen Hoetzel <juergen@archlinux.org> +pkgname=clisp +pkgver=2.49 +pkgrel=6 +pkgdesc="ANSI Common Lisp interpreter, compiler and debugger" +arch=('x86_64') +license=('GPL') +url="http://clisp.cons.org/" +depends=('readline' 'libsigsegv') +provides=('common-lisp') +makedepends=('ffcall') +options=('!makeflags' '!emptydirs') +source=("http://downloads.sourceforge.net/sourceforge/clisp/clisp-${pkgver}.tar.bz2" + "clisp-gcc5.patch" + "patch-modules_readline_readline.lisp") +md5sums=('1962b99d5e530390ec3829236d168649' + 'e3008f96f6cd3059717d4a930b8c0e9c' + '5b29c9301ab7c1b683da70c2f805609f') + +prepare() { + cd $srcdir/${pkgname}-${pkgver} + patch -Np1 -i ../clisp-gcc5.patch + patch -Np0 -i ../patch-modules_readline_readline.lisp + + # https://sourceforge.net/p/clisp/clisp/ci/cebd289dfc19de4aa504113dfcb0284657787430/ + # http://hg.slitaz.org/wok/rev/d5a39f30f9f1#l2.28 + sed -i 's/clisp\.cons\.org/clisp.org/' src/cfgunix.lisp +} + +build() { + cd $srcdir/${pkgname}-${pkgver} + ./configure --prefix=/usr --with-readline --with-ffcall src + cd src + ./makemake --prefix=/usr --with-readline --with-ffcall --with-dynamic-ffi > Makefile + make + sed -i 's,http://www.lisp.org/HyperSpec/,http://www.lispworks.com/reference/HyperSpec/,g' config.lisp + make +} + +check() { + cd $srcdir/${pkgname}-${pkgver}/src + make check +} + +package() { + cd $srcdir/${pkgname}-${pkgver}/src + make DESTDIR=$pkgdir install +} diff --git a/abs/extra/clisp/clisp-gcc5.patch b/abs/extra/clisp/clisp-gcc5.patch new file mode 100644 index 0000000..79ffa74 --- /dev/null +++ b/abs/extra/clisp/clisp-gcc5.patch @@ -0,0 +1,38 @@ +--- ./src/makemake.in.orig 2013-02-16 15:26:28.000000000 -0700 ++++ ./src/makemake.in 2015-02-11 17:20:00.000000000 -0700 +@@ -1217,7 +1217,7 @@ if [ $XCC_GCC = true ] ; then + if [ $CROSS = false ] ; then + case "$XCC_GCC_VERSION" in + # gcc 2.7 introduced an annoying warning, but gcc 2.8 has a workaround: +- 2.[8-9]* | 3.* | 4.* | egcs-2.*) ++ 2.[8-9]* | 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | egcs-2.*) + XCFLAGS=$XCFLAGS' -Wno-sign-compare -Wno-format-nonliteral' + ;; + * ) ;; +@@ -1226,7 +1226,7 @@ if [ $XCC_GCC = true ] ; then + if [ $CROSS = false -a $CC_CPLUSPLUS = true ] ; then + case "$XCC_GCC_VERSION" in + # g++ 3.4 introduced an annoying warning, but has a workaround: +- 3.[4-9]* | 4.*) ++ 3.[4-9]* | 4.* | 5.* | 6.* | 7.* | 8.*) + XCFLAGS=$XCFLAGS' -Wno-invalid-offsetof' + ;; + * ) ;; +@@ -1241,7 +1241,7 @@ if [ $XCC_GCC = true ] ; then + # gcc-2.7.2 has a strength-reduction bug (fixed in gcc-2.7.2.1, + # also fixed through the specs file of some Linux distributions). + XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations -fno-strength-reduce' ;; +- 2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | egcs-2.*) ++ 2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | egcs-2.*) + XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations' ;; + * ) + XCFLAGS=$XCFLAGS' -O' ;; +@@ -1295,7 +1295,7 @@ if [ $XCC_GCC = true ] ; then + esac + fi # with_debug + case "$XCC_GCC_VERSION" in +- 3* | 4*) ++ 3* | 4* | 5* | 6* | 7* | 8*) + # When not optimizing on linux, or with Apple's gcc 4 on MacOS X, + # or with GCC 4 when "gcc -Os" is used: + # C_CODE_ALIGNMENT is wrong. &EVAL-WHEN = 0x806D512 diff --git a/abs/extra/clisp/patch-modules_readline_readline.lisp b/abs/extra/clisp/patch-modules_readline_readline.lisp new file mode 100644 index 0000000..19c54f9 --- /dev/null +++ b/abs/extra/clisp/patch-modules_readline_readline.lisp @@ -0,0 +1,15 @@ +$NetBSD: patch-modules_readline_readline.lisp,v 1.1 2016/09/20 14:10:25 wiz Exp $ + +rl_readline_state changed from int to unsigned long in readline-7.0. + +--- modules/readline/readline.lisp.orig 2010-01-06 22:18:03.000000000 +0000 ++++ modules/readline/readline.lisp +@@ -424,7 +424,7 @@ name in ~/.inputrc. This is preferred wa + "The version of this incarnation of the readline library, e.g., 0x0402.")) + (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int) + (:documentation "True if this is real GNU readline.")) +-(def-c-var readline-state (:name "rl_readline_state") (:type int) ++(def-c-var readline-state (:name "rl_readline_state") (:type ulong) + (:documentation "Flags word encapsulating the current readline state.")) + (def-c-var editing-mode (:name "rl_editing_mode") (:type int) + (:documentation "Says which editing mode readline is currently using. |