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.
This commit is contained in:
parent
efe1024dd7
commit
11f0f1a9f4
14 changed files with 289 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
14
lang/sbcl/patches/patch-make-genesis-2.sh
Normal file
14
lang/sbcl/patches/patch-make-genesis-2.sh
Normal file
|
@ -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
|
14
lang/sbcl/patches/patch-make-host-1.sh
Normal file
14
lang/sbcl/patches/patch-make-host-1.sh
Normal file
|
@ -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
|
14
lang/sbcl/patches/patch-make-host-2.sh
Normal file
14
lang/sbcl/patches/patch-make-host-2.sh
Normal file
|
@ -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
|
14
lang/sbcl/patches/patch-make-target-1.sh
Normal file
14
lang/sbcl/patches/patch-make-target-1.sh
Normal file
|
@ -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
|
14
lang/sbcl/patches/patch-make-target-2.sh
Normal file
14
lang/sbcl/patches/patch-make-target-2.sh
Normal file
|
@ -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.
|
||||
#
|
19
lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd
Normal file
19
lang/sbcl/patches/patch-src_runtime_Config.arm-netbsd
Normal file
|
@ -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
|
30
lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd
Normal file
30
lang/sbcl/patches/patch-src_runtime_Config.generic-netbsd
Normal file
|
@ -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
|
||||
+
|
29
lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd
Normal file
29
lang/sbcl/patches/patch-src_runtime_Config.ppc-netbsd
Normal file
|
@ -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
|
||||
|
31
lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd
Normal file
31
lang/sbcl/patches/patch-src_runtime_Config.sparc-netbsd
Normal file
|
@ -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
|
23
lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd
Normal file
23
lang/sbcl/patches/patch-src_runtime_Config.x86-64-netbsd
Normal file
|
@ -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.
|
19
lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd
Normal file
19
lang/sbcl/patches/patch-src_runtime_Config.x86-netbsd
Normal file
|
@ -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
|
53
lang/sbcl/patches/patch-src_runtime_run-program.c
Normal file
53
lang/sbcl/patches/patch-src_runtime_run-program.c
Normal file
|
@ -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());
|
Loading…
Reference in a new issue