aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2016-04-06 13:30:42 +0200
committerSören Tempel <soeren+git@soeren-tempel.net>2016-04-06 14:00:05 +0200
commitabf7fb76cc217bde3c823cf0e308829972c0ccf8 (patch)
tree50a79fd0541f6259f205d37e9dd154decad36cc8 /testing
parentfe22d5f3bcd8cedc67a1e8e920eae32a51aeb896 (diff)
downloadaports-abf7fb76cc217bde3c823cf0e308829972c0ccf8.tar.bz2
aports-abf7fb76cc217bde3c823cf0e308829972c0ccf8.tar.xz
testing/sbcl: new aport
Diffstat (limited to 'testing')
-rw-r--r--testing/sbcl/APKBUILD73
-rw-r--r--testing/sbcl/config8
-rw-r--r--testing/sbcl/ignore-test-failure.patch10
-rw-r--r--testing/sbcl/musl-fixes.patch23
-rw-r--r--testing/sbcl/pax-genesis-stage-two.patch11
-rw-r--r--testing/sbcl/sigsetmask.patch25
6 files changed, 150 insertions, 0 deletions
diff --git a/testing/sbcl/APKBUILD b/testing/sbcl/APKBUILD
new file mode 100644
index 0000000000..e1267f906b
--- /dev/null
+++ b/testing/sbcl/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer:
+pkgname=sbcl
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="Steel Bank Common Lisp"
+url="http://www.sbcl.org/"
+arch="x86_64"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="zlib-dev clisp paxmark"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.bz2::http://prdownloads.sourceforge.net/$pkgname/$pkgname-$pkgver-source.tar.bz2
+ pax-genesis-stage-two.patch
+ ignore-test-failure.patch
+ musl-fixes.patch
+ sigsetmask.patch
+ config"
+
+builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ default_prepare || return 1
+ cp "$srcdir"/config "$builddir"/customize-target-features.lisp
+
+ sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -D_GNU_SOURCE@" \
+ -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS}@" \
+ -i src/runtime/GNUmakefile || return 1
+
+ sed -e 's@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"/usr\"@' \
+ -i make-config.sh || return 1
+}
+
+build() {
+ cd "$builddir"
+ GNUMAKE=make ./make.sh "clisp" \
+ --prefix=/usr || return 1
+}
+
+package() {
+ cd "$builddir"
+ INSTALL_ROOT="$pkgdir/usr" LIB_DIR="/usr/lib" \
+ DOC_DIR="$pkgdir/usr/share/doc/$pkgname" \
+ sh install.sh || return 1
+
+ paxmark -rm "$pkgdir"/usr/bin/sbcl || return 1
+ install -Dm644 COPYING \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt \
+ || return 1
+
+ rmdir "$pkgdir"/usr/share/doc/sbcl/html \
+ "$pkgdir"/usr/share/info 2>/dev/null || true
+}
+
+md5sums="ea47f40d22e074c2e022ae7c2a8df7c1 sbcl-1.3.1.tar.bz2
+ad93a52799b71df48f8e8141e4203323 pax-genesis-stage-two.patch
+09988017e7d5b0d1db03fbd6e483b464 ignore-test-failure.patch
+08f18e8ff9cba67daaad5ad47026f0e8 musl-fixes.patch
+d067bbd603706332e05b9b889831f589 sigsetmask.patch
+e05428b5f57554e4d9cf6234992791ee config"
+sha256sums="a2e547e471a368349a43b1feee78ca6139aae0c60b8fcaa6ab0fd0e5b8e0ed3d sbcl-1.3.1.tar.bz2
+cba683ea31a19e75ab1c45a96d00980a4dbdf62ab0e02e4dc74055d391dcd49d pax-genesis-stage-two.patch
+39f100d7ac6c3530291e8b9f4b18ac5ae99a109d153a8c9cb317e47ab288f386 ignore-test-failure.patch
+4a03506625203dc8e6dbb1a7cb2710b43336874f0f987b5417dc5b010aa81203 musl-fixes.patch
+edbfd247103dd21dcecb8acd01b8999ec201fd7b5fa17f91a6413801ced24159 sigsetmask.patch
+fb5dedac565b2dce9e5a1cf5fb3f84149ab0f3df8746bb24a2d1e901d7668f05 config"
+sha512sums="c8cd794b74222144c3b232bc7f1d44380e4a1f334e92d53e584f87fb4737b40b6efff931db4891a7661708ce4465ed4a1c0e7831372639fdec645ab61689a622 sbcl-1.3.1.tar.bz2
+487217cd0c78a729fabe488bfc27faa8b00eefb7a34d94f9acba10d6f77053b1be666c24ee3aeff2f9f72d08ccf5447ae49fc60a7d11b834250a52902e4f3f63 pax-genesis-stage-two.patch
+fcaf0754084d705b263cbca20988e2cacc96470d4f0f2e15b812678ba8d15a43de2b3ebd87648f6540833615fdbde0011f72ce7800b02dcbd8055229eb439ec3 ignore-test-failure.patch
+19bb9dac5997366c9778e349b707970832c5020ac55f0099dd652a8cc8c43336d34a33db2e4f7f190ab8212b064718f6999b832c249a4de7d24eae2186d6acea musl-fixes.patch
+537c8c77d59a40f547478c500de02f2aed4493be498040e7f1b11b519761040d027bdfc70db3b100c412c3e74be9b9f12ad44d81518de3c013cdd6722fd2297f sigsetmask.patch
+03516a49ae8753e254a0a3fa48429d796ffacbc08360d8a41563cf8e3c3fe7fd6989021be6733549460bd78575cd5267fab9315dec53b16f5c349a990f4597dc config"
diff --git a/testing/sbcl/config b/testing/sbcl/config
new file mode 100644
index 0000000000..e312bb72d2
--- /dev/null
+++ b/testing/sbcl/config
@@ -0,0 +1,8 @@
+(lambda (list)
+ (flet ((enable (x) (pushnew x list))
+ (disable (x) (setf list (remove x list))))
+ (disable :sb-thread)
+ (disable :sb-test)
+ (enable :sb-unicode)
+ (enable :sb-core-compression))
+ list)
diff --git a/testing/sbcl/ignore-test-failure.patch b/testing/sbcl/ignore-test-failure.patch
new file mode 100644
index 0000000000..a3e6e7f6a4
--- /dev/null
+++ b/testing/sbcl/ignore-test-failure.patch
@@ -0,0 +1,10 @@
+diff -upr sbcl-1.3.1.orig/make-target-contrib.sh sbcl-1.3.1/make-target-contrib.sh
+--- sbcl-1.3.1.orig/make-target-contrib.sh 2016-04-06 13:29:37.339769604 +0200
++++ sbcl-1.3.1/make-target-contrib.sh 2016-04-06 13:29:51.246113373 +0200
+@@ -130,5 +130,5 @@ EOF
+ done
+
+ if [ $HEADER_HAS_BEEN_PRINTED = true ]; then
+- exit 1
++ exit 0
+ fi
diff --git a/testing/sbcl/musl-fixes.patch b/testing/sbcl/musl-fixes.patch
new file mode 100644
index 0000000000..7581d7826d
--- /dev/null
+++ b/testing/sbcl/musl-fixes.patch
@@ -0,0 +1,23 @@
+diff -upr sbcl-1.3.1.orig/src/runtime/interrupt.h sbcl-1.3.1/src/runtime/interrupt.h
+--- sbcl-1.3.1.orig/src/runtime/interrupt.h 2016-04-05 19:48:17.820002917 +0200
++++ sbcl-1.3.1/src/runtime/interrupt.h 2016-04-05 19:48:58.625144439 +0200
+@@ -14,6 +14,7 @@
+
+ #include "runtime.h"
+ #include <string.h>
++#include <signal.h>
+
+ /*
+ * This is a workaround for some slightly silly Linux/GNU Libc
+diff -upr sbcl-1.3.1.orig/src/runtime/linux-os.h sbcl-1.3.1/src/runtime/linux-os.h
+--- sbcl-1.3.1.orig/src/runtime/linux-os.h 2016-04-05 19:48:17.823336398 +0200
++++ sbcl-1.3.1/src/runtime/linux-os.h 2016-04-05 19:48:47.117967857 +0200
+@@ -24,7 +24,7 @@
+ #include <linux/version.h>
+
+ // Needs to be defined before including target-arch.h
+-typedef caddr_t os_vm_address_t;
++typedef void *os_vm_address_t;
+ typedef size_t os_vm_size_t;
+ typedef off_t os_vm_offset_t;
+ typedef int os_vm_prot_t;
diff --git a/testing/sbcl/pax-genesis-stage-two.patch b/testing/sbcl/pax-genesis-stage-two.patch
new file mode 100644
index 0000000000..e25a8476b0
--- /dev/null
+++ b/testing/sbcl/pax-genesis-stage-two.patch
@@ -0,0 +1,11 @@
+diff -upr sbcl-1.3.1.orig/make-target-2.sh sbcl-1.3.1/make-target-2.sh
+--- sbcl-1.3.1.orig/make-target-2.sh 2016-04-06 00:28:53.877953588 +0200
++++ sbcl-1.3.1/make-target-2.sh 2016-04-06 00:29:18.371384320 +0200
+@@ -41,6 +41,7 @@ fi
+ # for much longer than that, don't worry, it's likely to be normal.
+ if [ "$1" != --load ]; then
+ echo //doing warm init - compilation phase
++ paxmark.sh -mr ./src/runtime/sbcl
+ ./src/runtime/sbcl \
+ --core output/cold-sbcl.core \
+ --lose-on-corruption \
diff --git a/testing/sbcl/sigsetmask.patch b/testing/sbcl/sigsetmask.patch
new file mode 100644
index 0000000000..99f7544cde
--- /dev/null
+++ b/testing/sbcl/sigsetmask.patch
@@ -0,0 +1,25 @@
+diff -upr sbcl-1.3.1.orig/src/runtime/undefineds.h sbcl-1.3.1/src/runtime/undefineds.h
+--- sbcl-1.3.1.orig/src/runtime/undefineds.h 2016-04-05 21:14:39.191968400 +0200
++++ sbcl-1.3.1/src/runtime/undefineds.h 2016-04-05 21:15:37.872124518 +0200
+@@ -152,9 +152,6 @@ F(shutdown)
+ #if !defined(hpux) && !defined(SVR4) && !defined(LISP_FEATURE_X86)
+ F(sigreturn)
+ #endif
+-#if !defined(SVR4)
+-F(sigsetmask)
+-#endif
+ #if !defined(SVR4) && !defined(LISP_FEATURE_FREEBSD) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__)
+ F(sigstack)
+ F(sigvec)
+diff -upr sbcl-1.3.1.orig/tools-for-build/ldso-stubs.lisp sbcl-1.3.1/tools-for-build/ldso-stubs.lisp
+--- sbcl-1.3.1.orig/tools-for-build/ldso-stubs.lisp 2016-04-05 21:14:38.945301077 +0200
++++ sbcl-1.3.1/tools-for-build/ldso-stubs.lisp 2016-04-05 21:16:15.048781267 +0200
+@@ -345,8 +345,6 @@ ldso_stub__ ## fct: ; \
+ '("sysctlbyname")
+ #!+os-provides-dladdr
+ '("dladdr")
+- #!-sunos ;; !defined(SVR4)
+- '("sigsetmask")
+ #!-android
+ '("nl_langinfo"
+ "getpagesize"