summaryrefslogtreecommitdiff
path: root/source/d/clisp
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/clisp')
-rwxr-xr-xsource/d/clisp/clisp.SlackBuild50
-rw-r--r--source/d/clisp/ffcall-arm.patch93
2 files changed, 102 insertions, 41 deletions
diff --git a/source/d/clisp/clisp.SlackBuild b/source/d/clisp/clisp.SlackBuild
index f6d9a268..f98057df 100755
--- a/source/d/clisp/clisp.SlackBuild
+++ b/source/d/clisp/clisp.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,11 +23,10 @@
VERSION=2.49
DIRNAME=2.49
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Bundled libraries:
-FFCALLVER=20080704cvs
-LIBSIGSEVVER=2.8
+FFCALLVER=20120424cvs
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -63,46 +62,15 @@ rm -rf $PKG
mkdir -p $TMP $PKG
#=================================================================
-# First we need this. It used to ship with CLISP, but no longer does.
-cd $TMP
-rm -rf libsigsegv-$LIBSIGSEVVER
-tar xvf $CWD/libsigsegv-$LIBSIGSEVVER.tar.?z* || exit 1
-cd libsigsegv-$LIBSIGSEVVER || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# Nah.
-# --enable-shared=yes
-
-CFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-static=yes
-make $NUMJOBS || make || exit 1
-
-# Now I must install this. Sorry, it's gotta happen.
-make install
-# Now add to the package:
-mkdir -p $PKG/usr
-make install prefix=$PKG/usr
-strip --strip-unneeded $PKG/usr/lib${LIBDIRSUFFIX}/*.so
-strip -g $PKG/usr/lib${LIBDIRSUFFIX}/*.a
-mkdir -p $PKG/usr/doc/clisp-$VERSION/libsigsegv-$LIBSIGSEVVER
-cp -a \
- AUTHORS COPYING ChangeLog NEWS PORTING README \
- $PKG/usr/doc/clisp-$VERSION/libsigsegv-$LIBSIGSEVVER
-
-#=================================================================
# Build ffcall - needed for --dynamic-ffi with clisp.
cd $TMP
rm -rf ffcall*
-tar xvf $CWD/ffcall-$FFCALLVER.tar.* || exit 1
+tar xvf $CWD/ffcall-$FFCALLVER.tar.?z* || exit 1
cd ffcall* || exit 1
+
+# Not sure if this is useful or not, but I'll leave it for MoZes:
+zcat $CWD/ffcall-arm.patch.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -139,7 +107,7 @@ rmdir $PKG/usr/share/
# OK, now we compile CLISP:
cd $TMP
rm -rf clisp-$VERSION
-tar xvf $CWD/clisp-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/clisp-$VERSION.tar.?z* || exit 1
cd clisp-$DIRNAME || exit 1
chown -R root:root .
find . \
diff --git a/source/d/clisp/ffcall-arm.patch b/source/d/clisp/ffcall-arm.patch
new file mode 100644
index 00000000..8e8509b1
--- /dev/null
+++ b/source/d/clisp/ffcall-arm.patch
@@ -0,0 +1,93 @@
+--- ./callback/trampoline_r/cache-armel.c.orig 2009-04-27 10:44:13.000000000 -0600
++++ ./callback/trampoline_r/cache-armel.c 2013-09-06 11:00:00.000000000 -0600
+@@ -12,8 +12,9 @@
+
+ void __TR_clear_cache (char *first_addr, char *last_addr)
+ {
+- register unsigned long _beg __asm ("a1") = first_addr;
+- register unsigned long _end __asm ("a2") = last_addr;
++ register unsigned long _beg __asm ("a1") = (unsigned long) first_addr;
++ register unsigned long _end __asm ("a2") = (unsigned long) last_addr;
+ register unsigned long _flg __asm ("a3") = 0;
+- __asm __volatile__ ("swi 0x9f0002" : : "r" (_beg), "r" (_end), "r" (_flg));
++ register unsigned long _sys __asm ("r7") = __ARM_NR_cacheflush;
++ __asm __volatile__ ("swi 0x0" : "=r" (_beg) : "0" (_beg), "r" (_end), "r" (_flg), "r" (_sys));
+ }
+--- ./callback/trampoline_r/cache-armel.s.orig 2009-04-27 10:44:13.000000000 -0600
++++ ./callback/trampoline_r/cache-armel.s 2013-09-06 13:00:00.000000000 -0600
+@@ -1,5 +1,5 @@
+- .cpu arm10tdmi
+- .fpu softvfp
++ .arch armv7-a
++ .fpu vfpv3-d16
+ .file "cache-armel.c"
+ .text
+ .align 2
+@@ -9,10 +9,13 @@ __TR_clear_cache:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+- @ lr needed for prologue
++ str r7, [sp, #-4]!
+ mov r2, #0
++ mov r7, #2
++ movt r7, 15
+ #APP
+- swi 0x9f0002
++ swi 0x0
++ ldr r7, [sp], #4
+ bx lr
+ .size __TR_clear_cache, .-__TR_clear_cache
+- .ident "GCC: (GNU) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)"
++ .ident "GCC: (GNU) 4.8.1 20130829 (Red Hat 4.8.1-7)"
+--- ./trampoline/cache-armel.c.orig 2009-04-27 10:44:14.000000000 -0600
++++ ./trampoline/cache-armel.c 2013-09-06 11:00:00.000000000 -0600
+@@ -12,8 +12,9 @@
+
+ void __TR_clear_cache (char *first_addr, char *last_addr)
+ {
+- register unsigned long _beg __asm ("a1") = first_addr;
+- register unsigned long _end __asm ("a2") = last_addr;
++ register unsigned long _beg __asm ("a1") = (unsigned long) first_addr;
++ register unsigned long _end __asm ("a2") = (unsigned long) last_addr;
+ register unsigned long _flg __asm ("a3") = 0;
+- __asm __volatile__ ("swi 0x9f0002" : : "r" (_beg), "r" (_end), "r" (_flg));
++ register unsigned long _sys __asm ("r7") = __ARM_NR_cacheflush;
++ __asm __volatile__ ("swi 0x0" : "=r" (_beg) : "0" (_beg), "r" (_end), "r" (_flg), "r" (_sys));
+ }
+--- ./trampoline/cache-armel.s.orig 2009-04-27 10:44:14.000000000 -0600
++++ ./trampoline/cache-armel.s 2013-09-06 13:00:00.000000000 -0600
+@@ -1,24 +1,21 @@
+- .cpu arm10tdmi
+- .fpu softvfp
++ .arch armv7-a
++ .fpu vfpv3-d16
+ .file "cache-armel.c"
+ .text
+ .align 2
+ .global __TR_clear_cache
+ .type __TR_clear_cache, %function
+ __TR_clear_cache:
+- @ args = 0, pretend = 0, frame = 8
++ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+- sub sp, sp, #8
+- @ lr needed for prologue
+- str r0, [sp, #4]
+- str r1, [sp, #0]
+- ldr r0, [sp, #4]
+- ldr r1, [sp, #0]
++ str r7, [sp, #-4]!
+ mov r2, #0
++ mov r7, #2
++ movt r7, 15
+ #APP
+- swi 0x9f0002
+- add sp, sp, #8
++ swi 0x0
++ ldr r7, [sp], #4
+ bx lr
+ .size __TR_clear_cache, .-__TR_clear_cache
+- .ident "GCC: (GNU) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)"
++ .ident "GCC: (GNU) 4.8.1 20130829 (Red Hat 4.8.1-7)"