[PATCH 0/3] gnu: racket: Update to 8.13.

  • Open
  • quality assurance status badge
Details
One participant
  • Philip McGrath
Owner
unassigned
Submitted by
Philip McGrath
Severity
normal
P
P
Philip McGrath wrote on 26 May 05:15 +0200
(address . guix-patches@gnu.org)
cover.1716692931.git.philip@philipmcgrath.com
Hi,

This is the update for the Racket 8.13 release. The first patch updates Zuo,
and the final patch backports a fix for upstream Chez Scheme to let us run the
test suite.

Thanks,
Philip


Philip McGrath (3):
gnu: zuo: Update to 1.10.
gnu: racket: Update to 8.13.
gnu: chez-scheme: Backport test fix.

gnu/local.mk | 2 +-
gnu/packages/chez.scm | 5 +-
.../patches/chez-scheme-backport-signal.patch | 87 ++++
.../racket-backport-8.12-chez-configure.patch | 423 ------------------
gnu/packages/racket.scm | 49 +-
5 files changed, 114 insertions(+), 452 deletions(-)
create mode 100644 gnu/packages/patches/chez-scheme-backport-signal.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.12-chez-configure.patch


base-commit: 94c8cec99969fe9f65777637fde1f05e1c576a3f
--
2.41.0
P
P
Philip McGrath wrote on 26 May 05:18 +0200
[PATCH 1/3] gnu: zuo: Update to 1.10.
(address . guix-patches@gnu.org)
282a223ded8027a56830130cbe182c440d7073a8.1716692931.git.philip@philipmcgrath.com
* gnu/packages/racket.scm (zuo): Update to 1.10.

Change-Id: I082129143b77d34236e32e5cd4f4aac3275d4bca
---
gnu/packages/racket.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 2b20353159..ab9687ca88 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -243,7 +243,7 @@ (define %racket-origin
(define-public zuo
(package
(name "zuo")
- (version "1.9") ; defined in racket/src/zuo/zuo.c or the following
+ (version "1.10") ; defined in racket/src/zuo/zuo.c or the following
#;(displayln (~a (hash-ref (runtime-env) 'version) "."
(hash-ref (runtime-env) 'minor-version)))
(source (origin
@@ -252,7 +252,7 @@ (define-public zuo
(url "https://github.com/racket/zuo")
(commit (string-append "v" version))))
(sha256
- (base32 "0zasir33nx1qi1ciz9dn6h8k39i443lr6apw5d1i6mjmhpzxmdhp"))
+ (base32 "007bjbhxbw3dq75klaa6f6ljhri2qxi43q6n74wyy50vr9yhx4s1"))
(file-name (git-file-name name version))
(patches (search-patches "zuo-bin-sh.patch"))))
(outputs '("out" "debug"))
--
2.41.0
P
P
Philip McGrath wrote on 26 May 05:18 +0200
[PATCH 3/3] gnu: chez-scheme: Backport test fix.
(address . guix-patches@gnu.org)
3610d2d5d8141d4be1dae8faa1b5ede61e2ff882.1716692931.git.philip@philipmcgrath.com
The backported commit fixes crashes when signals are delivered to
non-Scheme threads, including GC worker threads and threads
created by foreign libraries. This appears to have been the
cause of the intermittent test failures we have experienced.

* gnu/packages/patches/chez-scheme-backport-signal.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/chez-scheme.scm (chez-scheme)[source]<patches>: Use it.
(chez-scheme-for-racket, chez-scheme): Enable tests.

Change-Id: Ifd87ca0d1707ef6ad067d883772a5b42803ead94
---
gnu/local.mk | 1 +
gnu/packages/chez.scm | 3 +-
.../patches/chez-scheme-backport-signal.patch | 87 +++++++++++++++++++
3 files changed, 89 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/chez-scheme-backport-signal.patch

Toggle diff (128 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 5136c92bcf..190e4bd27b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1026,6 +1026,7 @@ dist_patch_DATA = \
%D%/packages/patches/ccextractor-autoconf-tesseract.patch \
%D%/packages/patches/ccextractor-fix-ocr.patch \
%D%/packages/patches/chez-scheme-backport-configure.patch \
+ %D%/packages/patches/chez-scheme-backport-signal.patch \
%D%/packages/patches/chez-scheme-bin-sh.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index dd98966c78..8c52bbb188 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -329,8 +329,6 @@ (define-public chez-scheme-for-racket
(ice-9 match)
(srfi srfi-34))
#:out-of-source? #t
- ;; Intermittent failures: https://github.com/cisco/ChezScheme/issues/809
- #:tests? #f
#:test-target "test" ; test-one test-some-fast test-some test test-more
#:configure-flags
#~`(,@(let* ((chez+version (strip-store-file-name #$output))
@@ -509,6 +507,7 @@ (define-public chez-scheme
"1q66vafhiwk617z51qkm1v64r3bxqhhf5lzrmsa4l9d5yhvlyk09"))
(file-name (git-file-name name version))
(patches (search-patches "chez-scheme-backport-configure.patch"
+ "chez-scheme-backport-signal.patch"
"chez-scheme-bin-sh.patch"))
(snippet #~(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/patches/chez-scheme-backport-signal.patch b/gnu/packages/patches/chez-scheme-backport-signal.patch
new file mode 100644
index 0000000000..1fee32b167
--- /dev/null
+++ b/gnu/packages/patches/chez-scheme-backport-signal.patch
@@ -0,0 +1,87 @@
+From e416651d8b53fa2eca6edde764a9131d128cd166 Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Sat, 2 Mar 2024 07:18:41 -0700
+Subject: [PATCH] constrain signal delivery to Scheme to the main thread (#813)
+
+The intent is to avoid crashes when a signal gets delimited to a
+thread that might not even be a Scheme thread. Also, we don't try to
+queue the event directly in the main thread's context, because then
+we'd need more of a lock (while signal handling is otherwise an
+implicit lock).
+
+(cherry picked from commit fc081fc447a786dd53286e5d7314b7217631cb68)
+---
+
+Notes:
+ This should fix intermittent test failures experienced by Guix:
+ see <https://github.com/cisco/ChezScheme/issues/809>.
+
+ c/globals.h | 1 +
+ c/schsig.c | 10 ++++++++++
+ c/thread.c | 1 +
+ csug/system.stex | 2 ++
+ 4 files changed, 14 insertions(+)
+
+diff --git a/c/globals.h b/c/globals.h
+index d2a08299..eb2965c5 100644
+--- a/c/globals.h
++++ b/c/globals.h
+@@ -49,6 +49,7 @@ EXTERN int S_num_preserve_ownership_threads;
+ # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT
+ EXTERN s_thread_mutex_t S_implicit_mutex;
+ # endif
++EXTERN s_thread_t S_main_thread_id;
+ #endif
+
+ /* segment.c */
+diff --git a/c/schsig.c b/c/schsig.c
+index a89ab62a..04677730 100644
+--- a/c/schsig.c
++++ b/c/schsig.c
+@@ -666,6 +666,16 @@ ptr S_dequeue_scheme_signals(ptr tc) {
+ static void forward_signal_to_scheme(INT sig) {
+ ptr tc = get_thread_context();
+
++#ifdef PTHREADS
++ /* deliver signals to the main thread, only; depending
++ on the threads that are running, `tc` might even be NULL */
++ if (tc != TO_PTR(&S_G.thread_context)) {
++ pthread_kill(S_main_thread_id, sig);
++ RESET_SIGNAL
++ return;
++ }
++#endif
++
+ if (enqueue_scheme_signal(tc, sig)) {
+ SIGNALINTERRUPTPENDING(tc) = Strue;
+ SOMETHINGPENDING(tc) = Strue;
+diff --git a/c/thread.c b/c/thread.c
+index 9a341b22..f130f44d 100644
+--- a/c/thread.c
++++ b/c/thread.c
+@@ -40,6 +40,7 @@ void S_thread_init(void) {
+ s_thread_cond_init(&S_terminated_cond);
+ S_alloc_mutex.owner = 0;
+ S_alloc_mutex.count = 0;
++ S_main_thread_id = s_thread_self();
+
+ # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT
+ s_thread_mutex_init(&S_implicit_mutex);
+diff --git a/csug/system.stex b/csug/system.stex
+index d4f2bcbb..bb89f419 100644
+--- a/csug/system.stex
++++ b/csug/system.stex
+@@ -547,6 +547,8 @@ After a signal handler for a given signal has been registered, receipt
+ of the specified signal results in a call to the handler.
+ The handler is passed the signal number, allowing the same handler to
+ be used for different signals while differentiating among them.
++In a threaded version of the system, signals are always delivered to
++the main thread.
+
+ Signals handled in this fashion are treated like keyboard interrupts in
+ that the handler is not called immediately when the signal is delivered
+
+base-commit: 253230f7dfbb4fe777277d6bbf93f39f9567f086
+--
+2.41.0
+
--
2.41.0
P
P
Philip McGrath wrote on 26 May 05:18 +0200
[PATCH 2/3] gnu: racket: Update to 8.13.
(address . guix-patches@gnu.org)
059d9a24ed7df8e0d1b1105963d9f560140c8d10.1716692931.git.philip@philipmcgrath.com
* gnu/packages/patches/racket-backport-8.12-chez-configure.patch: Delete
obsolete patch.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
10.0.1-pre-release.1.
* gnu/packages/racket.scm (%racket-version): Update to 8.13.
(racket)[inputs]<data, deinprogramm, drracket, eopl, expeditor, gui>
<htdp, math, net-cookies, option-contract, pict, plai, plot, rackunit>
<redex, scribble, snip, typed-racket, srfi, web-server>: Update hashes.

Change-Id: I2d7b6e79a5a4e775d9b918b39fb688b484bb9f93
---
gnu/local.mk | 1 -
gnu/packages/chez.scm | 2 +-
.../racket-backport-8.12-chez-configure.patch | 423 ------------------
gnu/packages/racket.scm | 45 +-
4 files changed, 23 insertions(+), 448 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.12-chez-configure.patch

Toggle diff (198 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 502e97ecd5..5136c92bcf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2009,7 +2009,6 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
- %D%/packages/patches/racket-backport-8.12-chez-configure.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index db582fa821..dd98966c78 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -297,7 +297,7 @@ (define-public chez-scheme-for-racket
(name "chez-scheme-for-racket")
;; The version should match `(scheme-version-number #t)`.
;; See s/cmacros.ss c. line 360.
- (version "9.9.9-pre-release.23")
+ (version "10.1.0-pre-release.1")
(source #f)
(build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type)
diff --git a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch b/gnu/packages/patches/racket-backport-8.12-chez-configure.patch
deleted file mode 100644
index 483948fec9..0000000000
--- a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch
+++ /dev/null
@@ -1,423 +0,0 @@
-From 82157f5b3fb9f71ad7fc978c428d423d06a4a0df Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Wed, 28 Feb 2024 19:41:22 -0500
-Subject: [PATCH 1/2] Chez Scheme: Repairs and improvements for building with
- external dependencies
-
-* configure: support `ZUO=<zuo>`
-
-Supplying `ZUO=<zuo>` skips the submodule check in `configure`
-and configures the generated makefile not to build or remove Zuo.
-
-* configure: support `STEXLIB=<stex>`
-
-For compatibility with older scripts, when not explicitly configured,
-continue to honor the `STEXLIB` environment variable at build time.
-
-(cherry picked from commit 694fbd47a125c7fde10a328c6fda199dac19f802)
----
- racket/src/ChezScheme/BUILDING | 5 ++--
- racket/src/ChezScheme/build.zuo | 13 +++++++---
- racket/src/ChezScheme/configure | 27 ++++++++++++++++++++-
- racket/src/ChezScheme/makefiles/Makefile.in | 6 ++---
- 4 files changed, 40 insertions(+), 11 deletions(-)
-
-diff --git a/racket/src/ChezScheme/BUILDING b/racket/src/ChezScheme/BUILDING
-index 50fde27771..2df29b5bd8 100644
---- a/racket/src/ChezScheme/BUILDING
-+++ b/racket/src/ChezScheme/BUILDING
-@@ -155,7 +155,8 @@ information on the supported options.
- The generated makefile mostly just ensures that a `zuo` executable is
- built in a `bin` directory, and then it defers the actual build work
- to `zuo`, which uses the "main.zuo" file. If you have `zuo` installed,
--you can use `zuo` directly instead of `make`. In general, instead of
-+you can use `zuo` directly instead of `make`: in that case, you may
-+wish to use `./configure ZUO=<zuo>`. In general, instead of
- the command `make X` to build target `X` as described below, you can
- use `zuo . X` (or `bin/zuo . X` after `bin/zuo` is built).
-
-@@ -339,7 +340,7 @@ The makefile supports several targets:
- * `make clean`
-
- Removes all built elements from the workarea, and then removes
-- `bin/zuo`.
-+ `bin/zuo` (unless configured with `ZUO=<zuo>`).
-
-
- WINDOWS VIA COMMAND PROMPT
-diff --git a/racket/src/ChezScheme/build.zuo b/racket/src/ChezScheme/build.zuo
-index a211632a89..432cc6e5a1 100644
---- a/racket/src/ChezScheme/build.zuo
-+++ b/racket/src/ChezScheme/build.zuo
-@@ -218,10 +218,15 @@
- token))
-
- (define stexlib
-- (let ((found (assoc "STEXLIB" (hash-ref (runtime-env) 'env))))
-- (if found
-- (cdr found)
-- (at-source "stex"))))
-+ (let ([configured (hash-ref config 'STEXLIB "")]
-+ [env (assoc "STEXLIB" (hash-ref (runtime-env) 'env))])
-+ (cond
-+ [(not (equal? "" configured))
-+ configured]
-+ [env
-+ (cdr env)]
-+ [else
-+ (at-source "stex")])))
- (define stex-sources
- (source-tree stexlib))
-
-diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
-index 721d1d1335..f88c6f7625 100755
---- a/racket/src/ChezScheme/configure
-+++ b/racket/src/ChezScheme/configure
-@@ -93,6 +93,7 @@ default_warning_flags="-Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough"
- CFLAGS_ADD=
- zlibLib=
- LZ4Lib=
-+STEXLIB=
- Kernel=KernelLib
- buildKernelOnly=no
- enableFrompb=yes
-@@ -102,6 +103,7 @@ empetite=no
- moreBootFiles=
- preloadBootFiles=
- alwaysUseBootFile=
-+zuoExternal=
-
- CONFIG_UNAME=`uname`
-
-@@ -442,6 +444,12 @@ while [ $# != 0 ] ; do
- LZ4=*)
- LZ4Lib=`echo $1 | sed -e 's/^LZ4=//'`
- ;;
-+ STEXLIB=*)
-+ STEXLIB=`echo $1 | sed -e 's/^STEXLIB=//'`
-+ ;;
-+ ZUO=*)
-+ zuoExternal=`echo $1 | sed -e 's/^ZUO=//'`
-+ ;;
- *)
- echo "option '$1' unrecognized or missing an argument; try $0 --help"
- exit 1
-@@ -667,6 +675,8 @@ if [ "$help" = "yes" ]; then
- echo " STRIP=<strip> executable stripper"
- echo " ZLIB=<lib> link to <lib> instead of own zlib"
- echo " LZ4=<lib> link to <lib> instead of own LZ4"
-+ echo " STEXLIB=<stex> build docs with <stex> instead of own stex"
-+ echo " ZUO=<zuo> build with <zuo> instead of own Zuo"
- echo ""
- echo "Available machine types: $machs"
- echo ""
-@@ -869,6 +879,16 @@ if [ "$addflags" = "yes" ] ; then
- fi
- fi
-
-+if [ "${zuoExternal}" = "" ] ; then
-+ ZUO="bin/zuo"
-+ RM_ZUO="rm -f bin/zuo"
-+ ZUO_TARGET="bin/zuo"
-+else
-+ ZUO="${zuoExternal}"
-+ RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'"
-+ ZUO_TARGET="DoNotBuildZuo"
-+fi
-+
- # more compile and link flags for c/Mf-unix and mats/Mf-unix
- mdinclude=
- mdcppflags=
-@@ -1039,7 +1059,7 @@ cp "$srcdir"/makefiles/buildmain.zuo main.zuo
- # Some idea, but in the workarea, so it refers to "workarea.zuo" here:
- cp "$srcdir"/makefiles/workmain.zuo $w/main.zuo
-
--# The content of "$w/Makefile" records configuration decisions,
-+# The content of "$w/Mf-config" records configuration decisions,
- # and the Zuo build script takes it from there
- cat > $w/Mf-config << END
- srcdir=$srcdir
-@@ -1075,6 +1095,7 @@ cursesLib=$cursesLib
- ncursesLib=$ncursesLib
- zlibLib=$zlibLib
- LZ4Lib=$LZ4Lib
-+STEXLIB=$STEXLIB
- warningFlags=$warningFlags
- Kernel=$Kernel
- installscriptname=$installscriptname
-@@ -1086,6 +1107,10 @@ preloadBootFiles=$preloadBootFiles
- alwaysUseBootFile=$alwaysUseBootFile
- relativeBootFiles=$relativeBootFiles
-
-+ZUO=$ZUO
-+RM_ZUO=$RM_ZUO
-+ZUO_TARGET=$ZUO_TARGET
-+
- InstallBin=$installbin
- InstallLib=$installlib
- InstallMan=$installman/man1
-diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in
-index cfdd0230a3..4865bf2e2f 100644
---- a/racket/src/ChezScheme/makefiles/Makefile.in
-+++ b/racket/src/ChezScheme/makefiles/Makefile.in
-@@ -3,8 +3,6 @@ workarea=$(w)
-
- include $(workarea)/Mf-config
-
--ZUO=bin/zuo
--
- .PHONY: build
- build: $(ZUO)
- + $(ZUO) $(workarea) MAKE="$(MAKE)"
-@@ -140,9 +138,9 @@ pkg: $(ZUO)
- .PHONY: clean
- clean: $(ZUO)
- + $(ZUO) $(workarea) clean MAKE="$(MAKE)"
-- rm -f bin/zuo
-+ $(RM_ZUO)
-
- # Using `+` here means that $(ZUO) gets built even if `-n`/`--dry-run` is provided to `make`
--$(ZUO): $(srcdir)/../zuo/zuo.c
-+$(ZUO_TARGET): $(srcdir)/../zuo/zuo.c
- + mkdir -p bin
- + $(CC_FOR_BUILD) -DZUO_LIB_PATH='"'"$(upsrcdir)/../zuo/lib"'"' -o $(ZUO) $(srcdir)/../zuo/zuo.c
-
-base-commit: 78fef00d4d16a79fdf6ab31924b3a80cadf4b368
---
-2.41.0
-
-
-From e2bc69c5ce7437dd9a1b30ac1b12b3a56872c491 Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Sun, 10 Mar 2024 09:13:40 -0600
-Subject: [PATCH 2/2] Chez Scheme: adjust `configure ZUO=<command>` support
-
-Continuing from 694fbd47a1, adjust the generated makefile so the
-supplied `<command>` is not a makefile dependency. That way, `ZUO=zuo`
-works if `zuo` is installed and the current build directory is not the
-source directory. (The `zuo` executable is a dependency in a real and
-relevant sense, but not in the sense of dependencies that we normally
-track in makefiles.)
-
-Also adapt the makefile for the case that `ZUO=...` is not supplied
-and the build directory is not the source directory, in which case
-`ZUO_LIB_PATH` needs to be relative to the source directory.
-
-Using `make ZUO=zuo` can also work, but in that case, `bin/zuo` is
-still built as a dependency. It's possible that some portable makefile
-magic could overcome that limitation, but it doesn't seem important.
-
-(cherry picked from commit 28157ba88d48fe645563f46f6c00d6626b3428fa)
----
- racket/src/ChezScheme/configure | 3 +
- racket/src/ChezScheme/makefiles/Makefile.in | 70 +++++++++++----------
- 2 files changed, 40 insertions(+), 33 deletions(-)
-
-diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
-index f88c6f7625..201dbe580f 100755
---- a/racket/src/ChezScheme/configure
-+++ b/racket/src/ChezScheme/configure
-@@ -881,10 +881,12 @@ fi
-
- if [ "${zuoExternal}" = "" ] ; then
- ZUO="bin/zuo"
-+ ZUO_DEP="${ZUO}"
- RM_ZUO="rm -f bin/zuo"
- ZUO_TARGET="bin/zuo"
- else
- ZUO="${zuoExternal}"
-+ ZUO_DEP=""
- RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'"
- ZUO_TARGET="DoNotBuildZuo"
- fi
-@@ -1108,6 +1110,7 @@ alwaysUseBootFile=$alwaysUseBootFile
- relativeBootFiles=$relativeBootFiles
-
- ZUO=$ZUO
-+ZUO_DEP=$ZUO_DEP
- RM_ZUO=$RM_ZUO
- ZUO_TARGET=$ZUO_TARGET
-
-diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in
-index 4865bf2e2f..5ce237178e 100644
---- a/racket/src/ChezScheme/makefiles/Makefile.in
-+++ b/racket/src/ChezScheme/makefiles/Makefile.in
-@@ -4,51 +4,55 @@ workarea=$(w)
- include $(workarea)/Mf-config
-
- .PHONY: build
--build: $(ZUO)
-+build: $(ZUO_DEP)
- + $(ZUO) $(workarea) MAKE="$(MAKE)"
-
- .PHONY: run
--run: $(ZUO)
-+run: $(ZUO_DEP)
- + $(ZUO) $(workarea) run
-
- .PHONY: kernel
--kernel: $(ZUO)
-+kernel: $(ZUO_DEP)
- + $(ZUO) $(workarea) kernel MAKE="$(MAKE)"
-
- .PHONY: install
--install: $(ZUO)
-+install: $(ZUO_DEP)
- $(ZUO) $(workarea) install MAKE="$(MAKE)"
-
- .PHONY: uninstall
--uninstall: $(ZUO)
-+uninstall: $(ZUO_DEP)
- + $(ZUO) $(workarea) uninstall MAKE="$(MAKE)"
-
--.PHONY: test
--test: $(ZUO)
-- + $(ZUO) $(workarea) test MAKE="$(MAKE)"
-+.PHONY: test-one
-+test-one: $(ZUO_DEP)
-+ + $(ZUO) $(workarea) test-one MAKE="$(MAKE)"
-
- .PHONY: test-some-fast
--test-some-fast: $(ZUO)
-+test-some-fast: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-some-fast MAKE="$(MAKE)"
-
- .PHONY: test-some
--test-some: $(ZUO)
-+test-some: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-some MAKE="$(MAKE)"
-
-+.PHONY: test
-+test: $(ZUO_DEP)
-+ + $(ZUO) $(workarea) test MAKE="$(MAKE)"
-+
- .PHONY: test-more
--test-more: $(ZUO)
-+test-more: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-more MAKE="$(MAKE)"
-
- .PHONY: coverage
--coverage: $(ZUO)
-+coverage: $(ZUO_DEP)
- + $(ZUO) $(workarea) coverage MAKE="$(MAKE)"
-
- .PHONY: bootfiles
--bootfiles: $(ZUO)
-+bootfiles: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootfiles MAKE="$(MAKE)"
-
- .PHONY: reset
--reset: $(ZUO)
-+reset: $(ZUO_DEP)
- + $(ZUO) $(workarea) reset MAKE="$(MAKE)"
-
- # Supply XM=<machine> to build boot files for <machine>
-@@ -57,86 +61,86 @@ boot:
- + $(ZUO) $(workarea) boot "$(XM)" MAKE="$(MAKE)"
-
- # `<machine>.boot` as alias for `boot XM=<machine>`
--%.boot: $(ZUO)
-+%.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot $* MAKE="$(MAKE)"
-
- .PHONY: auto.boot
--auto.boot: $(ZUO)
-+auto.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot MAKE="$(MAKE)"
-
- SCHEME=scheme
-
- .PHONY: cross.boot
--cross.boot: $(ZUO)
-+cross.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot SCHEME="$(SCHEME)" MAKE="$(MAKE)"
-
- .PHONY: re.boot
--re.boot: $(ZUO)
-+re.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) reboot SCHEME="$(SCHEME)"
-
- # Supply XM=<machine> to build boot files for <machine>
- # with o=3 d=0 for the cross compiler, and only after
- # building the kernel for the configured machine
- .PHONY: bootquick
--bootquick: $(ZUO)
-+bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick "$(XM)" MAKE="$(MAKE)"
-
- # `<machine>.bootquick` as alias for `boot XM=<machine>`
--%.bootquick: $(ZUO)
-+%.bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick $* MAKE="$(MAKE)"
-
--auto.bootquick: $(ZUO)
-+auto.bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick MAKE="$(MAKE)"
-
- # Supply XM=<machine>-<tag>.bootpbchunk to repackage boot files for
- # <machine> with pbchunk sources, including additional
- # boot files
- .PHONY: bootpbchunk
--bootpbchunk: $(ZUO)
-+bootpbchunk: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootpbchunk "$(XM)" $(ARGS) MAKE="$(MAKE)"
-
- # `<machine>.bootpbchunk` as alias for `pbchunk XM=<machine>`
--%.bootpbchunk: $(ZUO)
-+%.bootpbchunk: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootpbchunk $* $(ARGS) MAKE="$(MAKE)"
-
- .PHONY: docs
--docs: build $(ZUO)
-+docs: build $(ZUO_DEP)
- + $(ZUO) $(workarea) docs MAKE="$(MAKE)"
-
- .PHONY: csug
--csug: build $(ZUO)
-+csug: build $(ZUO_DEP)
- + $(ZUO) $(workarea) csug MAKE="$(MAKE)"
-
- .PHONY: release_notes
--release_notes: build $(ZUO)
-+release_notes: build $(ZUO_DEP)
- + $(ZUO) $(workarea) release_notes MAKE="$(MAKE)"
-
- .PHONY: install-docs
--install-docs: build $(ZUO)
-+install-docs: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-docs MAKE="$(MAKE)"
-
- .PHONY: install-csug
--install-csug: build $(ZUO)
-+install-csug: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-csug MAKE="$(MAKE)"
-
- .PHONY: install-release_notes
--install-release_notes: build $(ZUO)
-+install-release_notes: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-release_notes MAKE="$(MAKE)"
-
- .PHONY: bintar
--bintar: $(ZUO)
-+bintar: $(ZUO_DEP)
- + $(ZUO) $(workarea) bintar MAKE="$(MAKE)"
-
- .PHONY: rpm
--rpm: $(ZUO)
-+rpm: $(ZUO_DEP)
- + $(ZUO) $(workarea) rpm MAKE="$(MAKE)"
-
- .PHONY: pkg
--pkg: $(ZUO)
-+pkg: $(ZUO_DEP)
- + $(ZUO) $(workarea) pkg MAKE="$(MAKE)"
-
- .PHONY: clean
--clean: $(ZUO)
-+clean: $(ZUO_DEP)
- + $(ZUO) $(workarea) clean MAKE="$(MAKE)"
- $(RM_ZUO)
-
---
-2.41.0
-
Toggle diff (89 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index ab9687ca88..f43a314983 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -201,7 +201,7 @@ (define-module (gnu packages racket)
;;
;; CODE:
-(define %racket-version "8.12") ; Remember to update chez-scheme-for-racket!
+(define %racket-version "8.13") ; Remember to update chez-scheme-for-racket!
(define %racket-commit
(string-append "v" %racket-version))
(define %racket-origin
@@ -211,10 +211,9 @@ (define %racket-origin
(url "https://github.com/racket/racket")
(commit %racket-commit)))
(sha256
- (base32 "1f52yadmrsd2ddry47s68kxig185a58n19j23458wkck19nawjz5"))
+ (base32 "0pf9lmch7bz3gs4dbn2qb7mraxzjfiz50aij9zsli9jc022ybqb9"))
(file-name (git-file-name "racket" %racket-version))
(patches (search-patches "racket-chez-scheme-bin-sh.patch"
- "racket-backport-8.12-chez-configure.patch"
"racket-rktio-bin-sh.patch"))
(modules '((guix build utils)))
(snippet
@@ -709,7 +708,7 @@ (define-public racket
"contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3")
'(("contract-profile" ".")))
(simple-racket-origin
- "data" (base32 "01sinnsnjiazvkj83k84izdnp38pd2aglbrs14mrdkwajgmpampk")
+ "data" (base32 "11ai6c9h0brbblc6xn045ajj4gyrvbjpk1pqcqm1m0dy9q2rzd4a")
'("data" "data-doc" "data-enumerate-lib" "data-lib"))
(simple-racket-origin
"datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s")
@@ -718,7 +717,7 @@ (define-public racket
"db" (base32 "0xx0k8yw2vb9b4vk2dwjfbpixnmriqsv7kpv3fvfxbwyg42y0db5")
'("db" "db-doc" "db-lib"))
(simple-racket-origin
- "deinprogramm" (base32 "0f41sh90i4mml95x2gcmfvl2rc7m77vjbagmgjx270ng7xvz16lj")
+ "deinprogramm" (base32 "05l643h1mc4v7jhs4fq7yi84zl24nk1zx6ld07a6zgn85kik3vzb")
'("deinprogramm" "deinprogramm-signature"))
(simple-racket-origin
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
@@ -727,7 +726,7 @@ (define-public racket
"draw" (base32 "1h7mckay8yjcgmj3r0jkf1csn430gn43n8jl1l956q9gcprlmncl")
'("draw" "draw-doc" "draw-lib"))
(simple-racket-origin
- "drracket" (base32 "17bdbvsf5l8z96bwzg1q75gg70c6svbhw0g1k239fsjd3mivmki4")
+ "drracket" (base32 "155qzbg2jg5kbv580z30z4w1ac3p527ixk0daan86wkgpl0lxnzn")
'("drracket"
"drracket-plugin-lib"
"drracket-tool"
@@ -741,13 +740,13 @@ (define-public racket
"eli-tester" (base32 "0icx6wn14gjm8kdmq1jppqgq87sxkras4qb5xmdr6wigxafhjqyk")
'(("eli-tester" ".")))
(simple-racket-origin
- "eopl" (base32 "1n8lzvhggp6bp2hg4n51zg8f4ya10isb92pfzngss2ch7299zfj2")
+ "eopl" (base32 "0qihajdpwf2q7hbs6fsw6mmmzy57kgzgry3vyp9z8w7ay8df3w15")
'(("eopl" ".")))
(simple-racket-origin
"errortrace" (base32 "0l9k2rx6z4jkid7kxhbs763s66pxbzvfrgxajykbrmqkv77lhb3w")
'("errortrace" "errortrace-doc" "errortrace-lib"))
(simple-racket-origin
- "expeditor" (base32 "10841c60nxqvwnjn6f9c6dcp4vsqbvi7n8nvi59vjk7d3b2qfpbq")
+ "expeditor" (base32 "0m9ga4scg49pbv60gnl0ky5al72012psa4dfgnkzq0bnf5lwwm2i")
'("expeditor" "expeditor-doc" "expeditor-lib"))
(simple-racket-origin
"frtime" (base32 "0ydz2yn8vvv6z7brwlswcyx0f31a6y6d443i89rysfvd2xkhpfd5")
@@ -761,13 +760,13 @@ (define-public racket
"games" (base32 "13z7fnbr48s98lmfxc0nbfhbqkd4hphymy2r63hqm783xzn6ylzi")
'(("games" ".")))
(simple-racket-origin
- "gui" (base32 "08kzyscqc8hgc1f8q0bhibl44fkq8iiyz12f8bqdhqkcz8nx44sw")
+ "gui" (base32 "1vz3h9mwmycl9sbx19dsfkx5sqh71nwv360g80khwyvnsx99fxfs")
'("gui" "gui-doc" "gui-lib" "tex-table"))
(simple-racket-origin
"gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5")
'("gui-pkg-manager-lib"))
(simple-racket-origin
- "htdp" (base32 "13d8xsvs60d7797w93g14dbdm98bixgy65akayij256pyiwnqwdc")
+ "htdp" (base32 "0z58askwixx0vh99dmpbjvv099hkhykgnlgfs679vxbjcnfwafd6")
'("htdp" "htdp-doc" "htdp-lib"))
(simple-racket-origin
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
@@ -791,7 +790,7 @@ (define-public racket
"make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa")
'(("make" ".")))
(simple-racket-origin
- "math"
This message was truncated. Download the full message here.
P
P
Philip McGrath wrote on 17 Jun 17:00 +0200
[PATCH v2 0/3] gnu: racket: Update to 8.13.
(address . 71203@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
cover.1718636031.git.philip@philipmcgrath.com
This v2 is just a rebase to try to trigger QA, as Ludo’ suggested

Philip


Philip McGrath (3):
gnu: zuo: Update to 1.10.
gnu: racket: Update to 8.13.
gnu: chez-scheme: Backport test fix.

gnu/local.mk | 2 +-
gnu/packages/chez.scm | 5 +-
.../patches/chez-scheme-backport-signal.patch | 87 ++++
.../racket-backport-8.12-chez-configure.patch | 423 ------------------
gnu/packages/racket.scm | 49 +-
5 files changed, 114 insertions(+), 452 deletions(-)
create mode 100644 gnu/packages/patches/chez-scheme-backport-signal.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.12-chez-configure.patch


base-commit: f9ed5788fda9288301550c641820d422e9ad1602
--
2.45.1
P
P
Philip McGrath wrote on 17 Jun 17:00 +0200
[PATCH v2 1/3] gnu: zuo: Update to 1.10.
(address . 71203@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
4ee513bea1192abbc703521d70afe6aa1c27b667.1718636031.git.philip@philipmcgrath.com
* gnu/packages/racket.scm (zuo): Update to 1.10.

Change-Id: I082129143b77d34236e32e5cd4f4aac3275d4bca
---
gnu/packages/racket.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 2b20353159..ab9687ca88 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -243,7 +243,7 @@ (define %racket-origin
(define-public zuo
(package
(name "zuo")
- (version "1.9") ; defined in racket/src/zuo/zuo.c or the following
+ (version "1.10") ; defined in racket/src/zuo/zuo.c or the following
#;(displayln (~a (hash-ref (runtime-env) 'version) "."
(hash-ref (runtime-env) 'minor-version)))
(source (origin
@@ -252,7 +252,7 @@ (define-public zuo
(url "https://github.com/racket/zuo")
(commit (string-append "v" version))))
(sha256
- (base32 "0zasir33nx1qi1ciz9dn6h8k39i443lr6apw5d1i6mjmhpzxmdhp"))
+ (base32 "007bjbhxbw3dq75klaa6f6ljhri2qxi43q6n74wyy50vr9yhx4s1"))
(file-name (git-file-name name version))
(patches (search-patches "zuo-bin-sh.patch"))))
(outputs '("out" "debug"))
--
2.45.1
P
P
Philip McGrath wrote on 17 Jun 17:00 +0200
[PATCH v2 2/3] gnu: racket: Update to 8.13.
(address . 71203@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
e5ef364144794ce123e6ecd98b5cbfbdba38db65.1718636031.git.philip@philipmcgrath.com
* gnu/packages/patches/racket-backport-8.12-chez-configure.patch: Delete
obsolete patch.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
10.0.1-pre-release.1.
* gnu/packages/racket.scm (%racket-version): Update to 8.13.
(racket)[inputs]<data, deinprogramm, drracket, eopl, expeditor, gui>
<htdp, math, net-cookies, option-contract, pict, plai, plot, rackunit>
<redex, scribble, snip, typed-racket, srfi, web-server>: Update hashes.

Change-Id: I2d7b6e79a5a4e775d9b918b39fb688b484bb9f93
---
gnu/local.mk | 1 -
gnu/packages/chez.scm | 2 +-
.../racket-backport-8.12-chez-configure.patch | 423 ------------------
gnu/packages/racket.scm | 45 +-
4 files changed, 23 insertions(+), 448 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.12-chez-configure.patch

Toggle diff (198 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 83b7402b09..d2423aa93c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2024,7 +2024,6 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
- %D%/packages/patches/racket-backport-8.12-chez-configure.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index db582fa821..dd98966c78 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -297,7 +297,7 @@ (define-public chez-scheme-for-racket
(name "chez-scheme-for-racket")
;; The version should match `(scheme-version-number #t)`.
;; See s/cmacros.ss c. line 360.
- (version "9.9.9-pre-release.23")
+ (version "10.1.0-pre-release.1")
(source #f)
(build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type)
diff --git a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch b/gnu/packages/patches/racket-backport-8.12-chez-configure.patch
deleted file mode 100644
index 483948fec9..0000000000
--- a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch
+++ /dev/null
@@ -1,423 +0,0 @@
-From 82157f5b3fb9f71ad7fc978c428d423d06a4a0df Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Wed, 28 Feb 2024 19:41:22 -0500
-Subject: [PATCH 1/2] Chez Scheme: Repairs and improvements for building with
- external dependencies
-
-* configure: support `ZUO=<zuo>`
-
-Supplying `ZUO=<zuo>` skips the submodule check in `configure`
-and configures the generated makefile not to build or remove Zuo.
-
-* configure: support `STEXLIB=<stex>`
-
-For compatibility with older scripts, when not explicitly configured,
-continue to honor the `STEXLIB` environment variable at build time.
-
-(cherry picked from commit 694fbd47a125c7fde10a328c6fda199dac19f802)
----
- racket/src/ChezScheme/BUILDING | 5 ++--
- racket/src/ChezScheme/build.zuo | 13 +++++++---
- racket/src/ChezScheme/configure | 27 ++++++++++++++++++++-
- racket/src/ChezScheme/makefiles/Makefile.in | 6 ++---
- 4 files changed, 40 insertions(+), 11 deletions(-)
-
-diff --git a/racket/src/ChezScheme/BUILDING b/racket/src/ChezScheme/BUILDING
-index 50fde27771..2df29b5bd8 100644
---- a/racket/src/ChezScheme/BUILDING
-+++ b/racket/src/ChezScheme/BUILDING
-@@ -155,7 +155,8 @@ information on the supported options.
- The generated makefile mostly just ensures that a `zuo` executable is
- built in a `bin` directory, and then it defers the actual build work
- to `zuo`, which uses the "main.zuo" file. If you have `zuo` installed,
--you can use `zuo` directly instead of `make`. In general, instead of
-+you can use `zuo` directly instead of `make`: in that case, you may
-+wish to use `./configure ZUO=<zuo>`. In general, instead of
- the command `make X` to build target `X` as described below, you can
- use `zuo . X` (or `bin/zuo . X` after `bin/zuo` is built).
-
-@@ -339,7 +340,7 @@ The makefile supports several targets:
- * `make clean`
-
- Removes all built elements from the workarea, and then removes
-- `bin/zuo`.
-+ `bin/zuo` (unless configured with `ZUO=<zuo>`).
-
-
- WINDOWS VIA COMMAND PROMPT
-diff --git a/racket/src/ChezScheme/build.zuo b/racket/src/ChezScheme/build.zuo
-index a211632a89..432cc6e5a1 100644
---- a/racket/src/ChezScheme/build.zuo
-+++ b/racket/src/ChezScheme/build.zuo
-@@ -218,10 +218,15 @@
- token))
-
- (define stexlib
-- (let ((found (assoc "STEXLIB" (hash-ref (runtime-env) 'env))))
-- (if found
-- (cdr found)
-- (at-source "stex"))))
-+ (let ([configured (hash-ref config 'STEXLIB "")]
-+ [env (assoc "STEXLIB" (hash-ref (runtime-env) 'env))])
-+ (cond
-+ [(not (equal? "" configured))
-+ configured]
-+ [env
-+ (cdr env)]
-+ [else
-+ (at-source "stex")])))
- (define stex-sources
- (source-tree stexlib))
-
-diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
-index 721d1d1335..f88c6f7625 100755
---- a/racket/src/ChezScheme/configure
-+++ b/racket/src/ChezScheme/configure
-@@ -93,6 +93,7 @@ default_warning_flags="-Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough"
- CFLAGS_ADD=
- zlibLib=
- LZ4Lib=
-+STEXLIB=
- Kernel=KernelLib
- buildKernelOnly=no
- enableFrompb=yes
-@@ -102,6 +103,7 @@ empetite=no
- moreBootFiles=
- preloadBootFiles=
- alwaysUseBootFile=
-+zuoExternal=
-
- CONFIG_UNAME=`uname`
-
-@@ -442,6 +444,12 @@ while [ $# != 0 ] ; do
- LZ4=*)
- LZ4Lib=`echo $1 | sed -e 's/^LZ4=//'`
- ;;
-+ STEXLIB=*)
-+ STEXLIB=`echo $1 | sed -e 's/^STEXLIB=//'`
-+ ;;
-+ ZUO=*)
-+ zuoExternal=`echo $1 | sed -e 's/^ZUO=//'`
-+ ;;
- *)
- echo "option '$1' unrecognized or missing an argument; try $0 --help"
- exit 1
-@@ -667,6 +675,8 @@ if [ "$help" = "yes" ]; then
- echo " STRIP=<strip> executable stripper"
- echo " ZLIB=<lib> link to <lib> instead of own zlib"
- echo " LZ4=<lib> link to <lib> instead of own LZ4"
-+ echo " STEXLIB=<stex> build docs with <stex> instead of own stex"
-+ echo " ZUO=<zuo> build with <zuo> instead of own Zuo"
- echo ""
- echo "Available machine types: $machs"
- echo ""
-@@ -869,6 +879,16 @@ if [ "$addflags" = "yes" ] ; then
- fi
- fi
-
-+if [ "${zuoExternal}" = "" ] ; then
-+ ZUO="bin/zuo"
-+ RM_ZUO="rm -f bin/zuo"
-+ ZUO_TARGET="bin/zuo"
-+else
-+ ZUO="${zuoExternal}"
-+ RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'"
-+ ZUO_TARGET="DoNotBuildZuo"
-+fi
-+
- # more compile and link flags for c/Mf-unix and mats/Mf-unix
- mdinclude=
- mdcppflags=
-@@ -1039,7 +1059,7 @@ cp "$srcdir"/makefiles/buildmain.zuo main.zuo
- # Some idea, but in the workarea, so it refers to "workarea.zuo" here:
- cp "$srcdir"/makefiles/workmain.zuo $w/main.zuo
-
--# The content of "$w/Makefile" records configuration decisions,
-+# The content of "$w/Mf-config" records configuration decisions,
- # and the Zuo build script takes it from there
- cat > $w/Mf-config << END
- srcdir=$srcdir
-@@ -1075,6 +1095,7 @@ cursesLib=$cursesLib
- ncursesLib=$ncursesLib
- zlibLib=$zlibLib
- LZ4Lib=$LZ4Lib
-+STEXLIB=$STEXLIB
- warningFlags=$warningFlags
- Kernel=$Kernel
- installscriptname=$installscriptname
-@@ -1086,6 +1107,10 @@ preloadBootFiles=$preloadBootFiles
- alwaysUseBootFile=$alwaysUseBootFile
- relativeBootFiles=$relativeBootFiles
-
-+ZUO=$ZUO
-+RM_ZUO=$RM_ZUO
-+ZUO_TARGET=$ZUO_TARGET
-+
- InstallBin=$installbin
- InstallLib=$installlib
- InstallMan=$installman/man1
-diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in
-index cfdd0230a3..4865bf2e2f 100644
---- a/racket/src/ChezScheme/makefiles/Makefile.in
-+++ b/racket/src/ChezScheme/makefiles/Makefile.in
-@@ -3,8 +3,6 @@ workarea=$(w)
-
- include $(workarea)/Mf-config
-
--ZUO=bin/zuo
--
- .PHONY: build
- build: $(ZUO)
- + $(ZUO) $(workarea) MAKE="$(MAKE)"
-@@ -140,9 +138,9 @@ pkg: $(ZUO)
- .PHONY: clean
- clean: $(ZUO)
- + $(ZUO) $(workarea) clean MAKE="$(MAKE)"
-- rm -f bin/zuo
-+ $(RM_ZUO)
-
- # Using `+` here means that $(ZUO) gets built even if `-n`/`--dry-run` is provided to `make`
--$(ZUO): $(srcdir)/../zuo/zuo.c
-+$(ZUO_TARGET): $(srcdir)/../zuo/zuo.c
- + mkdir -p bin
- + $(CC_FOR_BUILD) -DZUO_LIB_PATH='"'"$(upsrcdir)/../zuo/lib"'"' -o $(ZUO) $(srcdir)/../zuo/zuo.c
-
-base-commit: 78fef00d4d16a79fdf6ab31924b3a80cadf4b368
---
-2.41.0
-
-
-From e2bc69c5ce7437dd9a1b30ac1b12b3a56872c491 Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Sun, 10 Mar 2024 09:13:40 -0600
-Subject: [PATCH 2/2] Chez Scheme: adjust `configure ZUO=<command>` support
-
-Continuing from 694fbd47a1, adjust the generated makefile so the
-supplied `<command>` is not a makefile dependency. That way, `ZUO=zuo`
-works if `zuo` is installed and the current build directory is not the
-source directory. (The `zuo` executable is a dependency in a real and
-relevant sense, but not in the sense of dependencies that we normally
-track in makefiles.)
-
-Also adapt the makefile for the case that `ZUO=...` is not supplied
-and the build directory is not the source directory, in which case
-`ZUO_LIB_PATH` needs to be relative to the source directory.
-
-Using `make ZUO=zuo` can also work, but in that case, `bin/zuo` is
-still built as a dependency. It's possible that some portable makefile
-magic could overcome that limitation, but it doesn't seem important.
-
-(cherry picked from commit 28157ba88d48fe645563f46f6c00d6626b3428fa)
----
- racket/src/ChezScheme/configure | 3 +
- racket/src/ChezScheme/makefiles/Makefile.in | 70 +++++++++++----------
- 2 files changed, 40 insertions(+), 33 deletions(-)
-
-diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
-index f88c6f7625..201dbe580f 100755
---- a/racket/src/ChezScheme/configure
-+++ b/racket/src/ChezScheme/configure
-@@ -881,10 +881,12 @@ fi
-
- if [ "${zuoExternal}" = "" ] ; then
- ZUO="bin/zuo"
-+ ZUO_DEP="${ZUO}"
- RM_ZUO="rm -f bin/zuo"
- ZUO_TARGET="bin/zuo"
- else
- ZUO="${zuoExternal}"
-+ ZUO_DEP=""
- RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'"
- ZUO_TARGET="DoNotBuildZuo"
- fi
-@@ -1108,6 +1110,7 @@ alwaysUseBootFile=$alwaysUseBootFile
- relativeBootFiles=$relativeBootFiles
-
- ZUO=$ZUO
-+ZUO_DEP=$ZUO_DEP
- RM_ZUO=$RM_ZUO
- ZUO_TARGET=$ZUO_TARGET
-
-diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in
-index 4865bf2e2f..5ce237178e 100644
---- a/racket/src/ChezScheme/makefiles/Makefile.in
-+++ b/racket/src/ChezScheme/makefiles/Makefile.in
-@@ -4,51 +4,55 @@ workarea=$(w)
- include $(workarea)/Mf-config
-
- .PHONY: build
--build: $(ZUO)
-+build: $(ZUO_DEP)
- + $(ZUO) $(workarea) MAKE="$(MAKE)"
-
- .PHONY: run
--run: $(ZUO)
-+run: $(ZUO_DEP)
- + $(ZUO) $(workarea) run
-
- .PHONY: kernel
--kernel: $(ZUO)
-+kernel: $(ZUO_DEP)
- + $(ZUO) $(workarea) kernel MAKE="$(MAKE)"
-
- .PHONY: install
--install: $(ZUO)
-+install: $(ZUO_DEP)
- $(ZUO) $(workarea) install MAKE="$(MAKE)"
-
- .PHONY: uninstall
--uninstall: $(ZUO)
-+uninstall: $(ZUO_DEP)
- + $(ZUO) $(workarea) uninstall MAKE="$(MAKE)"
-
--.PHONY: test
--test: $(ZUO)
-- + $(ZUO) $(workarea) test MAKE="$(MAKE)"
-+.PHONY: test-one
-+test-one: $(ZUO_DEP)
-+ + $(ZUO) $(workarea) test-one MAKE="$(MAKE)"
-
- .PHONY: test-some-fast
--test-some-fast: $(ZUO)
-+test-some-fast: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-some-fast MAKE="$(MAKE)"
-
- .PHONY: test-some
--test-some: $(ZUO)
-+test-some: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-some MAKE="$(MAKE)"
-
-+.PHONY: test
-+test: $(ZUO_DEP)
-+ + $(ZUO) $(workarea) test MAKE="$(MAKE)"
-+
- .PHONY: test-more
--test-more: $(ZUO)
-+test-more: $(ZUO_DEP)
- + $(ZUO) $(workarea) test-more MAKE="$(MAKE)"
-
- .PHONY: coverage
--coverage: $(ZUO)
-+coverage: $(ZUO_DEP)
- + $(ZUO) $(workarea) coverage MAKE="$(MAKE)"
-
- .PHONY: bootfiles
--bootfiles: $(ZUO)
-+bootfiles: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootfiles MAKE="$(MAKE)"
-
- .PHONY: reset
--reset: $(ZUO)
-+reset: $(ZUO_DEP)
- + $(ZUO) $(workarea) reset MAKE="$(MAKE)"
-
- # Supply XM=<machine> to build boot files for <machine>
-@@ -57,86 +61,86 @@ boot:
- + $(ZUO) $(workarea) boot "$(XM)" MAKE="$(MAKE)"
-
- # `<machine>.boot` as alias for `boot XM=<machine>`
--%.boot: $(ZUO)
-+%.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot $* MAKE="$(MAKE)"
-
- .PHONY: auto.boot
--auto.boot: $(ZUO)
-+auto.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot MAKE="$(MAKE)"
-
- SCHEME=scheme
-
- .PHONY: cross.boot
--cross.boot: $(ZUO)
-+cross.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) boot SCHEME="$(SCHEME)" MAKE="$(MAKE)"
-
- .PHONY: re.boot
--re.boot: $(ZUO)
-+re.boot: $(ZUO_DEP)
- + $(ZUO) $(workarea) reboot SCHEME="$(SCHEME)"
-
- # Supply XM=<machine> to build boot files for <machine>
- # with o=3 d=0 for the cross compiler, and only after
- # building the kernel for the configured machine
- .PHONY: bootquick
--bootquick: $(ZUO)
-+bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick "$(XM)" MAKE="$(MAKE)"
-
- # `<machine>.bootquick` as alias for `boot XM=<machine>`
--%.bootquick: $(ZUO)
-+%.bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick $* MAKE="$(MAKE)"
-
--auto.bootquick: $(ZUO)
-+auto.bootquick: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootquick MAKE="$(MAKE)"
-
- # Supply XM=<machine>-<tag>.bootpbchunk to repackage boot files for
- # <machine> with pbchunk sources, including additional
- # boot files
- .PHONY: bootpbchunk
--bootpbchunk: $(ZUO)
-+bootpbchunk: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootpbchunk "$(XM)" $(ARGS) MAKE="$(MAKE)"
-
- # `<machine>.bootpbchunk` as alias for `pbchunk XM=<machine>`
--%.bootpbchunk: $(ZUO)
-+%.bootpbchunk: $(ZUO_DEP)
- + $(ZUO) $(workarea) bootpbchunk $* $(ARGS) MAKE="$(MAKE)"
-
- .PHONY: docs
--docs: build $(ZUO)
-+docs: build $(ZUO_DEP)
- + $(ZUO) $(workarea) docs MAKE="$(MAKE)"
-
- .PHONY: csug
--csug: build $(ZUO)
-+csug: build $(ZUO_DEP)
- + $(ZUO) $(workarea) csug MAKE="$(MAKE)"
-
- .PHONY: release_notes
--release_notes: build $(ZUO)
-+release_notes: build $(ZUO_DEP)
- + $(ZUO) $(workarea) release_notes MAKE="$(MAKE)"
-
- .PHONY: install-docs
--install-docs: build $(ZUO)
-+install-docs: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-docs MAKE="$(MAKE)"
-
- .PHONY: install-csug
--install-csug: build $(ZUO)
-+install-csug: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-csug MAKE="$(MAKE)"
-
- .PHONY: install-release_notes
--install-release_notes: build $(ZUO)
-+install-release_notes: build $(ZUO_DEP)
- + $(ZUO) $(workarea) install-release_notes MAKE="$(MAKE)"
-
- .PHONY: bintar
--bintar: $(ZUO)
-+bintar: $(ZUO_DEP)
- + $(ZUO) $(workarea) bintar MAKE="$(MAKE)"
-
- .PHONY: rpm
--rpm: $(ZUO)
-+rpm: $(ZUO_DEP)
- + $(ZUO) $(workarea) rpm MAKE="$(MAKE)"
-
- .PHONY: pkg
--pkg: $(ZUO)
-+pkg: $(ZUO_DEP)
- + $(ZUO) $(workarea) pkg MAKE="$(MAKE)"
-
- .PHONY: clean
--clean: $(ZUO)
-+clean: $(ZUO_DEP)
- + $(ZUO) $(workarea) clean MAKE="$(MAKE)"
- $(RM_ZUO)
-
---
-2.41.0
-
Toggle diff (89 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index ab9687ca88..f43a314983 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -201,7 +201,7 @@ (define-module (gnu packages racket)
;;
;; CODE:
-(define %racket-version "8.12") ; Remember to update chez-scheme-for-racket!
+(define %racket-version "8.13") ; Remember to update chez-scheme-for-racket!
(define %racket-commit
(string-append "v" %racket-version))
(define %racket-origin
@@ -211,10 +211,9 @@ (define %racket-origin
(url "https://github.com/racket/racket")
(commit %racket-commit)))
(sha256
- (base32 "1f52yadmrsd2ddry47s68kxig185a58n19j23458wkck19nawjz5"))
+ (base32 "0pf9lmch7bz3gs4dbn2qb7mraxzjfiz50aij9zsli9jc022ybqb9"))
(file-name (git-file-name "racket" %racket-version))
(patches (search-patches "racket-chez-scheme-bin-sh.patch"
- "racket-backport-8.12-chez-configure.patch"
"racket-rktio-bin-sh.patch"))
(modules '((guix build utils)))
(snippet
@@ -709,7 +708,7 @@ (define-public racket
"contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3")
'(("contract-profile" ".")))
(simple-racket-origin
- "data" (base32 "01sinnsnjiazvkj83k84izdnp38pd2aglbrs14mrdkwajgmpampk")
+ "data" (base32 "11ai6c9h0brbblc6xn045ajj4gyrvbjpk1pqcqm1m0dy9q2rzd4a")
'("data" "data-doc" "data-enumerate-lib" "data-lib"))
(simple-racket-origin
"datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s")
@@ -718,7 +717,7 @@ (define-public racket
"db" (base32 "0xx0k8yw2vb9b4vk2dwjfbpixnmriqsv7kpv3fvfxbwyg42y0db5")
'("db" "db-doc" "db-lib"))
(simple-racket-origin
- "deinprogramm" (base32 "0f41sh90i4mml95x2gcmfvl2rc7m77vjbagmgjx270ng7xvz16lj")
+ "deinprogramm" (base32 "05l643h1mc4v7jhs4fq7yi84zl24nk1zx6ld07a6zgn85kik3vzb")
'("deinprogramm" "deinprogramm-signature"))
(simple-racket-origin
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
@@ -727,7 +726,7 @@ (define-public racket
"draw" (base32 "1h7mckay8yjcgmj3r0jkf1csn430gn43n8jl1l956q9gcprlmncl")
'("draw" "draw-doc" "draw-lib"))
(simple-racket-origin
- "drracket" (base32 "17bdbvsf5l8z96bwzg1q75gg70c6svbhw0g1k239fsjd3mivmki4")
+ "drracket" (base32 "155qzbg2jg5kbv580z30z4w1ac3p527ixk0daan86wkgpl0lxnzn")
'("drracket"
"drracket-plugin-lib"
"drracket-tool"
@@ -741,13 +740,13 @@ (define-public racket
"eli-tester" (base32 "0icx6wn14gjm8kdmq1jppqgq87sxkras4qb5xmdr6wigxafhjqyk")
'(("eli-tester" ".")))
(simple-racket-origin
- "eopl" (base32 "1n8lzvhggp6bp2hg4n51zg8f4ya10isb92pfzngss2ch7299zfj2")
+ "eopl" (base32 "0qihajdpwf2q7hbs6fsw6mmmzy57kgzgry3vyp9z8w7ay8df3w15")
'(("eopl" ".")))
(simple-racket-origin
"errortrace" (base32 "0l9k2rx6z4jkid7kxhbs763s66pxbzvfrgxajykbrmqkv77lhb3w")
'("errortrace" "errortrace-doc" "errortrace-lib"))
(simple-racket-origin
- "expeditor" (base32 "10841c60nxqvwnjn6f9c6dcp4vsqbvi7n8nvi59vjk7d3b2qfpbq")
+ "expeditor" (base32 "0m9ga4scg49pbv60gnl0ky5al72012psa4dfgnkzq0bnf5lwwm2i")
'("expeditor" "expeditor-doc" "expeditor-lib"))
(simple-racket-origin
"frtime" (base32 "0ydz2yn8vvv6z7brwlswcyx0f31a6y6d443i89rysfvd2xkhpfd5")
@@ -761,13 +760,13 @@ (define-public racket
"games" (base32 "13z7fnbr48s98lmfxc0nbfhbqkd4hphymy2r63hqm783xzn6ylzi")
'(("games" ".")))
(simple-racket-origin
- "gui" (base32 "08kzyscqc8hgc1f8q0bhibl44fkq8iiyz12f8bqdhqkcz8nx44sw")
+ "gui" (base32 "1vz3h9mwmycl9sbx19dsfkx5sqh71nwv360g80khwyvnsx99fxfs")
'("gui" "gui-doc" "gui-lib" "tex-table"))
(simple-racket-origin
"gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5")
'("gui-pkg-manager-lib"))
(simple-racket-origin
- "htdp" (base32 "13d8xsvs60d7797w93g14dbdm98bixgy65akayij256pyiwnqwdc")
+ "htdp" (base32 "0z58askwixx0vh99dmpbjvv099hkhykgnlgfs679vxbjcnfwafd6")
'("htdp" "htdp-doc" "htdp-lib"))
(simple-racket-origin
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
@@ -791,7 +790,7 @@ (define-public racket
"make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa")
'(("make" ".")))
(simple-racket-origin
- "math"
This message was truncated. Download the full message here.
P
P
Philip McGrath wrote on 17 Jun 17:00 +0200
[PATCH v2 3/3] gnu: chez-scheme: Backport test fix.
(address . 71203@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
f43943bf95e8648de9291fe7791783e364b3fcec.1718636031.git.philip@philipmcgrath.com
The backported commit fixes crashes when signals are delivered to
non-Scheme threads, including GC worker threads and threads
created by foreign libraries. This appears to have been the
cause of the intermittent test failures we have experienced.

* gnu/packages/patches/chez-scheme-backport-signal.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/chez-scheme.scm (chez-scheme)[source]<patches>: Use it.
(chez-scheme-for-racket, chez-scheme): Enable tests.

Change-Id: Ifd87ca0d1707ef6ad067d883772a5b42803ead94
---
gnu/local.mk | 1 +
gnu/packages/chez.scm | 3 +-
.../patches/chez-scheme-backport-signal.patch | 87 +++++++++++++++++++
3 files changed, 89 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/chez-scheme-backport-signal.patch

Toggle diff (128 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index d2423aa93c..059bcdc842 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1028,6 +1028,7 @@ dist_patch_DATA = \
%D%/packages/patches/ccextractor-autoconf-tesseract.patch \
%D%/packages/patches/ccextractor-fix-ocr.patch \
%D%/packages/patches/chez-scheme-backport-configure.patch \
+ %D%/packages/patches/chez-scheme-backport-signal.patch \
%D%/packages/patches/chez-scheme-bin-sh.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index dd98966c78..8c52bbb188 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -329,8 +329,6 @@ (define-public chez-scheme-for-racket
(ice-9 match)
(srfi srfi-34))
#:out-of-source? #t
- ;; Intermittent failures: https://github.com/cisco/ChezScheme/issues/809
- #:tests? #f
#:test-target "test" ; test-one test-some-fast test-some test test-more
#:configure-flags
#~`(,@(let* ((chez+version (strip-store-file-name #$output))
@@ -509,6 +507,7 @@ (define-public chez-scheme
"1q66vafhiwk617z51qkm1v64r3bxqhhf5lzrmsa4l9d5yhvlyk09"))
(file-name (git-file-name name version))
(patches (search-patches "chez-scheme-backport-configure.patch"
+ "chez-scheme-backport-signal.patch"
"chez-scheme-bin-sh.patch"))
(snippet #~(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/patches/chez-scheme-backport-signal.patch b/gnu/packages/patches/chez-scheme-backport-signal.patch
new file mode 100644
index 0000000000..1fee32b167
--- /dev/null
+++ b/gnu/packages/patches/chez-scheme-backport-signal.patch
@@ -0,0 +1,87 @@
+From e416651d8b53fa2eca6edde764a9131d128cd166 Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Sat, 2 Mar 2024 07:18:41 -0700
+Subject: [PATCH] constrain signal delivery to Scheme to the main thread (#813)
+
+The intent is to avoid crashes when a signal gets delimited to a
+thread that might not even be a Scheme thread. Also, we don't try to
+queue the event directly in the main thread's context, because then
+we'd need more of a lock (while signal handling is otherwise an
+implicit lock).
+
+(cherry picked from commit fc081fc447a786dd53286e5d7314b7217631cb68)
+---
+
+Notes:
+ This should fix intermittent test failures experienced by Guix:
+ see <https://github.com/cisco/ChezScheme/issues/809>.
+
+ c/globals.h | 1 +
+ c/schsig.c | 10 ++++++++++
+ c/thread.c | 1 +
+ csug/system.stex | 2 ++
+ 4 files changed, 14 insertions(+)
+
+diff --git a/c/globals.h b/c/globals.h
+index d2a08299..eb2965c5 100644
+--- a/c/globals.h
++++ b/c/globals.h
+@@ -49,6 +49,7 @@ EXTERN int S_num_preserve_ownership_threads;
+ # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT
+ EXTERN s_thread_mutex_t S_implicit_mutex;
+ # endif
++EXTERN s_thread_t S_main_thread_id;
+ #endif
+
+ /* segment.c */
+diff --git a/c/schsig.c b/c/schsig.c
+index a89ab62a..04677730 100644
+--- a/c/schsig.c
++++ b/c/schsig.c
+@@ -666,6 +666,16 @@ ptr S_dequeue_scheme_signals(ptr tc) {
+ static void forward_signal_to_scheme(INT sig) {
+ ptr tc = get_thread_context();
+
++#ifdef PTHREADS
++ /* deliver signals to the main thread, only; depending
++ on the threads that are running, `tc` might even be NULL */
++ if (tc != TO_PTR(&S_G.thread_context)) {
++ pthread_kill(S_main_thread_id, sig);
++ RESET_SIGNAL
++ return;
++ }
++#endif
++
+ if (enqueue_scheme_signal(tc, sig)) {
+ SIGNALINTERRUPTPENDING(tc) = Strue;
+ SOMETHINGPENDING(tc) = Strue;
+diff --git a/c/thread.c b/c/thread.c
+index 9a341b22..f130f44d 100644
+--- a/c/thread.c
++++ b/c/thread.c
+@@ -40,6 +40,7 @@ void S_thread_init(void) {
+ s_thread_cond_init(&S_terminated_cond);
+ S_alloc_mutex.owner = 0;
+ S_alloc_mutex.count = 0;
++ S_main_thread_id = s_thread_self();
+
+ # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT
+ s_thread_mutex_init(&S_implicit_mutex);
+diff --git a/csug/system.stex b/csug/system.stex
+index d4f2bcbb..bb89f419 100644
+--- a/csug/system.stex
++++ b/csug/system.stex
+@@ -547,6 +547,8 @@ After a signal handler for a given signal has been registered, receipt
+ of the specified signal results in a call to the handler.
+ The handler is passed the signal number, allowing the same handler to
+ be used for different signals while differentiating among them.
++In a threaded version of the system, signals are always delivered to
++the main thread.
+
+ Signals handled in this fashion are treated like keyboard interrupts in
+ that the handler is not called immediately when the signal is delivered
+
+base-commit: 253230f7dfbb4fe777277d6bbf93f39f9567f086
+--
+2.41.0
+
--
2.45.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 71203@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 71203
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch