summaryrefslogtreecommitdiff
path: root/lang/sbcl
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2019-10-12 09:47:39 +0000
committerhe <he@pkgsrc.org>2019-10-12 09:47:39 +0000
commit773eba99c5ff4ea88f3deda59159e79d5421b5cc (patch)
tree345abd882da2c2416ce8568d4ee6d2638f4dd587 /lang/sbcl
parent0755d5aede070df14494986f2167f614b4786411 (diff)
downloadpkgsrc-773eba99c5ff4ea88f3deda59159e79d5421b5cc.tar.gz
A couple of fixes to sbcl:
* Don't request job control in the shell scripts used during the build via the "-m" option; it will cause a backgrounded job to stall with SIGTTIN. * Add a Config.generic-netbsd, and collect common settings for all the various NetBSD configs there. * Do tty handling in sbcl the same way OpenBSD does, i.e. no TIOCNOTTY. Bump PKGREVISION.
Diffstat (limited to 'lang/sbcl')
-rw-r--r--lang/sbcl/Makefile3
-rw-r--r--lang/sbcl/distinfo14
-rw-r--r--lang/sbcl/patches/patch-make-genesis-2.sh14
-rw-r--r--lang/sbcl/patches/patch-make-host-1.sh14
-rw-r--r--lang/sbcl/patches/patch-make-host-2.sh14
-rw-r--r--lang/sbcl/patches/patch-make-target-1.sh14
-rw-r--r--lang/sbcl/patches/patch-make-target-2.sh14
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd19
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd30
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd29
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd31
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd23
-rw-r--r--lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd19
-rw-r--r--lang/sbcl/patches/patch-src_runtime_run-program.c53
14 files changed, 289 insertions, 2 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
index fd12027250d..03b8d6dd55e 100644
--- a/lang/sbcl/Makefile
+++ b/lang/sbcl/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.81 2019/10/01 22:15:57 rjs Exp $
+# $NetBSD: Makefile,v 1.82 2019/10/12 09:47:39 he Exp $
DISTNAME= ${PKGNAME_NOREV}-source
PKGNAME= sbcl-1.5.7
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/}
EXTRACT_SUFX= .tar.bz2
diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo
index 04d7e90f325..f8507c2d5fe 100644
--- a/lang/sbcl/distinfo
+++ b/lang/sbcl/distinfo
@@ -1,8 +1,20 @@
-$NetBSD: distinfo,v 1.60 2019/10/01 22:15:57 rjs Exp $
+$NetBSD: distinfo,v 1.61 2019/10/12 09:47:39 he Exp $
SHA1 (sbcl-1.5.7-source.tar.bz2) = b16ff3a0c0638bb685ff5f93106553c03a68d978
RMD160 (sbcl-1.5.7-source.tar.bz2) = 850176b451d83daf52e7b0d2f6095015c5122494
SHA512 (sbcl-1.5.7-source.tar.bz2) = 8dde1b0d400f93fed085f6b6c33b057c3dec4dfa83afb7431384add6628cb2f910cba006b2579cea547685aeb79fade5ad576b0a42e4f7e1f6c0c3f26acf226e
Size (sbcl-1.5.7-source.tar.bz2) = 6438048 bytes
SHA1 (patch-ab) = b087921f7317523fd78396518dfd2cb1c8e6d5f9
+SHA1 (patch-make-genesis-2.sh) = 5d61f2662795c93aabfaa18ef686725d2ed9384a
+SHA1 (patch-make-host-1.sh) = 7ecb23bf3cd4ee091a279503668a539a533b1196
+SHA1 (patch-make-host-2.sh) = c0ac2f16a670a6db2ff69b863d1f990f7ba0bef0
+SHA1 (patch-make-target-1.sh) = 9064623b0cba2fc6869f3d29ea090d55b7bdaf17
+SHA1 (patch-make-target-2.sh) = 7b288c3c320adb89cefa78a2fc93223ea4b3b66f
SHA1 (patch-slam.sh) = 3edb599272f8f4827b0f5edc5a67d134856ca269
+SHA1 (patch-src_runtime_Config.arm-netbsd) = 4282033c32b3ed533cd64e480827e865deaaa2a2
+SHA1 (patch-src_runtime_Config.generic-netbsd) = 2720f0a9417395751278caa2df7ef9c9c8c9e3e0
+SHA1 (patch-src_runtime_Config.ppc-netbsd) = 39851e2682d9bc4f7770769529dfc3b00664292f
+SHA1 (patch-src_runtime_Config.sparc-netbsd) = 73397cb6e064250f99e91bcd94d84db5d19a523d
+SHA1 (patch-src_runtime_Config.x86-64-netbsd) = 79d14015db51f61226b9e848d27f90e2538a84af
+SHA1 (patch-src_runtime_Config.x86-netbsd) = 019c69d928d5ed80a2b4862a82008f50465eeda7
+SHA1 (patch-src_runtime_run-program.c) = cc07799e5bbee2f827190e3b62fbca2f1d4528a3
diff --git a/lang/sbcl/patches/patch-make-genesis-2.sh b/lang/sbcl/patches/patch-make-genesis-2.sh
new file mode 100644
index 00000000000..7af5856dfb4
--- /dev/null
+++ b/lang/sbcl/patches/patch-make-genesis-2.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-make-genesis-2.sh,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Do not explicitly turn on job control, it will stall a bakcground job
+with SIGTTIN.
+
+--- make-genesis-2.sh.orig 2019-09-28 09:49:01.000000000 +0000
++++ make-genesis-2.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-set -em
++set -e
+
+ # This is a script to be run as part of make.sh. The only time you'd
+ # want to run it by itself is if you're trying to cross-compile the
diff --git a/lang/sbcl/patches/patch-make-host-1.sh b/lang/sbcl/patches/patch-make-host-1.sh
new file mode 100644
index 00000000000..0c818419404
--- /dev/null
+++ b/lang/sbcl/patches/patch-make-host-1.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-make-host-1.sh,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Do not explicitly turn on job control, it will stall a bakcground job
+with SIGTTIN.
+
+--- make-host-1.sh.orig 2019-09-28 09:49:01.000000000 +0000
++++ make-host-1.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-set -em
++set -e
+
+ # This is a script to be run as part of make.sh. The only time you'd
+ # want to run it by itself is if you're trying to cross-compile the
diff --git a/lang/sbcl/patches/patch-make-host-2.sh b/lang/sbcl/patches/patch-make-host-2.sh
new file mode 100644
index 00000000000..c16306fa85b
--- /dev/null
+++ b/lang/sbcl/patches/patch-make-host-2.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-make-host-2.sh,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Do not explicitly turn on job control, it will stall a bakcground job
+with SIGTTIN.
+
+--- make-host-2.sh.orig 2019-09-28 09:49:01.000000000 +0000
++++ make-host-2.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-set -em
++set -e
+
+ # This is a script to be run as part of make.sh. The only time you'd
+ # want to run it by itself is if you're trying to cross-compile the
diff --git a/lang/sbcl/patches/patch-make-target-1.sh b/lang/sbcl/patches/patch-make-target-1.sh
new file mode 100644
index 00000000000..43230ecec96
--- /dev/null
+++ b/lang/sbcl/patches/patch-make-target-1.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-make-target-1.sh,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Do not explicitly turn on job control, it will stall a bakcground job
+with SIGTTIN.
+
+--- make-target-1.sh.orig 2019-09-28 09:49:01.000000000 +0000
++++ make-target-1.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-set -em
++set -e
+
+ # This is a script to be run as part of make.sh. The only time you'd
+ # want to run it by itself is if you're trying to cross-compile the
diff --git a/lang/sbcl/patches/patch-make-target-2.sh b/lang/sbcl/patches/patch-make-target-2.sh
new file mode 100644
index 00000000000..671b2b53092
--- /dev/null
+++ b/lang/sbcl/patches/patch-make-target-2.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-make-target-2.sh,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Do not explicitly turn on job control, it will stall a bakcground job
+with SIGTTIN.
+
+--- make-target-2.sh.orig 2019-09-28 09:49:01.000000000 +0000
++++ make-target-2.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-set -em
++set -e
+
+ # --load argument skips compilation.
+ #
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd
new file mode 100644
index 00000000000..6dc39b528bb
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_runtime_Config.arm-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Use Config.generic-netbsd, don't override OS_LIBS, but add to it.
+
+--- src/runtime/Config.arm-netbsd.orig 2019-09-28 09:49:01.000000000 +0000
++++ src/runtime/Config.arm-netbsd
+@@ -9,10 +9,10 @@
+ # provided with absolutely no warranty. See the COPYING and CREDITS
+ # files for more information.
+
++include Config.generic-netbsd
+ include Config.arm-bsd
+
+-ASSEM_SRC += ldso-stubs.S
+-OS_LIBS = -lutil -larm
++OS_LIBS += -larm
+
+ ifdef LISP_FEATURE_SB_THREAD
+ OS_LIBS += -lpthread -lrt
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd
new file mode 100644
index 00000000000..1e2708af39f
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_runtime_Config.generic-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Make a Config.generic-netbsd, put common NetBSD settings there.
+
+--- src/runtime/Config.generic-netbsd.orig 2019-10-11 22:24:17.425396928 +0000
++++ src/runtime/Config.generic-netbsd
+@@ -0,0 +1,23 @@
++# -*- makefile -*- for the C-level run-time support for SBCL
++
++# This software is part of the SBCL system. See the README file for
++# more information.
++#
++# This software is derived from the CMU CL system, which was
++# written at Carnegie Mellon University and released into the
++# public domain. The software is in the public domain and is
++# provided with absolutely no warranty. See the COPYING and CREDITS
++# files for more information.
++
++OS_SRC += bsd-os.c
++OS_LIBS += -lutil
++ASSEM_SRC += ldso-stubs.S
++
++ifdef LISP_FEATURE_SB_THREAD
++ OS_LIBS += -lpthread -lrt
++endif
++
++ifdef LISP_FEATURE_SB_CORE_COMPRESSION
++ OS_LIBS += -lz
++endif
++
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd
new file mode 100644
index 00000000000..73bffb129d6
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_runtime_Config.ppc-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Use Config.generic-netbsd, don't override OS_LIBS, but add to it.
+
+--- src/runtime/Config.ppc-netbsd.orig 2019-09-28 09:49:01.000000000 +0000
++++ src/runtime/Config.ppc-netbsd
+@@ -9,17 +9,15 @@
+ # provided with absolutely no warranty. See the COPYING and CREDITS
+ # files for more information.
+
++include Config.generic-netbsd
++
+ LINKFLAGS += -dynamic -export-dynamic
+ CFLAGS = -g -Wall -O2
+
+-ASSEM_SRC = ppc-assem.S ldso-stubs.S
+-ARCH_SRC = ppc-arch.c
++ASSEM_SRC += ppc-assem.S
++ARCH_SRC += ppc-arch.c
+
+-OS_SRC = bsd-os.c undefineds.c ppc-bsd-os.c
+-OS_LIBS = # -ldl
+-ifdef LISP_FEATURE_SB_CORE_COMPRESSION
+- OS_LIBS += -lz
+-endif
++OS_SRC += undefineds.c ppc-bsd-os.c
+
+ GC_SRC = fullcgc.c gencgc.c traceroot.c
+
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd
new file mode 100644
index 00000000000..cfa9a78ce35
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd
@@ -0,0 +1,31 @@
+$NetBSD: patch-src_runtime_Config.sparc-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Use Config.generic-netbsd, don't override OS_LIBS, but add to it.
+
+--- src/runtime/Config.sparc-netbsd.orig 2019-09-28 09:49:01.000000000 +0000
++++ src/runtime/Config.sparc-netbsd
+@@ -9,19 +9,17 @@
+ # provided with absolutely no warranty. See the COPYING and CREDITS
+ # files for more information.
+
++include Config.generic-netbsd
++
+ CC = gcc
+ CFLAGS += -g -Wall -O2
+ LINKFLAGS += -v
+ NM = nm -t x -p
+
+-ASSEM_SRC = sparc-assem.S ldso-stubs.S
+-ARCH_SRC = sparc-arch.c undefineds.c
++ASSEM_SRC += sparc-assem.S
++ARCH_SRC += sparc-arch.c undefineds.c
+
+-OS_SRC = bsd-os.c sparc-bsd-os.c
+-OS_LIBS = # -ldl
+-ifdef LISP_FEATURE_SB_CORE_COMPRESSION
+- OS_LIBS += -lz
+-endif
++OS_SRC += sparc-bsd-os.c
+
+ ifdef LISP_FEATURE_GENCGC
+ GC_SRC = fullcgc.c gencgc.c traceroot.c
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd
new file mode 100644
index 00000000000..dc2a3725318
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_runtime_Config.x86-64-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Use Config.generic-netbsd, don't override OS_LIBS.
+
+--- src/runtime/Config.x86-64-netbsd.orig 2019-09-28 09:49:01.000000000 +0000
++++ src/runtime/Config.x86-64-netbsd
+@@ -9,15 +9,9 @@
+ # provided with absolutely no warranty. See the COPYING and CREDITS
+ # files for more information.
+
++include Config.generic-netbsd
+ include Config.x86-64-bsd
+
+-ASSEM_SRC += ldso-stubs.S
+-OS_LIBS += -lutil
+-
+-ifdef LISP_FEATURE_SB_THREAD
+- OS_LIBS += -lpthread -lrt
+-endif
+-
+ # XXX why do all the other Configs set LINKFLAGS instead of LDFLAGS?
+ # LINKFLAGS is only used in src/runtime/GNUmakefile, this causes the
+ # dladdr test in tools-for-build/ to fail.
diff --git a/lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd b/lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd
new file mode 100644
index 00000000000..c49ec57edf2
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_runtime_Config.x86-netbsd,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Use Config.generic-netbsd.
+
+--- src/runtime/Config.x86-netbsd.orig 2019-09-28 09:49:01.000000000 +0000
++++ src/runtime/Config.x86-netbsd
+@@ -9,10 +9,11 @@
+ # provided with absolutely no warranty. See the COPYING and CREDITS
+ # files for more information.
+
++include Config.generic-netbsd
+ include Config.x86-bsd
+
+-ASSEM_SRC += ldso-stubs.S
+ OS_SRC += undefineds.c
++
+ LINKFLAGS += -dynamic -export-dynamic
+
+ CFLAGS = -g -Wall -O2 -fno-omit-frame-pointer
diff --git a/lang/sbcl/patches/patch-src_runtime_run-program.c b/lang/sbcl/patches/patch-src_runtime_run-program.c
new file mode 100644
index 00000000000..af04a9a842e
--- /dev/null
+++ b/lang/sbcl/patches/patch-src_runtime_run-program.c
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_runtime_run-program.c,v 1.1 2019/10/12 09:47:40 he Exp $
+
+Try to avoid doing the "open /dev/tty, TIOCNOTTY" dance.
+Instead, do as on OpenBSD.
+
+--- src/runtime/run-program.c.orig 2019-10-11 11:45:06.733855374 +0000
++++ src/runtime/run-program.c
+@@ -30,7 +30,7 @@
+ #include <termios.h>
+ #include <errno.h>
+
+-#ifdef LISP_FEATURE_OPENBSD
++#if defined(LISP_FEATURE_OPENBSD) || defined(LISP_FETURE_NETBSD)
+ #include <util.h>
+ #endif
+
+@@ -58,7 +58,7 @@ int set_noecho(int fd)
+ return 1;
+ }
+
+-#if defined(LISP_FEATURE_OPENBSD)
++#if defined(LISP_FEATURE_OPENBSD) || defined(LISP_FEATURE_NETBSD)
+
+ int
+ set_pty(char *pty_name)
+@@ -71,7 +71,7 @@ set_pty(char *pty_name)
+ return (set_noecho(STDIN_FILENO));
+ }
+
+-#else /* !LISP_FEATURE_OPENBSD */
++#else /* !LISP_FEATURE_OPENBSD && !LISP_FEATURE_NETBSD */
+
+ int
+ set_pty(char *pty_name)
+@@ -95,7 +95,7 @@ set_pty(char *pty_name)
+ return (0);
+ }
+
+-#endif /* !LISP_FEATURE_OPENBSD */
++#endif /* !LISP_FEATURE_OPENBSD && !LISP_FEATURE_NETBSD */
+
+ int wait_for_exec(int pid, int channel[2]) {
+ if ((-1 != pid) && (-1 != channel[1])) {
+@@ -164,7 +164,8 @@ int spawn(char *program, char *argv[], i
+ * share stdin with our parent. In the latter case we claim
+ * control of the terminal. */
+ if (sin >= 0) {
+-#if defined(LISP_FEATURE_HPUX) || defined(LISP_FEATURE_OPENBSD)
++#if defined(LISP_FEATURE_HPUX) || defined(LISP_FEATURE_OPENBSD) || \
++ defined(LISP_FEATURE_NETBSD)
+ setsid();
+ #elif defined(LISP_FEATURE_DARWIN)
+ setpgid(0, getpid());