* [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13. @ 2024-05-26 3:15 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 1/3] gnu: zuo: Update to 1.10 Philip McGrath ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Philip McGrath @ 2024-05-26 3:15 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH 1/3] gnu: zuo: Update to 1.10. 2024-05-26 3:15 [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13 Philip McGrath @ 2024-05-26 3:18 ` Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 3/3] gnu: chez-scheme: Backport test fix Philip McGrath ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-05-26 3:18 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath * gnu/packages/racket.scm (zuo): Update to 1.10. Change-Id: I082129143b77d34236e32e5cd4f4aac3275d4bca --- gnu/packages/racket.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH 3/3] gnu: chez-scheme: Backport test fix. 2024-05-26 3:15 [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 1/3] gnu: zuo: Update to 1.10 Philip McGrath @ 2024-05-26 3:18 ` Philip McGrath 2024-05-26 3:19 ` [bug#71203] [PATCH 2/3] gnu: racket: Update to 8.13 Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-05-26 3:18 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath 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 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH 2/3] gnu: racket: Update to 8.13. 2024-05-26 3:15 [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 1/3] gnu: zuo: Update to 1.10 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 3/3] gnu: chez-scheme: Backport test fix Philip McGrath @ 2024-05-26 3:19 ` Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-05-26 3:19 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath * 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 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 - 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" (base32 "1l0r4xpbbjz0b2s6v3kn490zgs2q1dnj3ga95y1505jmcwgb2hl9") + "math" (base32 "03ybjcp1w38f539dzsh8qb5cw0mb2hslpyqwbcsqxj3l9vqjlm8y") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -809,7 +808,7 @@ (define-public racket (url "https://github.com/RenaissanceBug/racket-cookies") (commit %racket-commit))) (sha256 (base32 - "1zr31y1gqa3kkrwlf9bnw08nzij00x1l70qhfbpz0239bksn4mmb")) + "1fbl717w5801bydx3nzwxddd1rh1cc0gxwpjc7ka9zh5ak09sb0w")) (file-name (git-file-name "RenaissanceBug-racket-cookies" %racket-version))) '("net-cookies" "net-cookies-doc" "net-cookies-lib")) @@ -826,7 +825,7 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") + "option-contract" (base32 "1914dcxy6qzpg3cpnzdm9lj0kwyw8xdb85mwiamqfkbg0xlyyhpa") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin "parser-tools" (base32 "1lp7wixmxcnha7cz834xfqqr48c2nldjbn9lng69bihpw01h9zms") @@ -835,7 +834,7 @@ (define-public racket "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "1ghds5by8i0k2djbig82xqp2ssy3nvdwm45l8ibsr99y0ay6z7gv") + "pict" (base32 "1swnwihfnbsz9k11515i0fbfhx1gn7qcygn1dxkrdvb89g4h1pf3") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -844,13 +843,13 @@ (define-public racket "picturing-programs" (base32 "1g6xr39hx1j03gb3d4dljm3v91xcj2gfpq3dgy5xvplzr6cmmxgr") '(("picturing-programs" "."))) (simple-racket-origin - "plai" (base32 "18kz31pj4lanlf9mn2yc0q9sxis264wb4f9v85ga23wd7g1hrzbq") + "plai" (base32 "1vcplmrzk2wr0n0m4fa0nq9ir986d5nk3dvcd7h1rv2jvhkcqdaq") '("plai" "plai-doc" "plai-lib")) (simple-racket-origin "planet" (base32 "0r2yqrzrmdjjyr14k6hhlzc5kzrcx3583m1s02mhrcmpfw0s85w9") '("planet" "planet-doc" "planet-lib")) (simple-racket-origin - "plot" (base32 "0jq9a366g7b2c9vp6yvpqikvklgyd6p4xj6v224g99yj8cgip40b") + "plot" (base32 "0skmir4njxmh3yx3ng23dvwkal79dd3fd23ijk6lyk8b013w1kj2") '("plot" "plot-compat" "plot-doc" "plot-gui-lib" "plot-lib")) (simple-racket-origin "preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg") @@ -889,7 +888,7 @@ (define-public racket "racklog" (base32 "0fr8xij0sssfnmwn6dfdi4jj3l62f2yj3jrjljv13kaycrfls032") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "06kpl51alm7akgmmh110ya28zgmx3as0szykfv2gwqmf7xcms1b7") + "rackunit" (base32 "18s2rg5y5i68m83z3b81dwv6ixm67iyv3varm9azmnr7di0gflzj") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -905,7 +904,7 @@ (define-public racket "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "1mwnxbfk2vbalndlq0996rzdi3a2z48m5xnb1ywzlsvnydrnkrk2") + "redex" (base32 "083ql7xx7slnpvyr0a8z2wdyib84lh155frjx8gmcisri5895z28") '("redex" "redex-benchmark" "redex-doc" @@ -920,7 +919,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0rk5q9r9fw826ag0npk5cwkzkapj2p243wwm9gn2l7j7cr6z1rvb") + "scribble" (base32 "03sgcgq8s0dk2zbn4jm514lx720rdx2pj8plr0sy7j0wnvm3rzsi") '("scribble" "scribble-doc" "scribble-html-lib" @@ -949,10 +948,10 @@ (define-public racket "slideshow" (base32 "147s7si6lxx6hm84wk2rfplk6wprladl9zni9pdvaxfa25chrabf") '("slideshow" "slideshow-doc" "slideshow-exe" "slideshow-lib" "slideshow-plugin")) (simple-racket-origin - "snip" (base32 "1b90ccqilnyszbphms3svm3c7dbk7870ifybjjipss5srb32mj2d") + "snip" (base32 "1aikzimkxvdvf81jxacm2zm8xir7nx1j6l6539pywl3xaf3nb2fm") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0vdsyr0qhpvac6h8mfdy6vqrsqsfa7kpg39n3h637hccxyfxv63f") + "typed-racket" (base32 "1r746jaxi5xxrk2zsn6v7bhb0drnlf7nx1ni0lvf7mvhqw7f97ci") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -960,7 +959,7 @@ (define-public racket "typed-racket-lib" "typed-racket-more")) (simple-racket-origin - "srfi" (base32 "1l3nr3a8mlp505aaxlyp4i8jfijmpyl9h1wwv8hzm4kzzjv4sl8p") + "srfi" (base32 "0z7kchsz9m6cb4qmbznzqs2px45fz1g81amg9zn7n1sa31x3jzch") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin "string-constants" (base32 "0225f1wmq1n9f2x1pg50fssdnd4bpc11q1jgsykwf4ik4fnaa520") @@ -978,7 +977,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1i4sxmcgj00ml7czsbyx1433hgf091n1p54xyal2f1fsskx5fg0y") + "web-server" (base32 "0wpsgdz38zxjrs4kazad71dl9y11cvn6jj4fz2maba77021byzyn") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.41.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH v2 0/3] gnu: racket: Update to 8.13. 2024-05-26 3:15 [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13 Philip McGrath ` (2 preceding siblings ...) 2024-05-26 3:19 ` [bug#71203] [PATCH 2/3] gnu: racket: Update to 8.13 Philip McGrath @ 2024-06-17 15:00 ` Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 1/3] gnu: zuo: Update to 1.10 Philip McGrath ` (3 more replies) 3 siblings, 4 replies; 9+ messages in thread From: Philip McGrath @ 2024-06-17 15:00 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath, Philip McGrath This v2 is just a rebase to try to trigger QA, as Ludo’ suggested in <https://lists.gnu.org/archive/html/guix-devel/2024-06/msg00150.html>. 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH v2 1/3] gnu: zuo: Update to 1.10. 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath @ 2024-06-17 15:00 ` Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 2/3] gnu: racket: Update to 8.13 Philip McGrath ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-06-17 15:00 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath, Philip McGrath * gnu/packages/racket.scm (zuo): Update to 1.10. Change-Id: I082129143b77d34236e32e5cd4f4aac3275d4bca --- gnu/packages/racket.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH v2 2/3] gnu: racket: Update to 8.13. 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 1/3] gnu: zuo: Update to 1.10 Philip McGrath @ 2024-06-17 15:00 ` Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 3/3] gnu: chez-scheme: Backport test fix Philip McGrath 2024-07-09 14:11 ` bug#71203: [PATCH v2 0/3] gnu: racket: Update to 8.13 Efraim Flashner 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-06-17 15:00 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath, Philip McGrath * 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 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 - 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" (base32 "1l0r4xpbbjz0b2s6v3kn490zgs2q1dnj3ga95y1505jmcwgb2hl9") + "math" (base32 "03ybjcp1w38f539dzsh8qb5cw0mb2hslpyqwbcsqxj3l9vqjlm8y") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -809,7 +808,7 @@ (define-public racket (url "https://github.com/RenaissanceBug/racket-cookies") (commit %racket-commit))) (sha256 (base32 - "1zr31y1gqa3kkrwlf9bnw08nzij00x1l70qhfbpz0239bksn4mmb")) + "1fbl717w5801bydx3nzwxddd1rh1cc0gxwpjc7ka9zh5ak09sb0w")) (file-name (git-file-name "RenaissanceBug-racket-cookies" %racket-version))) '("net-cookies" "net-cookies-doc" "net-cookies-lib")) @@ -826,7 +825,7 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") + "option-contract" (base32 "1914dcxy6qzpg3cpnzdm9lj0kwyw8xdb85mwiamqfkbg0xlyyhpa") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin "parser-tools" (base32 "1lp7wixmxcnha7cz834xfqqr48c2nldjbn9lng69bihpw01h9zms") @@ -835,7 +834,7 @@ (define-public racket "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "1ghds5by8i0k2djbig82xqp2ssy3nvdwm45l8ibsr99y0ay6z7gv") + "pict" (base32 "1swnwihfnbsz9k11515i0fbfhx1gn7qcygn1dxkrdvb89g4h1pf3") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -844,13 +843,13 @@ (define-public racket "picturing-programs" (base32 "1g6xr39hx1j03gb3d4dljm3v91xcj2gfpq3dgy5xvplzr6cmmxgr") '(("picturing-programs" "."))) (simple-racket-origin - "plai" (base32 "18kz31pj4lanlf9mn2yc0q9sxis264wb4f9v85ga23wd7g1hrzbq") + "plai" (base32 "1vcplmrzk2wr0n0m4fa0nq9ir986d5nk3dvcd7h1rv2jvhkcqdaq") '("plai" "plai-doc" "plai-lib")) (simple-racket-origin "planet" (base32 "0r2yqrzrmdjjyr14k6hhlzc5kzrcx3583m1s02mhrcmpfw0s85w9") '("planet" "planet-doc" "planet-lib")) (simple-racket-origin - "plot" (base32 "0jq9a366g7b2c9vp6yvpqikvklgyd6p4xj6v224g99yj8cgip40b") + "plot" (base32 "0skmir4njxmh3yx3ng23dvwkal79dd3fd23ijk6lyk8b013w1kj2") '("plot" "plot-compat" "plot-doc" "plot-gui-lib" "plot-lib")) (simple-racket-origin "preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg") @@ -889,7 +888,7 @@ (define-public racket "racklog" (base32 "0fr8xij0sssfnmwn6dfdi4jj3l62f2yj3jrjljv13kaycrfls032") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "06kpl51alm7akgmmh110ya28zgmx3as0szykfv2gwqmf7xcms1b7") + "rackunit" (base32 "18s2rg5y5i68m83z3b81dwv6ixm67iyv3varm9azmnr7di0gflzj") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -905,7 +904,7 @@ (define-public racket "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "1mwnxbfk2vbalndlq0996rzdi3a2z48m5xnb1ywzlsvnydrnkrk2") + "redex" (base32 "083ql7xx7slnpvyr0a8z2wdyib84lh155frjx8gmcisri5895z28") '("redex" "redex-benchmark" "redex-doc" @@ -920,7 +919,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0rk5q9r9fw826ag0npk5cwkzkapj2p243wwm9gn2l7j7cr6z1rvb") + "scribble" (base32 "03sgcgq8s0dk2zbn4jm514lx720rdx2pj8plr0sy7j0wnvm3rzsi") '("scribble" "scribble-doc" "scribble-html-lib" @@ -949,10 +948,10 @@ (define-public racket "slideshow" (base32 "147s7si6lxx6hm84wk2rfplk6wprladl9zni9pdvaxfa25chrabf") '("slideshow" "slideshow-doc" "slideshow-exe" "slideshow-lib" "slideshow-plugin")) (simple-racket-origin - "snip" (base32 "1b90ccqilnyszbphms3svm3c7dbk7870ifybjjipss5srb32mj2d") + "snip" (base32 "1aikzimkxvdvf81jxacm2zm8xir7nx1j6l6539pywl3xaf3nb2fm") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0vdsyr0qhpvac6h8mfdy6vqrsqsfa7kpg39n3h637hccxyfxv63f") + "typed-racket" (base32 "1r746jaxi5xxrk2zsn6v7bhb0drnlf7nx1ni0lvf7mvhqw7f97ci") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -960,7 +959,7 @@ (define-public racket "typed-racket-lib" "typed-racket-more")) (simple-racket-origin - "srfi" (base32 "1l3nr3a8mlp505aaxlyp4i8jfijmpyl9h1wwv8hzm4kzzjv4sl8p") + "srfi" (base32 "0z7kchsz9m6cb4qmbznzqs2px45fz1g81amg9zn7n1sa31x3jzch") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin "string-constants" (base32 "0225f1wmq1n9f2x1pg50fssdnd4bpc11q1jgsykwf4ik4fnaa520") @@ -978,7 +977,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1i4sxmcgj00ml7czsbyx1433hgf091n1p54xyal2f1fsskx5fg0y") + "web-server" (base32 "0wpsgdz38zxjrs4kazad71dl9y11cvn6jj4fz2maba77021byzyn") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.45.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#71203] [PATCH v2 3/3] gnu: chez-scheme: Backport test fix. 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 1/3] gnu: zuo: Update to 1.10 Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 2/3] gnu: racket: Update to 8.13 Philip McGrath @ 2024-06-17 15:00 ` Philip McGrath 2024-07-09 14:11 ` bug#71203: [PATCH v2 0/3] gnu: racket: Update to 8.13 Efraim Flashner 3 siblings, 0 replies; 9+ messages in thread From: Philip McGrath @ 2024-06-17 15:00 UTC (permalink / raw) To: 71203; +Cc: Philip McGrath, Philip McGrath 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 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#71203: [PATCH v2 0/3] gnu: racket: Update to 8.13. 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath ` (2 preceding siblings ...) 2024-06-17 15:00 ` [bug#71203] [PATCH v2 3/3] gnu: chez-scheme: Backport test fix Philip McGrath @ 2024-07-09 14:11 ` Efraim Flashner 3 siblings, 0 replies; 9+ messages in thread From: Efraim Flashner @ 2024-07-09 14:11 UTC (permalink / raw) To: Philip McGrath; +Cc: 71203-done [-- Attachment #1: Type: text/plain, Size: 1361 bytes --] I'm not sure the QA ever picked it up (haven't been watching it closely), but I tested it locally and everything looks good. Patches pushed! On Mon, Jun 17, 2024 at 11:00:08AM -0400, Philip McGrath wrote: > This v2 is just a rebase to try to trigger QA, as Ludo’ suggested > in <https://lists.gnu.org/archive/html/guix-devel/2024-06/msg00150.html>. > > 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 > > > > -- Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-07-09 14:56 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-05-26 3:15 [bug#71203] [PATCH 0/3] gnu: racket: Update to 8.13 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 1/3] gnu: zuo: Update to 1.10 Philip McGrath 2024-05-26 3:18 ` [bug#71203] [PATCH 3/3] gnu: chez-scheme: Backport test fix Philip McGrath 2024-05-26 3:19 ` [bug#71203] [PATCH 2/3] gnu: racket: Update to 8.13 Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 0/3] " Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 1/3] gnu: zuo: Update to 1.10 Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 2/3] gnu: racket: Update to 8.13 Philip McGrath 2024-06-17 15:00 ` [bug#71203] [PATCH v2 3/3] gnu: chez-scheme: Backport test fix Philip McGrath 2024-07-09 14:11 ` bug#71203: [PATCH v2 0/3] gnu: racket: Update to 8.13 Efraim Flashner
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).