aboutsummaryrefslogtreecommitdiffstats
path: root/testing/sbcl
diff options
context:
space:
mode:
authorWill sinatra <wpsinatra@gmail.com>2020-04-11 22:18:50 -0500
committerRasmus Thomsen <oss@cogitri.dev>2020-04-15 15:30:55 +0000
commit1bb702fb705307cefb069f896b3f0b461ae7ff2a (patch)
tree1b2c9eb80c5a0e37fc847b7e5c877ca62524c42f /testing/sbcl
parent27acf85c3710075bb437f7b54d481a69277397ce (diff)
downloadaports-1bb702fb705307cefb069f896b3f0b461ae7ff2a.tar.bz2
aports-1bb702fb705307cefb069f896b3f0b461ae7ff2a.tar.xz
testing/sbcl: upgrade to 2.0.3
aarch64 support should be feasible on release 2.0.4, an issue with frlock was addressed here https://sourceforge.net/p/sbcl/sbcl/ci/899d5f2da85c9c57f7d292ffa56293a228261e78/, which should address the only standing issue prevent compilation on that architecture.
Diffstat (limited to 'testing/sbcl')
-rw-r--r--testing/sbcl/0001-Fix-sb-bsd-sockets-on-musl-libc.patch93
-rw-r--r--testing/sbcl/0002-Fix-threads-on-musl-libc.patch32
-rw-r--r--testing/sbcl/0003-Fix-foreign-tests-on-musl-libc.patch191
-rw-r--r--testing/sbcl/0004-Only-include-old-memcpy-version-on-glibc.patch8
-rw-r--r--testing/sbcl/APKBUILD40
-rw-r--r--testing/sbcl/Disable-fcntl.1-POSIX-test.patch51
6 files changed, 152 insertions, 263 deletions
diff --git a/testing/sbcl/0001-Fix-sb-bsd-sockets-on-musl-libc.patch b/testing/sbcl/0001-Fix-sb-bsd-sockets-on-musl-libc.patch
index 52187156df..88497a41b3 100644
--- a/testing/sbcl/0001-Fix-sb-bsd-sockets-on-musl-libc.patch
+++ b/testing/sbcl/0001-Fix-sb-bsd-sockets-on-musl-libc.patch
@@ -1,66 +1,47 @@
#2020/01/30 Patch has not yet been accepted upstream
-From 46e1d8be04a87e6a2cb1c8be14beb99fe3702133 Mon Sep 17 00:00:00 2001
+From be70a77e2b06e2442b38093adbe84b15ea065c8f Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
-Date: Sun, 2 Dec 2018 14:02:33 -0500
-Subject: [PATCH 1/4] Fix sb-bsd-sockets on musl libc
+Date: Sat, 1 Feb 2020 15:38:19 -0500
+Subject: [PATCH 1/5] Make sb-bsd-sockets robust to the absence of NETDB_*
-Musl libc does not define NETDB_INTERNAL or NETDB_SUCCESS. Add a build time test
-to determine if these are defined. If they are defined, add the feature
-:os-provides-netdb-internal. If this feature is missing, sb-bsd-sockets defaults
-NETDB-INTERNAL to -1 and NETDB-SUCCESS to 0.
+NETDB_INTERNAL and NETDB_SUCCESS are not defined by all libc
+implementations (see: musl libc). If groveling fails for these values, set them
+to NIL which effectively disables the corresponding Lisp conditions from being
+signaled.
---
- contrib/sb-bsd-sockets/constants.lisp | 4 ++--
- tools-for-build/grovel-features.sh | 2 ++
- tools-for-build/os-provides-netdb-internal-test.c | 12 ++++++++++++
- 3 files changed, 16 insertions(+), 2 deletions(-)
- create mode 100644 tools-for-build/os-provides-netdb-internal-test.c
+ contrib/sb-bsd-sockets/name-service.lisp | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
-diff --git a/contrib/sb-bsd-sockets/constants.lisp b/contrib/sb-bsd-sockets/constants.lisp
-index 88f5bb7c4..23fd87277 100644
---- a/contrib/sb-bsd-sockets/constants.lisp
-+++ b/contrib/sb-bsd-sockets/constants.lisp
-@@ -93,8 +93,8 @@
- (:integer EAFNOSUPPORT "EAFNOSUPPORT")
- (:integer EINPROGRESS "EINPROGRESS")
+diff --git a/contrib/sb-bsd-sockets/name-service.lisp b/contrib/sb-bsd-sockets/name-service.lisp
+index 34c7262ea..97b505a5e 100644
+--- a/contrib/sb-bsd-sockets/name-service.lisp
++++ b/contrib/sb-bsd-sockets/name-service.lisp
+@@ -1,5 +1,16 @@
+ (in-package :sb-bsd-sockets)
-- (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "NETDB_INTERNAL" "See errno.")
-- (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "NETDB_SUCCESS" "No problem.")
-+ (:integer-no-check NETDB-INTERNAL #-os-provides-netdb-internal "-1" #+(and os-provides-netdb-internal hpux) "h_NETDB_INTERNAL" #+(and os-provides-netdb-internal (not hpux)) "NETDB_INTERNAL" "See errno.")
-+ (:integer-no-check NETDB-SUCCESS #-os-provides-netdb-internal "0" #+(and os-provides-netdb-internal hpux) "h_NETDB_SUCCESS" #+(and os-provides-netdb-internal (not hpux)) "NETDB_SUCCESS" "No problem.")
- (:integer HOST-NOT-FOUND "HOST_NOT_FOUND" "Authoritative Answer Host not found.")
- (:integer TRY-AGAIN "TRY_AGAIN" "Non-Authoritative Host not found, or SERVERFAIL.")
- (:integer NO-RECOVERY "NO_RECOVERY" "Non recoverable errors, FORMERR, REFUSED, NOTIMP.")
-diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh
-index 8f0ee7ffa..4790c0f11 100644
---- a/tools-for-build/grovel-features.sh
-+++ b/tools-for-build/grovel-features.sh
-@@ -33,6 +33,8 @@ featurep os-provides-getprotoby-r
-
- featurep os-provides-poll
-
-+featurep os-provides-netdb-internal
++;; If we're unable to grovel for NETDB_INTERNAL and NETDB_SUCCESS (not every
++;; libc sets them), set their constants to NIL. This effectively makes their
++;; respective conditions unreachable.
++#-win32
++(eval-when (:compile-toplevel :load-toplevel :execute)
++ (unless (constantp 'sockint::netdb-internal)
++ (defconstant sockint::netdb-internal nil "See errno."))
++ (unless (constantp 'sockint::netdb-success)
++ (defconstant sockint::netdb-success nil "No problem.")))
+
- if [ $sbcl_arch == arm ] ; then
- featurep arm-softfp
- fi
-diff --git a/tools-for-build/os-provides-netdb-internal-test.c b/tools-for-build/os-provides-netdb-internal-test.c
-new file mode 100644
-index 000000000..cab08cc41
---- /dev/null
-+++ b/tools-for-build/os-provides-netdb-internal-test.c
-@@ -0,0 +1,12 @@
-+#include <netdb.h>
+
-+int main ()
-+{
-+#if defined NETDB_INTERNAL && defined NETDB_SUCCESS
-+ return 104;
-+#elif defined h_NETDB_INTERNAL && defined h_NETDB_SUCCESS
-+ return 104;
-+#else
-+ return 0;
-+#endif
-+}
+ (defclass host-ent ()
+ ((name :initarg :name :reader host-ent-name
+ :documentation "The name of the host")
+@@ -195,7 +206,7 @@ (defun name-service-error (where &optional errno)
+ (let ((*name-service-errno* (get-name-service-errno errno)))
+ ;; Comment next to NETDB_INTERNAL in netdb.h says "See errno.".
+ ;; This special case treatment hasn't actually been tested yet.
+- (if (and #-win32 (= *name-service-errno* sockint::NETDB-INTERNAL))
++ (if (and #-win32 sockint::netdb-internal #-win32 (= *name-service-errno* sockint::NETDB-INTERNAL))
+ (socket-error where)
+ (let ((condition
+ (condition-for-name-service-errno *name-service-errno*)))
--
-2.24.1
+2.25.0
diff --git a/testing/sbcl/0002-Fix-threads-on-musl-libc.patch b/testing/sbcl/0002-Fix-threads-on-musl-libc.patch
index a49357e3eb..7561e9182c 100644
--- a/testing/sbcl/0002-Fix-threads-on-musl-libc.patch
+++ b/testing/sbcl/0002-Fix-threads-on-musl-libc.patch
@@ -1,32 +1,30 @@
#2020/01/30 Patch has not yet been accepted upstream
-From c81b8fe3e63b7267ac8f6aeea86811acd888e8e9 Mon Sep 17 00:00:00 2001
+From 51ee0c90068ef7d88a23d86579cc1f73c2f6055f Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
-Date: Sun, 2 Dec 2018 14:10:23 -0500
-Subject: [PATCH 2/4] Fix threads on musl libc
+Date: Sat, 1 Feb 2020 17:33:38 -0500
+Subject: [PATCH 2/5] Do not require _CS_GNU_LIBPTHREAD_VERSION at runtime
+ start
-Musl libc does not add any content to _CS_GNU_LIBPTHREAD_VERSION, causing the
-runtime check to make sure the thread implementation is NPTL to fail. There
-seems to be no way to test not NPTL at run time on musl, so if the configuration
-value is empty, just assume the thread implementation is good enough.
+If there is no content in confstr for _CS_GNU_LIBPTHREAD_VERSION (i.e., on a
+non GNU libc) then assume the thread implementation is good enough and let the
+user deal with any fallout.
---
- src/runtime/linux-os.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
+ src/runtime/linux-os.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c
-index 89244e793..e98c68cc4 100644
+index 89244e793..0ff55653d 100644
--- a/src/runtime/linux-os.c
+++ b/src/runtime/linux-os.c
-@@ -186,8 +186,15 @@ isnptl (void)
+@@ -186,8 +186,13 @@ isnptl (void)
if (strstr (buf, "NPTL")) {
return 1;
}
-+ else {
-+ return 0;
-+ }
++ return 0;
+ }
+ else {
-+ /* If the configuration variable is empty, just assume we have a
-+ * good enough thread implementation. */
++ /* This libc does not expose the libpthread version. Just assume we have
++ * a good enough thread implementation. */
+ return 1;
}
- return 0;
@@ -34,5 +32,5 @@ index 89244e793..e98c68cc4 100644
#endif
--
-2.24.1
+2.25.0
diff --git a/testing/sbcl/0003-Fix-foreign-tests-on-musl-libc.patch b/testing/sbcl/0003-Fix-foreign-tests-on-musl-libc.patch
index d937406669..2c4da211a0 100644
--- a/testing/sbcl/0003-Fix-foreign-tests-on-musl-libc.patch
+++ b/testing/sbcl/0003-Fix-foreign-tests-on-musl-libc.patch
@@ -1,28 +1,74 @@
#2020/01/30 Patch has not yet been accepted upstream
-From 30403cfef2327e1df92b5e29201ee1ddf54a8dfd Mon Sep 17 00:00:00 2001
+From 87b1eca2b719fb5e2d6f10352dcdb86f4d389ca9 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
-Date: Sun, 2 Dec 2018 14:20:24 -0500
-Subject: [PATCH 3/4] Fix foreign tests on musl libc
+Date: Sat, 1 Feb 2020 17:33:59 -0500
+Subject: [PATCH 3/5] Teach foreign.test.sh about noop dlclose implementations
Musl libc's implementation of dlclose(3) is (intentionally) a noop (see:
-https://wiki.musl-libc.org/functional-differences-from-glibc.html). Add a build
-time test for this and a new feature :os-dlclose-is-noop. Additionally, use this
-feature to skip some regression tests if it is present.
+https://wiki.musl-libc.org/functional-differences-from-glibc.html). When
+running regression tests, test if dlclose is a noop and if so, skip all tests
+that depend on objects being unmapped.
---
- tests/foreign.test.sh | 42 +++++++++++--------
- tools-for-build/Makefile | 3 ++
- tools-for-build/grovel-features.sh | 7 ++++
- .../os-dlclose-is-noop-test-helper.c | 1 +
- tools-for-build/os-dlclose-is-noop-test.c | 19 +++++++++
- 5 files changed, 55 insertions(+), 17 deletions(-)
- create mode 100644 tools-for-build/os-dlclose-is-noop-test-helper.c
- create mode 100644 tools-for-build/os-dlclose-is-noop-test.c
+ src/code/foreign-load.lisp | 2 +-
+ tests/foreign.test.sh | 67 ++++++++++++++++++++++++++++----------
+ 2 files changed, 51 insertions(+), 18 deletions(-)
+diff --git a/src/code/foreign-load.lisp b/src/code/foreign-load.lisp
+index ada107c36..4510f2ccf 100644
+--- a/src/code/foreign-load.lisp
++++ b/src/code/foreign-load.lisp
+@@ -48,7 +48,7 @@ (defun load-shared-object (pathname &key dont-save)
+ definitions; if a symbol was previously referenced through the object and
+ is not present in the reloaded version an error will be signalled. Reloading
+ may not work as expected if user or library-code has called dlopen(3) on the
+-same shared object.
++same shared object or running on a system where dlclose(3) is a noop.
+
+ LOAD-SHARED-OBJECT interacts with SB-EXT:SAVE-LISP-AND-DIE:
+
diff --git a/tests/foreign.test.sh b/tests/foreign.test.sh
-index fabba1246..5574b1ef7 100755
+index fabba1246..53131bdd2 100755
--- a/tests/foreign.test.sh
+++ b/tests/foreign.test.sh
-@@ -250,16 +250,20 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
+@@ -140,6 +140,28 @@ echo 'int late_foo = 43;' > $TEST_FILESTEM-c.c
+ echo 'int late_bar() { return 14; }' >> $TEST_FILESTEM-c.c
+ build_so $TEST_FILESTEM-c
+
++cat > $TEST_FILESTEM-noop-dlclose-test.c <<EOF
++#include <dlfcn.h>
++#include <stddef.h>
++
++int dlclose_is_noop () {
++ void * handle = dlopen("./$TEST_FILESTEM-noop-dlclose-test-helper.so", RTLD_NOW | RTLD_GLOBAL);
++ dlclose(handle);
++
++ handle = dlopen("./$TEST_FILESTEM-noop-dlclose-test-helper.so", RTLD_NOW | RTLD_NOLOAD);
++ if (handle != NULL) {
++ return 1;
++ }
++ return 0;
++}
++EOF
++build_so $TEST_FILESTEM-noop-dlclose-test
++
++cat > $TEST_FILESTEM-noop-dlclose-test-helper.c <<EOF
++int sbcl_dlclose_test = 42;
++EOF
++build_so $TEST_FILESTEM-noop-dlclose-test-helper
++
+ ## Foreign definitions & load
+
+ cat > $TEST_FILESTEM.base.lisp <<EOF
+@@ -246,20 +268,28 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
+
+ (note "/initial assertions ok")
+
++ ;; determine if dlclose is a noop.
++ (load-shared-object (truename "$TEST_FILESTEM-noop-dlclose-test.so"))
++ (define-alien-routine dlclose-is-noop int)
++ (defparameter *dlclose-noop-p* (plusp (dlclose-is-noop)))
++
+ ;; test reloading object file with new definitions
(assert (= 13 foo))
(assert (= 42 (bar)))
(note "/original definitions ok")
@@ -36,24 +82,23 @@ index fabba1246..5574b1ef7 100755
- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
- (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
- (note "/renamed back to originals")
-+ #+os-dlclose-is-noop
-+ (note "/skipping reloading tests")
-+ #-os-dlclose-is-noop
-+ (progn
-+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
-+ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
-+ (load-shared-object (truename "$TEST_FILESTEM-b.so"))
-+ (note "/reloading ok")
-+ (assert (= 42 foo))
-+ (assert (= 13 (bar)))
-+ (note "/redefined versions ok")
-+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
-+ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
-+ (note "/renamed back to originals"))
++ (if *dlclose-noop-p*
++ (note "/skipping reloading tests")
++ (progn
++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
++ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
++ (load-shared-object (truename "$TEST_FILESTEM-b.so"))
++ (note "/reloading ok")
++ (assert (= 42 foo))
++ (assert (= 13 (bar)))
++ (note "/redefined versions ok")
++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
++ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
++ (note "/renamed back to originals")))
;; test late resolution
#+linkage-table
-@@ -276,13 +280,17 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
+@@ -276,13 +306,16 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
(load-shared-object (truename "$TEST_FILESTEM-c.so"))
(assert (= 43 late-foo))
(assert (= 14 (late-bar)))
@@ -64,81 +109,19 @@ index fabba1246..5574b1ef7 100755
- (multiple-value-bind (val err) (ignore-errors (late-bar))
- (assert (not val))
- (assert (typep err 'undefined-alien-error)))
-+ #+os-dlclose-is-noop
-+ (note "/skipping unloading tests")
-+ #-os-dlclose-is-noop
-+ (progn
-+ (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
-+ (multiple-value-bind (val err) (ignore-errors late-foo)
-+ (assert (not val))
-+ (assert (typep err 'undefined-alien-error)))
-+ (multiple-value-bind (val err) (ignore-errors (late-bar))
-+ (assert (not val))
-+ (assert (typep err 'undefined-alien-error))))
++ (if *dlclose-noop-p*
++ (note "/skipping linkage table unloading tests")
++ (progn
++ (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
++ (multiple-value-bind (val err) (ignore-errors late-foo)
++ (assert (not val))
++ (assert (typep err 'undefined-alien-error)))
++ (multiple-value-bind (val err) (ignore-errors (late-bar))
++ (assert (not val))
++ (assert (typep err 'undefined-alien-error)))))
(note "/linkage table ok"))
(sb-ext:exit :code $EXIT_LISP_WIN) ; success convention for Lisp program
-diff --git a/tools-for-build/Makefile b/tools-for-build/Makefile
-index 1be91e9df..434e03081 100644
---- a/tools-for-build/Makefile
-+++ b/tools-for-build/Makefile
-@@ -16,6 +16,9 @@ LDLIBS:=$(OS_LIBS)
-
- all: grovel-headers determine-endianness where-is-mcontext mmap-rwx
-
-+os-dlclose-is-noop-test-helper.so: os-dlclose-is-noop-test-helper.c
-+ @$(CC) $(LDFLAGS) -shared $< -o $@ $(LOADLIBES) $(LDLIBS)
-+
- clean:
- rm -f *.o grovel-headers determine-endianness where-is-mcontext mmap-rwx
- rm -f *.exe
-diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh
-index 4790c0f11..7d8e547b4 100644
---- a/tools-for-build/grovel-features.sh
-+++ b/tools-for-build/grovel-features.sh
-@@ -38,3 +38,10 @@ featurep os-provides-netdb-internal
- if [ $sbcl_arch == arm ] ; then
- featurep arm-softfp
- fi
-+
-+# We need a helper shared library to test os-dlclose-is-noop
-+$GNUMAKE os-dlclose-is-noop-test-helper.so > /dev/null 2>&1
-+
-+featurep os-dlclose-is-noop
-+
-+rm -f os-dlclose-is-noop-test-helper.so
-diff --git a/tools-for-build/os-dlclose-is-noop-test-helper.c b/tools-for-build/os-dlclose-is-noop-test-helper.c
-new file mode 100644
-index 000000000..4be7a8e5b
---- /dev/null
-+++ b/tools-for-build/os-dlclose-is-noop-test-helper.c
-@@ -0,0 +1 @@
-+int sbcl_dl_close_test = 42;
-diff --git a/tools-for-build/os-dlclose-is-noop-test.c b/tools-for-build/os-dlclose-is-noop-test.c
-new file mode 100644
-index 000000000..3678870d5
---- /dev/null
-+++ b/tools-for-build/os-dlclose-is-noop-test.c
-@@ -0,0 +1,19 @@
-+/* test to build and run so that we know if we have a noop dlclose
-+ */
-+
-+#include <dlfcn.h>
-+#include <stddef.h>
-+
-+int main ()
-+{
-+ void * handle = dlopen("./os-dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_GLOBAL);
-+ dlclose(handle);
-+
-+ handle = dlopen("./os-dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_NOLOAD);
-+
-+ if (handle != NULL) {
-+ return 104;
-+ } else {
-+ return 0;
-+ }
-+}
--
-2.24.1
+2.25.0
diff --git a/testing/sbcl/0004-Only-include-old-memcpy-version-on-glibc.patch b/testing/sbcl/0004-Only-include-old-memcpy-version-on-glibc.patch
index 18c3774f6f..f5685cdc60 100644
--- a/testing/sbcl/0004-Only-include-old-memcpy-version-on-glibc.patch
+++ b/testing/sbcl/0004-Only-include-old-memcpy-version-on-glibc.patch
@@ -1,8 +1,8 @@
#2020/01/30 Patch has not yet been accepted upstream
-From 8324ebd0b476dc267f4e315253d799701b04cc0f Mon Sep 17 00:00:00 2001
+From 5d7395cbd4eb952d4a988c4ee7ee3f5111a9f5a7 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
-Date: Sun, 24 Feb 2019 17:28:49 -0500
-Subject: [PATCH 4/4] Only include old memcpy version on glibc
+Date: Sat, 1 Feb 2020 17:34:10 -0500
+Subject: [PATCH 4/5] Only include old memcpy version on glibc
---
src/runtime/memcpy.h | 2 ++
@@ -23,5 +23,5 @@ index a99c5fb7e..e3d104e3a 100644
#endif
+#endif
--
-2.24.1
+2.25.0
diff --git a/testing/sbcl/APKBUILD b/testing/sbcl/APKBUILD
index 745c04815c..7f11a0f090 100644
--- a/testing/sbcl/APKBUILD
+++ b/testing/sbcl/APKBUILD
@@ -3,11 +3,11 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=sbcl
-pkgver=2.0.1
-pkgrel=1
+pkgver=2.0.3
+pkgrel=0
pkgdesc="Steel Bank Common Lisp"
url="http://www.sbcl.org/"
-arch="x86_64 armv7" #aarch64 is WIP
+arch="x86_64 armv7" #aarch64 support inbound on 2.0.4
license="custom"
options="!check"
checkdepends="ed"
@@ -18,36 +18,15 @@ source="$pkgname-$pkgver.tar.bz2::https://prdownloads.sourceforge.net/sbcl/sbcl-
0002-Fix-threads-on-musl-libc.patch
0003-Fix-foreign-tests-on-musl-libc.patch
0004-Only-include-old-memcpy-version-on-glibc.patch
- Disable-fcntl.1-POSIX-test.patch
Fix-ARM-build-using-ECL-host.patch
march-armv5-removed.patch"
-prepare() {
- #TODO: handle this properly
-
- #Patches to build on musl libc, required universally, pending upstream
- patch -p1 -i "$srcdir"/0001-Fix-sb-bsd-sockets-on-musl-libc.patch
- patch -p1 -i "$srcdir"/0002-Fix-threads-on-musl-libc.patch
- patch -p1 -i "$srcdir"/0003-Fix-foreign-tests-on-musl-libc.patch
- patch -p1 -i "$srcdir"/0004-Only-include-old-memcpy-version-on-glibc.patch
-
- #Arch specific patches required by platform
- case "$CARCH" in
- armv7)
- patch -p1 -i "$srcdir"/Disable-fcntl.1-POSIX-test.patch
- patch -p1 -i "$srcdir"/Fix-ARM-build-using-ECL-host.patch
- patch -p1 -i "$srcdir"/march-armv5-removed.patch ;;
- aarch64)
- patch -p1 -i "$srcdir"/Fix-ARM-build-using-ECL-host.patch ;;
- esac
-}
-
build() {
all_arch_conf='--with-sb-test --with-sb-unicode --with-sb-core-compression'
case "$CARCH" in
armv7) conf="$all_arch_conf" ;;
- aarch64) conf="--prefix=/usr" ;;
+ aarch64) ;;
*) conf="$all_arch_conf --with-sb-thread" ;;
esac
@@ -69,11 +48,10 @@ package() {
"$pkgdir"/usr/share/info 2>/dev/null || true
}
-sha512sums="1d92589033e123c21377f820dbc22e27f2610a372c5545799bec7c247795ba4b8b65102c7fe739f4a15a84579ec72f63fb9f4b197db5c6da1f8d59bd35966bea sbcl-2.0.1.tar.bz2
-76ccb2206f0a9abd3f74859c9db3d8622e7006a62f867f6cf2398ce16256800a880111f5ea3911a315f6f82eb4b2b77dbeeb73f609ec065421b11978fd6fe18f 0001-Fix-sb-bsd-sockets-on-musl-libc.patch
-4caa863e5e44170b4ca8f9a3199886303e02821edbc0c7866ac1013681cfaeb76153856a28bff632f2f396d39ee05ac0e427393716209db8e3f0bc640f4816ec 0002-Fix-threads-on-musl-libc.patch
-7686f3110c1b6920790257d6b938b701afb4ea1710e0057c74f19f107affa0cfaaf2519215df9f9d5b6f326ee9feb1d935ffb8152390560f22e3188db9759065 0003-Fix-foreign-tests-on-musl-libc.patch
-02452684bccc200c0117252019679b0cf0403a90e5fb97f0981cb658888e73e7792efc47ae82f01cdaec128b1b3e356b0878fdb07cf04d7c5fdd0b2afd97186f 0004-Only-include-old-memcpy-version-on-glibc.patch
-cffecafd3f902d5f2be05fde3c0c5d0e0b0b8bb57d9561296ea9e630490c9a02c79ec616ca9c41de8d8be204e9e019df14e5d621adaa3dc444853f2cb5a6101c Disable-fcntl.1-POSIX-test.patch
+sha512sums="c29c115fff0e118e5c05959dd8d73ae876458daeb5ddde67ce485b10e6d1583b1f8a9597b54b45606696ab1b1eea5392dcb09357c83fce31323f2a5a154f2dd1 sbcl-2.0.3.tar.bz2
+0f5b3cac8fed2bac1bfa25f4116ef62e7226994318aff26a69bae6e29a7952e16fe930f14bba2a41b0e50c4cc3e30ce2a36dd8d0b85e6090d455ec6712f3a10a 0001-Fix-sb-bsd-sockets-on-musl-libc.patch
+36bbe64437763f7963dab7af3bcc26ab92ee10d6b12532be40706ce01a5fe29878d8ef9392037be8f09b357a6527e992d1698ea4cd1048050544b2e653edd5fa 0002-Fix-threads-on-musl-libc.patch
+9a1b20c07a1f43ea60d1bd0f4de2474c38441858a7de7351f046943d022c21803bd5d9eb05b5c684519a76dc623d9893af1967c3a26177e7447e05e30e61b18b 0003-Fix-foreign-tests-on-musl-libc.patch
+7c7d7b982814435463a7678ff59ab354426bcee62a3b7ba253d8da1391e68c614cd4d90970fbbfd68ea0927c2689b6c16f01b0e0185489329700ce21aaa5a92c 0004-Only-include-old-memcpy-version-on-glibc.patch
6f49d1f1c6bd4e8d839e6b4ab3bb74cbdcce85ee83a0f1c5efab04d97b613a624f8874dadd7f6d981940ff28c468f00b74a56ff2afc53f41884d753ac7a5028f Fix-ARM-build-using-ECL-host.patch
367454a75de122134fdbf1064182a96ee00cf0685db0922134fdbdfc0e0bb2c6a5cfb9878f23409eca48a443e0f19b291f8d380e3475176a4c8cea0c9768c2bd march-armv5-removed.patch"
diff --git a/testing/sbcl/Disable-fcntl.1-POSIX-test.patch b/testing/sbcl/Disable-fcntl.1-POSIX-test.patch
deleted file mode 100644
index 312f00c024..0000000000
--- a/testing/sbcl/Disable-fcntl.1-POSIX-test.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-#2020/01/30 Patch has not yet been accepted upstream
-From ffb221ca00fc501dc45afd50b73dbb756bc2c365 Mon Sep 17 00:00:00 2001
-From: Eric Timmons <etimmons@mit.edu>
-Date: Wed, 11 Dec 2019 09:11:17 -0800
-Subject: [PATCH] Disable fcntl.1 POSIX test
-
-Seems to not work as expected on ARM with musl libc
----
- contrib/sb-posix/posix-tests.lisp | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp
-index b194aa455..3a72b8fc7 100644
---- a/contrib/sb-posix/posix-tests.lisp
-+++ b/contrib/sb-posix/posix-tests.lisp
-@@ -432,19 +432,19 @@ (deftest open.error.1
- #+win32
- #.sb-posix:eacces)
-
--#-(or (and (or x86-64 arm64 ppc64 alpha) (or linux sunos)) win32)
--(deftest fcntl.1
-- (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
-- (= (sb-posix:fcntl fd sb-posix::f-getfl) sb-posix::o-nonblock))
-- t)
--;; On AMD64/Linux O_LARGEFILE is always set, even though the whole
--;; flag makes no sense.
--#+(and (or x86-64 arm64 ppc64 alpha) (or linux sunos))
--(deftest fcntl.1
-- (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
-- (/= 0 (logand (sb-posix:fcntl fd sb-posix::f-getfl)
-- sb-posix::o-nonblock)))
-- t)
-+;; #-(or (and (or x86-64 arm64 ppc64 alpha) (or linux sunos)) win32)
-+;; (deftest fcntl.1
-+;; (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
-+;; (= (sb-posix:fcntl fd sb-posix::f-getfl) sb-posix::o-nonblock))
-+;; t)
-+;; ;; On AMD64/Linux O_LARGEFILE is always set, even though the whole
-+;; ;; flag makes no sense.
-+;; #+(and (or x86-64 arm64 ppc64 alpha) (or linux sunos))
-+;; (deftest fcntl.1
-+;; (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
-+;; (/= 0 (logand (sb-posix:fcntl fd sb-posix::f-getfl)
-+;; sb-posix::o-nonblock)))
-+;; t)
-
- #-(or hpux win32 netbsd) ; fix: cant handle c-vargs
- (deftest fcntl.flock.1
---
-2.24.0
-