[PATCH 0/2] gnu: racket: Update to 8.7.

  • Done
  • quality assurance status badge
Details
6 participants
  • Enrico Schwass
  • Liliana Marie Prikler
  • Liliana Marie Prikler
  • Ludovic Courtès
  • Philip McGrath
  • zimoun
Owner
unassigned
Submitted by
Philip McGrath
Severity
normal
P
P
Philip McGrath wrote on 16 Nov 2022 22:36
(address . guix-patches@gnu.org)
cover.1668634501.git.philip@philipmcgrath.com
Hi,

This patch series updates Racket to 8.7.

-Philip

Philip McGrath (2):
gnu: racket: Update to 8.7.
gnu: racket-vm-cs: Avoid duplicate work.

gnu/local.mk | 2 +-
gnu/packages/chez.scm | 21 +-
.../racket-backport-8.6-cross-install.patch | 126 ----
.../racket-backport-8.6-docindex-write.patch | 36 --
.../patches/racket-backport-8.6-hurd.patch | 609 ------------------
.../patches/racket-backport-8.6-zuo.patch | 481 --------------
.../racket-backport-8.7-pkg-strip.patch | 90 +++
gnu/packages/racket.scm | 60 +-
8 files changed, 128 insertions(+), 1297 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch
create mode 100644 gnu/packages/patches/racket-backport-8.7-pkg-strip.patch


base-commit: e06df550e21d596b65dc3e5b3e99152be58372b3
--
2.38.0
P
P
Philip McGrath wrote on 16 Nov 2022 22:39
[PATCH 1/2] gnu: racket: Update to 8.7.
(address . 59322@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
4572a52575c06039b7fc91672e18bc1aebe951eb.1668634501.git.philip@philipmcgrath.com
Also, update 'chez-scheme-for-racket' to 9.5.9.8.

* gnu/packages/patches/racket-backport-8.6-cross-install.patch,
gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
gnu/packages/patches/racket-backport-8.6-hurd.patch,
gnu/packages/patches/racket-backport-8.6-zuo.patch: Remove patches.
* gnu/packages/patches/racket-backport-8.7-pkg-strip.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.7.
(racket)[inputs]: Add 'scheme-doc' source package from '%racket-origin'.
(racket)[inputs]<compatibility, db, deinprogramm, draw, drracket, eopl,
errortrace, gui, htdp, mzscheme, parser-tools, pict, plai, plot, r6rs,
redex, scribble, slideshow, snip, typed-racket, srfi, string-constants>:
Update checksums.
* gnu/packages/chez.scm (target-chez-arch): Support riscv64-linux-gnu.
(%chez-features-table): Likewise.
(chez-scheme-for-racket): Update to 9.5.9.8.
[arguments]: Enable tests.
[description]: Update.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]: Update path to
'rktboot'.
---
gnu/local.mk | 2 +-
gnu/packages/chez.scm | 21 +-
.../racket-backport-8.6-cross-install.patch | 126 ----
.../racket-backport-8.6-docindex-write.patch | 36 --
.../patches/racket-backport-8.6-hurd.patch | 609 ------------------
.../patches/racket-backport-8.6-zuo.patch | 481 --------------
.../racket-backport-8.7-pkg-strip.patch | 90 +++
gnu/packages/racket.scm | 54 +-
8 files changed, 126 insertions(+), 1293 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch
create mode 100644 gnu/packages/patches/racket-backport-8.7-pkg-strip.patch

Toggle diff (473 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 4fcaa6801a..8441fc6ad5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1796,7 +1796,7 @@ dist_patch_DATA = \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
- %D%/packages/patches/racket-backport-8.6-zuo.patch \
+ %D%/packages/patches/racket-backport-8.7-pkg-strip.patch \
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/racket-zuo-bin-sh.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 5d152b3db5..0d22e2e20f 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -104,7 +104,7 @@ (define* (target-chez-arch #:optional (system
((target-ppc32? system)
"ppc32")
((target-riscv64? system)
- #f)
+ "rv64")
(else
#f)))
@@ -170,6 +170,7 @@ (define %chez-features-table
("a6" threads bootstrap-bootfiles)
("arm32" bootstrap-bootfiles)
("arm64" . #f)
+ ("rv64" . #f)
("ppc32" threads))
;; Hurd
("gnu"
@@ -466,8 +467,8 @@ (define-public chez-scheme-for-racket
(package
(inherit chez-scheme)
(name "chez-scheme-for-racket")
- (version "9.5.9.2")
- ;; The version should match `(scheme-fork-version-number)`.
+ (version "9.5.9.8")
+ ;; The version should match `scheme-version`.
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
;; It will always be different than the upstream version!
;; When updating, remember to also update %racket-version in racket.scm.
@@ -492,12 +493,6 @@ (define-public chez-scheme-for-racket
(substitute-keyword-arguments (package-arguments chez-scheme)
((#:out-of-source? _ #f)
#t)
- ((#:tests? _ #t)
- ;; FIXME: There have been some flaky test failures. Some have been
- ;; fixed upstream post-release but have proven non-trivial to
- ;; backport; at least one issue remains. Re-enable tests once
- ;; https://github.com/racket/racket/issues/4359 is fixed.
- #f)
((#:configure-flags cfg-flags #~'())
#~`("--disable-x11"
"--threads" ;; ok to potentially duplicate
@@ -590,7 +585,7 @@ (define-public chez-scheme-for-racket
Main additions to Chez Scheme in the Racket variant:
@itemize @bullet
@item
-AArch64 code generation
+AArch64 and RV64G (RISC-V) code generation
@item
Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a
build on any platform, but can also be used on platforms without native-code
@@ -603,7 +598,7 @@ (define-public chez-scheme-for-racket
@item
Type reconstruction during optimization (especially for safe code)
@item
-Continuation attachments
+Continuation marks
@item
Parallel garbage collection, in-place garbage collection for old-generation
objects (instead of always copying), and reachability-based memory
@@ -611,6 +606,8 @@ (define-public chez-scheme-for-racket
@item
Ordered finalization, immobile (but collectable) objects, weak/ephemeron
generic hash tables, and reference bytevectors
+@item
+Easier bootstrapping via old versions of Chez Scheme
@end itemize")
(license asl2.0)))
@@ -695,7 +692,7 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles
#~(invoke
(search-input-file (or native-inputs inputs)
"/opt/racket-vm/bin/racket")
- "rktboot/main.rkt"
+ "../rktboot/main.rkt"
#$@(if (racket-cs-native-supported-system?)
#~()
(let ((m (nix-system->pbarch-machine-type)))
diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch
deleted file mode 100644
index 2c4d8924ed..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-cross-install.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Sat, 30 Jul 2022 07:06:55 -0600
-Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross
- compilation
-
-Closes #4377
-
-(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5)
----
- racket/src/cs/c/build.zuo | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo
-index 8d3950bb27..d8b74c509d 100644
---- a/racket/src/cs/c/build.zuo
-+++ b/racket/src/cs/c/build.zuo
-@@ -1016,10 +1016,9 @@
- (define (setup)
- (call-with-dest-racket
- (lambda (bindir dest-racket)
-- (define copytree-racket (and cross? (config-bootstrap-racket)))
-+ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket)))
- (maybe-copytree config dest-racket copytree-racket at-dir)
-- (run-raco-setup config dest-racket
-- (and cross? (hash-ref (config-bootstrap-racket) 'racket))
-+ (run-raco-setup config dest-racket copytree-racket
- ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`,
- ;; but redundant should be ok:
- (list "-MCR" (~a (at-dir "compiled") ":")
---
-2.32.0
-
-
-From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Mon, 15 Aug 2022 10:37:01 +0800
-Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build
-
-Don't assume a cross build for a pb target on a platform that's only
-supported via pb.
-
-(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb)
-
-(Edited to remove unrelated tweak to comments in
-"racket/src/expander/expand/require+provide.rkt".)
----
- racket/src/cs/c/configure | 15 +++++++++++----
- racket/src/cs/c/configure.ac | 15 +++++++++++----
- 2 files changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
-index 454d79e11a..7e0fa5600d 100755
---- a/racket/src/cs/c/configure
-+++ b/racket/src/cs/c/configure
-@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in
- ;;
- esac
-
-+if test "${MACH}" = "" ; then
-+ default_mach_was_empty=yes
-+else
-+ default_mach_was_empty=no
-+fi
-
- if test "${enable_mach}" != "" ; then
- MACH="${enable_mach}"
-@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
- exit 1
- fi
-
--# For a pb build where Racket is supplied, force cross-build
--# mode on the assumption that the host is not a pb build
--# (because it should be created with default configure options)
-+# For a pb build where Racket is supplied and MACH was not originally
-+# empty, force cross-build mode on the assumption that the host is not
-+# a pb build (because it should be created with default configure options)
- if test "${enable_pb}" = "yes" ; then
- if test "${enable_racket}" != "" ; then
- if test "${enable_target}" = "" ; then
-- enable_target="${MACH}"
-+ if test "${default_mach_was_empty}" = "no" ; then
-+ enable_target="${MACH}"
-+ fi
- fi
- fi
- fi
-diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
-index 5bce979c92..734c1e8feb 100644
---- a/racket/src/cs/c/configure.ac
-+++ b/racket/src/cs/c/configure.ac
-@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in
- ;;
- esac
-
-+if test "${MACH}" = "" ; then
-+ default_mach_was_empty=yes
-+else
-+ default_mach_was_empty=no
-+fi
-
- if test "${enable_mach}" != "" ; then
- MACH="${enable_mach}"
-@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
- exit 1
- fi
-
--# For a pb build where Racket is supplied, force cross-build
--# mode on the assumption that the host is not a pb build
--# (because it should be created with default configure options)
-+# For a pb build where Racket is supplied and MACH was not originally
-+# empty, force cross-build mode on the assumption that the host is not
-+# a pb build (because it should be created with default configure options)
- if test "${enable_pb}" = "yes" ; then
- if test "${enable_racket}" != "" ; then
- if test "${enable_target}" = "" ; then
-- enable_target="${MACH}"
-+ if test "${default_mach_was_empty}" = "no" ; then
-+ enable_target="${MACH}"
-+ fi
- fi
- fi
- fi
---
-2.32.0
-
diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch
deleted file mode 100644
index abe1984507..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Sun, 17 Jul 2022 22:51:44 -0400
-Subject: [PATCH] racket-index: set write permission when copying
- `docindex.sqlite`
-
-Fixes https://github.com/racket/racket/issues/4357
-
-(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2)
----
- pkgs/racket-index/setup/scribble.rkt | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt
-index 6694f0b793..e27a8fa348 100644
---- a/pkgs/racket-index/setup/scribble.rkt
-+++ b/pkgs/racket-index/setup/scribble.rkt
-@@ -252,7 +252,14 @@
- (unless (file-exists? db-file)
- (define-values (base name dir?) (split-path db-file))
- (make-directory* base)
-- (when copy-from (copy-file copy-from db-file))
-+ (when copy-from
-+ (copy-file copy-from db-file)
-+ ;; we might not have write permissions for the previous layer:
-+ ;; ensure that we do for the new file
-+ (define orig-mode (file-or-directory-permissions db-file 'bits))
-+ (define writeable-mode (bitwise-ior user-write-bit orig-mode))
-+ (unless (= writeable-mode orig-mode)
-+ (file-or-directory-permissions db-file writeable-mode)))
- (doc-db-disconnect
- (doc-db-file->connection db-file #t))))
- (when (or (ormap can-build*? main-docs)
---
-2.32.0
-
diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch
deleted file mode 100644
index d593b01e62..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-hurd.patch
+++ /dev/null
@@ -1,609 +0,0 @@
-From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Wed, 3 Aug 2022 03:13:03 -0400
-Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd
-
-Mostly GNU/Hurd should take the same options as GNU/Linux. One
-difference is that the Hurd does not define macros such as `PATH_MAX` or
-`NOFILE`, because it avoids imposing arbitrary limits on such resources.
-This patch provides alternatives for localized uses of those constants,
-but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for
-now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html.
-
-(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085)
----
- racket/src/ChezScheme/README.md | 1 +
- racket/src/ChezScheme/c/number.c | 22 +++++++++----------
- racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++--
- racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------
- racket/src/ChezScheme/c/version.h | 7 ++++--
- racket/src/ChezScheme/configure | 17 ++++++++++-----
- racket/src/ChezScheme/s/cmacros.ss | 1 +
- racket/src/cs/c/configure | 14 ++++++++++--
- racket/src/cs/c/configure.ac | 14 ++++++++++--
- racket/src/cs/rumble/system.ss | 3 +++
- 10 files changed, 109 insertions(+), 39 deletions(-)
-
-diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md
-index a4a11a5eef..25231dd9bb 100644
---- a/racket/src/ChezScheme/README.md
-+++ b/racket/src/ChezScheme/README.md
-@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others):
- * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
- * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
- * Solaris: x86, x86_64
-+ * GNU/Hurd: x86
- * Android: ARMv7, AArch64
- * iOS: AArch64
- * WebAssembly via Emscripten (bytecode interpreter only)
-diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c
-index ede38cc626..e2bce0d2d3 100644
---- a/racket/src/ChezScheme/c/number.c
-+++ b/racket/src/ChezScheme/c/number.c
-@@ -1041,15 +1041,15 @@ floating-point operations
-
- #ifdef IEEE_DOUBLE
- /* exponent stored + 1024, hidden bit to left of decimal point */
--#define bias 1023
--#define bitstoright 52
--#define m1mask 0xf
--#ifdef WIN32
--#define hidden_bit 0x10000000000000
--#else
--#define hidden_bit 0x10000000000000ULL
--#endif
--#ifdef LITTLE_ENDIAN_IEEE_DOUBLE
-+# define bias 1023
-+# define bitstoright 52
-+# define m1mask 0xf
-+# ifdef WIN32
-+# define hidden_bit 0x10000000000000
-+# else
-+# define hidden_bit 0x10000000000000ULL
-+# endif
-+# ifdef LITTLE_ENDIAN_IEEE_DOUBLE
- struct dblflt {
- UINT m4: 16;
- UINT m3: 16;
-@@ -1058,7 +1058,7 @@ struct dblflt {
- UINT e: 11;
- UINT sign: 1;
- };
--#else
-+# else
- struct dblflt {
- UINT sign: 1;
- UINT e: 11;
-@@ -1067,7 +1067,7 @@ struct dblflt {
- UINT m3: 16;
- UINT m4: 16;
- };
--#endif
-+# endif
- #endif
-
- double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) {
-diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c
-index 124d1e049c..82bbf8d687 100644
---- a/racket/src/ChezScheme/c/prim5.c
-+++ b/racket/src/ChezScheme/c/prim5.c
-@@ -23,6 +23,10 @@
- #include <ctype.h>
- #include <math.h>
-
-+#if defined(__GNU__) /* Hurd */
-+#include <sys/resource.h>
-+#endif
-+
- /* locally defined functions */
- static INT s_errno(void);
- static IBOOL s_addr_in_heap(uptr x);
-@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn);
- static ptr s_system(const char *s);
- static ptr s_process(char *s, IBOOL stderrp);
- static I32 s_chdir(const char *inpath);
--#ifdef GETWD
-+#if defined(GETWD) || defined(__GNU__) /* Hurd */
- static char *s_getwd(void);
- #endif
- static ptr s_set_code_byte(ptr p, ptr n, ptr x);
-@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) {
- CLOSE(0); if (dup(tofds[0]) != 0) _exit(1);
- CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1);
- CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1);
-+#ifndef __GNU__ /* Hurd */
- {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);}
-+#else /* __GNU__ Hurd: no NOFILE */
-+ {
-+ INT i;
-+ struct rlimit rlim;
-+ getrlimit(RLIMIT_NOFILE, &rlim);
-+ for (i = 3; i < rlim.rlim_cur; i++) {
-+ (void)CLOSE(i);
-+ }
-+ }
-+#endif /* __GNU__ Hurd */
- execl("/bin/sh", "/bin/sh", "-c", s, NULL);
- _exit(1) /* only if execl fails */;
- /*NOTREACHED*/
-@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) {
- static char *s_getwd() {
- return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0)));
- }
-+#elif defined(__GNU__) /* Hurd: no PATH_MAX */
-+static char *s_getwd() {
-+ char *path;
-+ size_t len;
-+ ptr bv;
-+ path = getcwd(NULL, 0);
-+ if (NULL == path) {
-+ return NULL;
-+ } else {
-+ len = strlen(path);
-+ bv = S_bytevector(len);
-+ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len);
-+ free(path);
-+ return TO_VOIDP(&BVIT(bv, 0));
-+ }
-+}
- #endif /* GETWD */
-
- static ptr s_set_code_byte(ptr p, ptr n, ptr x) {
-@@ -1817,7 +1848,7 @@ void S_prim5_init(void) {
- Sforeign_symbol("(cs)s_rational", (void *)S_rational);
- Sforeign_symbol("(cs)sub", (void *)S_sub);
- Sforeign_symbol("(cs)rem", (void *)S_rem);
--#ifdef GETWD
-+#if defined(GETWD) || defined(__GNU__) /* Hurd */
- Sforeign_symbol("(cs)s_getwd", (void *)s_getwd);
- #endif
- Sforeign_symbol("(cs)s_chdir", (void *)s_chdir);
-diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c
-index ed5564540b..0c40e3eaf0 100644
---- a/racket/src/ChezScheme/c/scheme.c
-+++ b/racket/src/ChezScheme/c/scheme.c
-@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char
- static const char *path_last(const char *path);
- static char *get_defaultheapdirs(void);
-
-+#ifdef PATH_MAX
-+# define BOOT_PATH_MAX PATH_MAX
-+#else /* hack for Hurd: better to remove the restriction */
-+# define BOOT_PATH_MAX 4096
-+#endif
-+
- static const char *path_last(const char *p) {
- const char *s;
- #ifdef WIN32
-@@ -483,7 +489,7 @@ static const char *path_last(const char *p) {
-
- static char *get_defaultheapdirs() {
- char *result;
-- wchar_t buf[PATH_MAX];
-+ wchar_t buf[BOOT_PATH_MAX];
- DWORD len = sizeof(buf);
- if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len))
- return DEFAULT_HEAP_PATH;
-@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() {
- * leaving the full path with name affixed in path and *sp / *dsp pointing
- * past the current entry. it returns 1 on success and 0 if at the end of
- * the search path. path should be a pointer to an unoccupied buffer
-- * PATH_MAX characters long. either or both of sp/dsp may be empty,
-+ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty,
- * but neither may be null, i.e., (char *)0. */
- static IBOOL next_path(char *path, const char *name, const char *ext,
- const char **sp, const char **dsp) {
- char *p;
- const char *s, *t;
-
--#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entr
This message was truncated. Download the full message here.
P
P
Philip McGrath wrote on 16 Nov 2022 22:39
[PATCH 2/2] gnu: racket-vm-cs: Avoid duplicate work.
(address . 59322@debbugs.gnu.org)(name . Philip McGrath)(address . philip@philipmcgrath.com)
eb8aaa0013fbd05a1741781e3df7be350a5c19de.1668634501.git.philip@philipmcgrath.com
Only configure with '--enable-racket' for cross-compilation: otherwise,
it effectively overrides '--enable-scheme' and bootstraps Chez Scheme
again. This change saves a couple minutes of build time. See upstream

* gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Only supply a
Racket VM when cross-compiling.
---
gnu/packages/racket.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 20d293e998..2cda2b6b9c 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -439,14 +439,12 @@ (define-public racket-vm-cs
(let ((native-inputs (package-native-inputs racket-vm-cgc)))
(modify-inputs (if (%current-target-system)
(modify-inputs native-inputs
+ (prepend this-package)
(delete "racket-vm-cgc"))
native-inputs)
(delete "libtool")
(prepend chez-scheme-for-racket
- chez-nanopass-bootstrap
- (if (%current-target-system)
- racket-vm-cs
- racket-vm-bc)))))
+ chez-nanopass-bootstrap))))
(arguments
(substitute-keyword-arguments (package-arguments racket-vm-cgc)
((#:phases those-phases #~%standard-phases)
--
2.38.0
L
L
Liliana Marie Prikler wrote on 17 Nov 2022 08:30
Re: [PATCH 1/2] gnu: racket: Update to 8.7.
6e91dc3c98d28fb4332a1b0109b23088b76b69f6.camel@ist.tugraz.at
Am Mittwoch, dem 16.11.2022 um 16:39 -0500 schrieb Philip McGrath:
Toggle quote (6 lines)
> Also, update 'chez-scheme-for-racket' to 9.5.9.8.
>
> * gnu/packages/patches/racket-backport-8.6-cross-install.patch,
> gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
> gnu/packages/patches/racket-backport-8.6-hurd.patch,
> gnu/packages/patches/racket-backport-8.6-zuo.patch: Remove patches.
Okay.
Toggle quote (2 lines)
> * gnu/packages/patches/racket-backport-8.7-pkg-strip.patch: New
> patch.
The patch LGTM.
Toggle quote (1 lines)
> * gnu/local.mk (dist_patch_DATA): Update accordingly.
This update seems non-complete – where the other backports previously
missing from our dist_patch_DATA?
Toggle quote (10 lines)
> * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
> (%racket-version): Update to 8.7.
> (racket)[inputs]: Add 'scheme-doc' source package from '%racket-
> origin'.
> (racket)[inputs]<compatibility, db, deinprogramm, draw, drracket,
> eopl,
> errortrace, gui, htdp, mzscheme, parser-tools, pict, plai, plot,
> r6rs,
> redex, scribble, slideshow, snip, typed-racket, srfi, string-
> constants>:
Use proper ChangeLog formatting, i.e. <compatibility,... drracket>
<eopl, errortrace, ...plot>
...
Pardon the potential off-by-one error due to the added quote columns.
Toggle quote (10 lines)
> Update checksums.
> * gnu/packages/chez.scm (target-chez-arch): Support riscv64-linux-
> gnu.
> (%chez-features-table): Likewise.
> (chez-scheme-for-racket): Update to 9.5.9.8.
> [arguments]: Enable tests.
> [description]: Update.
> (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]: Update path
> to
> 'rktboot'.
I suggest splitting this into two or three commits, where
(1. Update Chez scheme)
2. Update Racket with all the patches and checksums.
3. Update feature tables.

IIRC 1 and 2 share the definition of Racket origin, so it might not be
possible to split them, but it is definitely not necessary to enable
further arches that hitherto didn't work "in one go".


Cheers
P
P
Philip McGrath wrote on 18 Nov 2022 01:45
[PATCH v2 0/4] gnu: racket: Update to 8.7.
(address . 59322@debbugs.gnu.org)
cover.1668730588.git.philip@philipmcgrath.com
Hi,

Here's a v2 reflecting your comments.

On Thursday, November 17, 2022 2:30:22 AM EST Liliana Marie Prikler wrote:
Toggle quote (7 lines)
> Am Mittwoch, dem 16.11.2022 um 16:39 -0500 schrieb Philip McGrath:
> > * gnu/local.mk (dist_patch_DATA): Update accordingly.
>
> This update seems non-complete – where the other backports previously
> missing from our dist_patch_DATA?
>

Yes: they were in dist_patch_DATA in the first series I sent
at https://issues.guix.gnu.org/57050, but it looks like I must have missed
them while rebasing and splitting the patches. At any rate, commit
9647296ce618fbc79026534c3fafb1a538612697 doesn't change gnu/local.mk at all,
despite what its commit log says.

I've explained briefly in the new commit message.

Toggle quote (17 lines)
> > * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
> > (%racket-version): Update to 8.7.
> > (racket)[inputs]: Add 'scheme-doc' source package from '%racket-
> > origin'.
> > (racket)[inputs]<compatibility, db, deinprogramm, draw, drracket,
> > eopl,
> > errortrace, gui, htdp, mzscheme, parser-tools, pict, plai, plot,
> > r6rs,
> > redex, scribble, slideshow, snip, typed-racket, srfi, string-
>
> > constants>:
> Use proper ChangeLog formatting, i.e. <compatibility,... drracket>
> <eopl, errortrace, ...plot>
> ...
> Pardon the potential off-by-one error due to the added quote columns.
>

I hope I've now done this in the style you want. The style at linebreaks
doesn't seem to have been entirely consistent among Guix commits.

Toggle quote (20 lines)
> > Update checksums.
> > * gnu/packages/chez.scm (target-chez-arch): Support riscv64-linux-
> > gnu.
> > (%chez-features-table): Likewise.
> > (chez-scheme-for-racket): Update to 9.5.9.8.
> > [arguments]: Enable tests.
> > [description]: Update.
> > (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]: Update path
> > to
> > 'rktboot'.
>
> I suggest splitting this into two or three commits, where
> (1. Update Chez scheme)
> 2. Update Racket with all the patches and checksums.
> 3. Update feature tables.
>
> IIRC 1 and 2 share the definition of Racket origin, so it might not be
> possible to split them, but it is definitely not necessary to enable
> further arches that hitherto didn't work "in one go".

I have split out the riscv64 support as you suggested.

-Philip


Philip McGrath (4):
gnu: racket: Update to 8.7.
gnu: chez-scheme-for-racket: Support riscv64.
gnu: racket-vm-cs: Avoid duplicate work.
etc: teams: Add chez.scm to Racket team's scope.

etc/teams.scm.in | 3 +-
gnu/local.mk | 2 +-
gnu/packages/chez.scm | 21 +-
.../racket-backport-8.6-cross-install.patch | 126 ----
.../racket-backport-8.6-docindex-write.patch | 36 --
.../patches/racket-backport-8.6-hurd.patch | 609 ------------------
.../patches/racket-backport-8.6-zuo.patch | 481 --------------
.../racket-backport-8.7-pkg-strip.patch | 90 +++
gnu/packages/racket.scm | 60 +-
9 files changed, 130 insertions(+), 1298 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch
create mode 100644 gnu/packages/patches/racket-backport-8.7-pkg-strip.patch


base-commit: 83c9e00ffbd41776c003f6992e9d613a5434fff9
--
2.38.0
P
P
Philip McGrath wrote on 18 Nov 2022 01:45
[PATCH v2 2/4] gnu: chez-scheme-for-racket: Support riscv64.
(address . 59322@debbugs.gnu.org)
f77badf116d9ea9a0ebad18fe8819b45492501bc.1668730588.git.philip@philipmcgrath.com
Use the new native backend instead of "portable bytecode".

* gnu/packages/chez.scm (target-chez-arch): Support riscv64-linux-gnu.
(%chez-features-table): Likewise.
---
gnu/packages/chez.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 7025a71b94..0d22e2e20f 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -104,7 +104,7 @@ (define* (target-chez-arch #:optional (system
((target-ppc32? system)
"ppc32")
((target-riscv64? system)
- #f)
+ "rv64")
(else
#f)))
@@ -170,6 +170,7 @@ (define %chez-features-table
("a6" threads bootstrap-bootfiles)
("arm32" bootstrap-bootfiles)
("arm64" . #f)
+ ("rv64" . #f)
("ppc32" threads))
;; Hurd
("gnu"
--
2.38.0
P
P
Philip McGrath wrote on 18 Nov 2022 01:45
[PATCH v2 3/4] gnu: racket-vm-cs: Avoid duplicate work.
(address . 59322@debbugs.gnu.org)
549a86bbf01605b74c8987bffbf38fcfc73e9151.1668730588.git.philip@philipmcgrath.com
Only configure with '--enable-racket' for cross-compilation: otherwise,
it effectively overrides '--enable-scheme' and bootstraps Chez Scheme
again. This change saves a couple minutes of build time. See upstream

* gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Only supply a
Racket VM when cross-compiling.
---
gnu/packages/racket.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 20d293e998..2cda2b6b9c 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -439,14 +439,12 @@ (define-public racket-vm-cs
(let ((native-inputs (package-native-inputs racket-vm-cgc)))
(modify-inputs (if (%current-target-system)
(modify-inputs native-inputs
+ (prepend this-package)
(delete "racket-vm-cgc"))
native-inputs)
(delete "libtool")
(prepend chez-scheme-for-racket
- chez-nanopass-bootstrap
- (if (%current-target-system)
- racket-vm-cs
- racket-vm-bc)))))
+ chez-nanopass-bootstrap))))
(arguments
(substitute-keyword-arguments (package-arguments racket-vm-cgc)
((#:phases those-phases #~%standard-phases)
--
2.38.0
P
P
Philip McGrath wrote on 18 Nov 2022 01:45
[PATCH v2 4/4] etc: teams: Add chez.scm to Racket team's scope.
(address . 59322@debbugs.gnu.org)
3a1f02544e018bd1164b8d867c8e672bc751128c.1668730588.git.philip@philipmcgrath.com
Racket's variant of Chez Scheme is defined in that file.

* etc/teams.scm.in (racket)[#:scope]: Add gnu/packages/chez.scm.
---
etc/teams.scm.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/etc/teams.scm.in b/etc/teams.scm.in
index c458b14e3b..f744204017 100644
--- a/etc/teams.scm.in
+++ b/etc/teams.scm.in
@@ -393,7 +393,8 @@ (define-team racket
"The Racket language and Racket-based languages, Racket packages,
Racket's variant of Chez Scheme, and development of a Racket build system and
importer."
- #:scope (list "gnu/packages/racket.scm")))
+ #:scope (list "gnu/packages/chez.scm"
+ "gnu/packages/racket.scm")))
(define-member (person "Thiago Jung Bauermann"
--
2.38.0
P
P
Philip McGrath wrote on 18 Nov 2022 01:45
[PATCH v2 1/4] gnu: racket: Update to 8.7.
(address . 59322@debbugs.gnu.org)
858dfc129245ec1a58be04fd853ec68a37d99749.1668730588.git.philip@philipmcgrath.com
Also, update 'chez-scheme-for-racket' to 9.5.9.8.

Note that racket-backport-8.6-cross-install.patch,
racket-backport-8.6-docindex-write.patch, and
racket-backport-8.6-hurd.patch were missing from dist_patch_DATA.

* gnu/packages/patches/racket-backport-8.6-cross-install.patch,
gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
gnu/packages/patches/racket-backport-8.6-hurd.patch,
gnu/packages/patches/racket-backport-8.6-zuo.patch: Remove patches.
* gnu/packages/patches/racket-backport-8.7-pkg-strip.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.7.
(racket)[inputs]: Add 'scheme-doc' source package from '%racket-origin'.
(racket)[inputs]<compatibility, db, deinprogramm, draw, drracket>
<eopl, errortrace, gui, htdp, mzscheme, parser-tools, pict, plai, plot>
<r6rs, redex, scribble, slideshow, snip, typed-racket, srfi>
<string-constants>: Update checksums.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to 9.5.9.8.
[arguments]: Enable tests.
[description]: Update.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]: Update path to
'rktboot'.
---
gnu/local.mk | 2 +-
gnu/packages/chez.scm | 18 +-
.../racket-backport-8.6-cross-install.patch | 126 ----
.../racket-backport-8.6-docindex-write.patch | 36 --
.../patches/racket-backport-8.6-hurd.patch | 609 ------------------
.../patches/racket-backport-8.6-zuo.patch | 481 --------------
.../racket-backport-8.7-pkg-strip.patch | 90 +++
gnu/packages/racket.scm | 54 +-
8 files changed, 124 insertions(+), 1292 deletions(-)
delete mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch
delete mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch
create mode 100644 gnu/packages/patches/racket-backport-8.7-pkg-strip.patch

Toggle diff (461 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index b154caaaaa..05bb8afebd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1795,7 +1795,7 @@ dist_patch_DATA = \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
- %D%/packages/patches/racket-backport-8.6-zuo.patch \
+ %D%/packages/patches/racket-backport-8.7-pkg-strip.patch \
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/racket-zuo-bin-sh.patch \
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 5d152b3db5..7025a71b94 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -466,8 +466,8 @@ (define-public chez-scheme-for-racket
(package
(inherit chez-scheme)
(name "chez-scheme-for-racket")
- (version "9.5.9.2")
- ;; The version should match `(scheme-fork-version-number)`.
+ (version "9.5.9.8")
+ ;; The version should match `scheme-version`.
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
;; It will always be different than the upstream version!
;; When updating, remember to also update %racket-version in racket.scm.
@@ -492,12 +492,6 @@ (define-public chez-scheme-for-racket
(substitute-keyword-arguments (package-arguments chez-scheme)
((#:out-of-source? _ #f)
#t)
- ((#:tests? _ #t)
- ;; FIXME: There have been some flaky test failures. Some have been
- ;; fixed upstream post-release but have proven non-trivial to
- ;; backport; at least one issue remains. Re-enable tests once
- ;; https://github.com/racket/racket/issues/4359 is fixed.
- #f)
((#:configure-flags cfg-flags #~'())
#~`("--disable-x11"
"--threads" ;; ok to potentially duplicate
@@ -590,7 +584,7 @@ (define-public chez-scheme-for-racket
Main additions to Chez Scheme in the Racket variant:
@itemize @bullet
@item
-AArch64 code generation
+AArch64 and RV64G (RISC-V) code generation
@item
Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a
build on any platform, but can also be used on platforms without native-code
@@ -603,7 +597,7 @@ (define-public chez-scheme-for-racket
@item
Type reconstruction during optimization (especially for safe code)
@item
-Continuation attachments
+Continuation marks
@item
Parallel garbage collection, in-place garbage collection for old-generation
objects (instead of always copying), and reachability-based memory
@@ -611,6 +605,8 @@ (define-public chez-scheme-for-racket
@item
Ordered finalization, immobile (but collectable) objects, weak/ephemeron
generic hash tables, and reference bytevectors
+@item
+Easier bootstrapping via old versions of Chez Scheme
@end itemize")
(license asl2.0)))
@@ -695,7 +691,7 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles
#~(invoke
(search-input-file (or native-inputs inputs)
"/opt/racket-vm/bin/racket")
- "rktboot/main.rkt"
+ "../rktboot/main.rkt"
#$@(if (racket-cs-native-supported-system?)
#~()
(let ((m (nix-system->pbarch-machine-type)))
diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch
deleted file mode 100644
index 2c4d8924ed..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-cross-install.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Sat, 30 Jul 2022 07:06:55 -0600
-Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross
- compilation
-
-Closes #4377
-
-(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5)
----
- racket/src/cs/c/build.zuo | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo
-index 8d3950bb27..d8b74c509d 100644
---- a/racket/src/cs/c/build.zuo
-+++ b/racket/src/cs/c/build.zuo
-@@ -1016,10 +1016,9 @@
- (define (setup)
- (call-with-dest-racket
- (lambda (bindir dest-racket)
-- (define copytree-racket (and cross? (config-bootstrap-racket)))
-+ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket)))
- (maybe-copytree config dest-racket copytree-racket at-dir)
-- (run-raco-setup config dest-racket
-- (and cross? (hash-ref (config-bootstrap-racket) 'racket))
-+ (run-raco-setup config dest-racket copytree-racket
- ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`,
- ;; but redundant should be ok:
- (list "-MCR" (~a (at-dir "compiled") ":")
---
-2.32.0
-
-
-From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001
-From: Matthew Flatt <mflatt@racket-lang.org>
-Date: Mon, 15 Aug 2022 10:37:01 +0800
-Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build
-
-Don't assume a cross build for a pb target on a platform that's only
-supported via pb.
-
-(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb)
-
-(Edited to remove unrelated tweak to comments in
-"racket/src/expander/expand/require+provide.rkt".)
----
- racket/src/cs/c/configure | 15 +++++++++++----
- racket/src/cs/c/configure.ac | 15 +++++++++++----
- 2 files changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
-index 454d79e11a..7e0fa5600d 100755
---- a/racket/src/cs/c/configure
-+++ b/racket/src/cs/c/configure
-@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in
- ;;
- esac
-
-+if test "${MACH}" = "" ; then
-+ default_mach_was_empty=yes
-+else
-+ default_mach_was_empty=no
-+fi
-
- if test "${enable_mach}" != "" ; then
- MACH="${enable_mach}"
-@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
- exit 1
- fi
-
--# For a pb build where Racket is supplied, force cross-build
--# mode on the assumption that the host is not a pb build
--# (because it should be created with default configure options)
-+# For a pb build where Racket is supplied and MACH was not originally
-+# empty, force cross-build mode on the assumption that the host is not
-+# a pb build (because it should be created with default configure options)
- if test "${enable_pb}" = "yes" ; then
- if test "${enable_racket}" != "" ; then
- if test "${enable_target}" = "" ; then
-- enable_target="${MACH}"
-+ if test "${default_mach_was_empty}" = "no" ; then
-+ enable_target="${MACH}"
-+ fi
- fi
- fi
- fi
-diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
-index 5bce979c92..734c1e8feb 100644
---- a/racket/src/cs/c/configure.ac
-+++ b/racket/src/cs/c/configure.ac
-@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in
- ;;
- esac
-
-+if test "${MACH}" = "" ; then
-+ default_mach_was_empty=yes
-+else
-+ default_mach_was_empty=no
-+fi
-
- if test "${enable_mach}" != "" ; then
- MACH="${enable_mach}"
-@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
- exit 1
- fi
-
--# For a pb build where Racket is supplied, force cross-build
--# mode on the assumption that the host is not a pb build
--# (because it should be created with default configure options)
-+# For a pb build where Racket is supplied and MACH was not originally
-+# empty, force cross-build mode on the assumption that the host is not
-+# a pb build (because it should be created with default configure options)
- if test "${enable_pb}" = "yes" ; then
- if test "${enable_racket}" != "" ; then
- if test "${enable_target}" = "" ; then
-- enable_target="${MACH}"
-+ if test "${default_mach_was_empty}" = "no" ; then
-+ enable_target="${MACH}"
-+ fi
- fi
- fi
- fi
---
-2.32.0
-
diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch
deleted file mode 100644
index abe1984507..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Sun, 17 Jul 2022 22:51:44 -0400
-Subject: [PATCH] racket-index: set write permission when copying
- `docindex.sqlite`
-
-Fixes https://github.com/racket/racket/issues/4357
-
-(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2)
----
- pkgs/racket-index/setup/scribble.rkt | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt
-index 6694f0b793..e27a8fa348 100644
---- a/pkgs/racket-index/setup/scribble.rkt
-+++ b/pkgs/racket-index/setup/scribble.rkt
-@@ -252,7 +252,14 @@
- (unless (file-exists? db-file)
- (define-values (base name dir?) (split-path db-file))
- (make-directory* base)
-- (when copy-from (copy-file copy-from db-file))
-+ (when copy-from
-+ (copy-file copy-from db-file)
-+ ;; we might not have write permissions for the previous layer:
-+ ;; ensure that we do for the new file
-+ (define orig-mode (file-or-directory-permissions db-file 'bits))
-+ (define writeable-mode (bitwise-ior user-write-bit orig-mode))
-+ (unless (= writeable-mode orig-mode)
-+ (file-or-directory-permissions db-file writeable-mode)))
- (doc-db-disconnect
- (doc-db-file->connection db-file #t))))
- (when (or (ormap can-build*? main-docs)
---
-2.32.0
-
diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch
deleted file mode 100644
index d593b01e62..0000000000
--- a/gnu/packages/patches/racket-backport-8.6-hurd.patch
+++ /dev/null
@@ -1,609 +0,0 @@
-From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Wed, 3 Aug 2022 03:13:03 -0400
-Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd
-
-Mostly GNU/Hurd should take the same options as GNU/Linux. One
-difference is that the Hurd does not define macros such as `PATH_MAX` or
-`NOFILE`, because it avoids imposing arbitrary limits on such resources.
-This patch provides alternatives for localized uses of those constants,
-but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for
-now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html.
-
-(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085)
----
- racket/src/ChezScheme/README.md | 1 +
- racket/src/ChezScheme/c/number.c | 22 +++++++++----------
- racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++--
- racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------
- racket/src/ChezScheme/c/version.h | 7 ++++--
- racket/src/ChezScheme/configure | 17 ++++++++++-----
- racket/src/ChezScheme/s/cmacros.ss | 1 +
- racket/src/cs/c/configure | 14 ++++++++++--
- racket/src/cs/c/configure.ac | 14 ++++++++++--
- racket/src/cs/rumble/system.ss | 3 +++
- 10 files changed, 109 insertions(+), 39 deletions(-)
-
-diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md
-index a4a11a5eef..25231dd9bb 100644
---- a/racket/src/ChezScheme/README.md
-+++ b/racket/src/ChezScheme/README.md
-@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others):
- * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
- * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
- * Solaris: x86, x86_64
-+ * GNU/Hurd: x86
- * Android: ARMv7, AArch64
- * iOS: AArch64
- * WebAssembly via Emscripten (bytecode interpreter only)
-diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c
-index ede38cc626..e2bce0d2d3 100644
---- a/racket/src/ChezScheme/c/number.c
-+++ b/racket/src/ChezScheme/c/number.c
-@@ -1041,15 +1041,15 @@ floating-point operations
-
- #ifdef IEEE_DOUBLE
- /* exponent stored + 1024, hidden bit to left of decimal point */
--#define bias 1023
--#define bitstoright 52
--#define m1mask 0xf
--#ifdef WIN32
--#define hidden_bit 0x10000000000000
--#else
--#define hidden_bit 0x10000000000000ULL
--#endif
--#ifdef LITTLE_ENDIAN_IEEE_DOUBLE
-+# define bias 1023
-+# define bitstoright 52
-+# define m1mask 0xf
-+# ifdef WIN32
-+# define hidden_bit 0x10000000000000
-+# else
-+# define hidden_bit 0x10000000000000ULL
-+# endif
-+# ifdef LITTLE_ENDIAN_IEEE_DOUBLE
- struct dblflt {
- UINT m4: 16;
- UINT m3: 16;
-@@ -1058,7 +1058,7 @@ struct dblflt {
- UINT e: 11;
- UINT sign: 1;
- };
--#else
-+# else
- struct dblflt {
- UINT sign: 1;
- UINT e: 11;
-@@ -1067,7 +1067,7 @@ struct dblflt {
- UINT m3: 16;
- UINT m4: 16;
- };
--#endif
-+# endif
- #endif
-
- double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) {
-diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c
-index 124d1e049c..82bbf8d687 100644
---- a/racket/src/ChezScheme/c/prim5.c
-+++ b/racket/src/ChezScheme/c/prim5.c
-@@ -23,6 +23,10 @@
- #include <ctype.h>
- #include <math.h>
-
-+#if defined(__GNU__) /* Hurd */
-+#include <sys/resource.h>
-+#endif
-+
- /* locally defined functions */
- static INT s_errno(void);
- static IBOOL s_addr_in_heap(uptr x);
-@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn);
- static ptr s_system(const char *s);
- static ptr s_process(char *s, IBOOL stderrp);
- static I32 s_chdir(const char *inpath);
--#ifdef GETWD
-+#if defined(GETWD) || defined(__GNU__) /* Hurd */
- static char *s_getwd(void);
- #endif
- static ptr s_set_code_byte(ptr p, ptr n, ptr x);
-@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) {
- CLOSE(0); if (dup(tofds[0]) != 0) _exit(1);
- CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1);
- CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1);
-+#ifndef __GNU__ /* Hurd */
- {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);}
-+#else /* __GNU__ Hurd: no NOFILE */
-+ {
-+ INT i;
-+ struct rlimit rlim;
-+ getrlimit(RLIMIT_NOFILE, &rlim);
-+ for (i = 3; i < rlim.rlim_cur; i++) {
-+ (void)CLOSE(i);
-+ }
-+ }
-+#endif /* __GNU__ Hurd */
- execl("/bin/sh", "/bin/sh", "-c", s, NULL);
- _exit(1) /* only if execl fails */;
- /*NOTREACHED*/
-@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) {
- static char *s_getwd() {
- return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0)));
- }
-+#elif defined(__GNU__) /* Hurd: no PATH_MAX */
-+static char *s_getwd() {
-+ char *path;
-+ size_t len;
-+ ptr bv;
-+ path = getcwd(NULL, 0);
-+ if (NULL == path) {
-+ return NULL;
-+ } else {
-+ len = strlen(path);
-+ bv = S_bytevector(len);
-+ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len);
-+ free(path);
-+ return TO_VOIDP(&BVIT(bv, 0));
-+ }
-+}
- #endif /* GETWD */
-
- static ptr s_set_code_byte(ptr p, ptr n, ptr x) {
-@@ -1817,7 +1848,7 @@ void S_prim5_init(void) {
- Sforeign_symbol("(cs)s_rational", (void *)S_rational);
- Sforeign_symbol("(cs)sub", (void *)S_sub);
- Sforeign_symbol("(cs)rem", (void *)S_rem);
--#ifdef GETWD
-+#if defined(GETWD) || defined(__GNU__) /* Hurd */
- Sforeign_symbol("(cs)s_getwd", (void *)s_getwd);
- #endif
- Sforeign_symbol("(cs)s_chdir", (void *)s_chdir);
-diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c
-index ed5564540b..0c40e3eaf0 100644
---- a/racket/src/ChezScheme/c/scheme.c
-+++ b/racket/src/ChezScheme/c/scheme.c
-@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char
- static const char *path_last(const char *path);
- static char *get_defaultheapdirs(void);
-
-+#ifdef PATH_MAX
-+# define BOOT_PATH_MAX PATH_MAX
-+#else /* hack for Hurd: better to remove the restriction */
-+# define BOOT_PATH_MAX 4096
-+#endif
-+
- static const char *path_last(const char *p) {
- const char *s;
- #ifdef WIN32
-@@ -483,7 +489,7 @@ static const char *path_last(const char *p) {
-
- static char *get_defaultheapdirs() {
- char *result;
-- wchar_t buf[PATH_MAX];
-+ wchar_t buf[BOOT_PATH_MAX];
- DWORD len = sizeof(buf);
- if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len))
- return DEFAULT_HEAP_PATH;
-@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() {
- * leaving the full path with name affixed in path and *sp / *dsp pointing
- * past the current entry. it returns 1 on success and 0 if at the end of
- * the search path. path should be a pointer to an unoccupied buffer
-- * PATH_MAX characters long. either or both of sp/dsp may be empty,
-+ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty,
- * but neither may be null, i.e., (char *)0. */
- static IBOOL next_path(char *path, const char *name, const char *ext,
- const char **sp, const char **dsp) {
- char *p;
- const char *s, *t;
-
--#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c)
-+#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c)
- for (;;) {
- s = *sp;
- p = path;
-@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, co
This message was truncated. Download the full message here.
L
L
Liliana Marie Prikler wrote on 18 Nov 2022 08:01
Re: [PATCH v2 4/4] etc: teams: Add chez.scm to Racket team's scope.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
febf2e1255ac7837829996b00f54105ee4b52fe4.camel@ist.tugraz.at
Am Donnerstag, dem 17.11.2022 um 19:45 -0500 schrieb Philip McGrath:
Toggle quote (20 lines)
> Racket's variant of Chez Scheme is defined in that file.
>
> * etc/teams.scm.in (racket)[#:scope]: Add gnu/packages/chez.scm.
> ---
>  etc/teams.scm.in | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/etc/teams.scm.in b/etc/teams.scm.in
> index c458b14e3b..f744204017 100644
> --- a/etc/teams.scm.in
> +++ b/etc/teams.scm.in
> @@ -393,7 +393,8 @@ (define-team racket
>          "The Racket language and Racket-based languages, Racket
> packages,
>  Racket's variant of Chez Scheme, and development of a Racket build
> system and
>  importer."
> -        #:scope (list "gnu/packages/racket.scm")))
> +        #:scope (list "gnu/packages/chez.scm"
> +                      "gnu/packages/racket.scm")))
I'm not sure whether this accurately captures the intent of teams.
Yes, chez-scheme is required in Racket's bootstrap, but the only
"legal" changes to Racket's variant also affect racket.scm. On the
other hand, the Racket team would weigh in on changes that only affect
the Chez side, which imho is unwarranted.

Cheers
Z
Z
zimoun wrote on 18 Nov 2022 09:26
Re: [bug#59322] [PATCH v2 4/4] etc: teams: Add chez.scm to Racket team's scope.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
867czsk6rw.fsf@gmail.com
Hi,

On Fri, 18 Nov 2022 at 08:01, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:

Toggle quote (10 lines)
>> -        #:scope (list "gnu/packages/racket.scm")))
>> +        #:scope (list "gnu/packages/chez.scm"
>> +                      "gnu/packages/racket.scm")))
>
> I'm not sure whether this accurately captures the intent of teams.
> Yes, chez-scheme is required in Racket's bootstrap, but the only
> "legal" changes to Racket's variant also affect racket.scm. On the
> other hand, the Racket team would weigh in on changes that only affect
> the Chez side, which imho is unwarranted.

Why not? Considering the only person part of the Racket team is Philip,
the false-positive seems acceptable, no?

BTW, Liliana, since you are often reviewing these patches, why not also
add you as part of the Racket team?


Cheers,
simon
L
L
Liliana Marie Prikler wrote on 18 Nov 2022 20:23
4800d2fda3378f087fc1674ee9389f9c62d943f2.camel@gmail.com
Am Freitag, dem 18.11.2022 um 09:26 +0100 schrieb zimoun:
Toggle quote (17 lines)
> Hi,
>
> On Fri, 18 Nov 2022 at 08:01, Liliana Marie Prikler
> <liliana.prikler@ist.tugraz.at> wrote:
>
> > > -        #:scope (list "gnu/packages/racket.scm")))
> > > +        #:scope (list "gnu/packages/chez.scm"
> > > +                      "gnu/packages/racket.scm")))
> >
> > I'm not sure whether this accurately captures the intent of teams.
> > Yes, chez-scheme is required in Racket's bootstrap, but the only
> > "legal" changes to Racket's variant also affect racket.scm.  On the
> > other hand, the Racket team would weigh in on changes that only
> > affect the Chez side, which imho is unwarranted.
>
> Why not?  Considering the only person part of the Racket team is
> Philip, the false-positive seems acceptable, no?
Given that folks tune out the main mailing list

Toggle quote (2 lines)
> BTW, Liliana, since you are often reviewing these patches, why not
> also add you as part of the Racket team?
To be frank, I only review them with respect to Guix coding guidelines.
I have no idea how Racket itself works – if I did, I would already have
fixed some annoyances with its packaging – and I fear that despite all
my efforts Philip might be the only one who truly understands what's
going on.

Cheers
P
P
Philip McGrath wrote on 18 Nov 2022 20:33
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
2144765.irdbgypaU6@bastet
Hi,

On Friday, November 18, 2022 3:26:27 AM EST zimoun wrote:
Toggle quote (3 lines)
> Hi,
>
> On Fri, 18 Nov 2022 at 08:01, Liliana Marie Prikler
<liliana.prikler@ist.tugraz.at> wrote:
Toggle quote (14 lines)
> >> - #:scope (list "gnu/packages/racket.scm")))
> >> + #:scope (list "gnu/packages/chez.scm"
> >> + "gnu/packages/racket.scm")))
> >
> > I'm not sure whether this accurately captures the intent of teams.
> > Yes, chez-scheme is required in Racket's bootstrap, but the only
> > "legal" changes to Racket's variant also affect racket.scm. On the
> > other hand, the Racket team would weigh in on changes that only affect
> > the Chez side, which imho is unwarranted.
>
> Why not? Considering the only person part of the Racket team is Philip,
> the false-positive seems acceptable, no?
>

I don't have a strong view: feel free to just drop this patch for now if you
feel it needs more discussion but the others are ready to merge.

Since the chez-scheme-for-racket package inherits from the chez-scheme
package, any change to the chez-scheme package will affect racket, racket-
minimal, and racket-vm-cs.

I could certainly imagine having a Chez team that doesn't necessarily care
about Racket. Likewise, in both languages, I imagine there could be people
interested in packages that use the language but who wouldn't necessarily be
interested in the packaging of the compilers and run-time systems themselves.
But, since no one else has signed on and I've made the majority of changes to
both files in the last two years, designing a more fine-grained team structure
seemed premature.

I guess I've also thought of teams as less "would way in on" changes and more
as "would like to be CC'ed about" them. I'd rather get a little more email
than miss relevant changes (even though I can't keep up with the whole patches
mailing list).

-Philip
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmN33hAACgkQygNjjfo/
HHocgg//ZWahZ65P0umQEz6wFn1o7psnOvTNX22CwzACwGccG5pE7NuXgtWQG39q
N4ixA1ZBooRxlAPG6e6qdYCeqUncMw/1LMilEpRLvL7y+H842WAKSc4F5QTskV0n
Nr+g6G2ROrBLwZ6255HU/7HYPvxV+TeTJi5rqw29hDlAnyA6/LTjtzBdyq0bA+jl
3zi43hpZKgrxR9nhplg+9j8FOLQ6r5dnXSkBF3hg+bm+2eMnr92h1/wWvvqPkS5N
lNz+b4jygHePi/aHsMojLYKfxJOKpb1W4J0v3fJQG7NdpWpWXuSmCURmVJVa8+Q5
WvXXhkVE5kpcVV0czAN+owJOKacF/pqx+ekXwBGBnDqAtAL6Sya9BR6lImBk5PYM
tjOYzyxIwySUIAEFvtb2+NuT5/jNhL4EKJ42qF5pauhx5oR/AZ+tcU5PGr+pXKJV
A2pFKuiqogXApRIDg3W03MeaUGsZlHyU2+s/goS6/aOCJAMrlJ28+n8Z9bBzgeb/
z/p59AglMs7XGKBgmTa/ks/sEdNrBOq6lHjhV29CIAoQJRzJkBT3F+Gs7719H2R4
eXqgbXAauMxbIEtJqSEQc53j7ZUF4fzmZrIYxGoV2DwdepMxFqnGQSyVVNHgUkgJ
H93A6t55LK6bQQZ6PtHbIdp5RwRUVdD+DvF7fnO4+DiiSn6F4so=
=1+zZ
-----END PGP SIGNATURE-----


L
L
Liliana Marie Prikler wrote on 19 Nov 2022 08:54
106658bfff0dbda421cda6c45d76a4d3237d47e1.camel@gmail.com
Am Freitag, dem 18.11.2022 um 14:33 -0500 schrieb Philip McGrath:
Toggle quote (8 lines)
> I could certainly imagine having a Chez team that doesn't necessarily
> care about Racket. Likewise, in both languages, I imagine there could
> be people interested in packages that use the language but who
> wouldn't necessarily be interested in the packaging of the compilers
> and run-time systems themselves.
> But, since no one else has signed on and I've made the majority of
> changes to both files in the last two years, designing a more fine-
> grained team structure seemed premature.
I can see where you're coming from, but my personal opinion is that
merging these "two" teams now might discourage us from splitting them
later. In my humble opinion, adding a chez team with you as sole
member wouldn't hurt for the time being.

Cheers
P
P
Philip McGrath wrote on 20 Nov 2022 00:52
111284438.nniJfEyVGO@bastet
On Saturday, November 19, 2022 2:54:55 AM EST Liliana Marie Prikler wrote:
Toggle quote (16 lines)
> Am Freitag, dem 18.11.2022 um 14:33 -0500 schrieb Philip McGrath:
> > I could certainly imagine having a Chez team that doesn't necessarily
> > care about Racket. Likewise, in both languages, I imagine there could
> > be people interested in packages that use the language but who
> > wouldn't necessarily be interested in the packaging of the compilers
> > and run-time systems themselves.
> > But, since no one else has signed on and I've made the majority of
> > changes to both files in the last two years, designing a more fine-
> > grained team structure seemed premature.
>
> I can see where you're coming from, but my personal opinion is that
> merging these "two" teams now might discourage us from splitting them
> later. In my humble opinion, adding a chez team with you as sole
> member wouldn't hurt for the time being.
>

Is there a requirement that teams' scopes be disjoint? In other words, is
there any reason "gnu/packages/chez.scm" shouldn't be in scope for both the
racket team and a potential chez team?

Another factor that might be relevant: Matthew Flatt tells me he is actively
working with the Chez Scheme maintainers to merge the two branches. I'm not
involved in these discussions myself: my understanding is that details are
still being worked out, and I don't know what the time frame will be, but from
what I'm told it's gone from "not in the foreseeable future" to "will happen".

(There's no plan to synchronize the release cycles, and Racket will continue
to rely on unstable Chez system functions and to have the Chez version form
part of its ABI, so we will likely continue to have a chez-scheme-for-racket
package, but it should be a much simpler transformation to use a particular
pre-release version.)

After the merge, we should be able to bootstrap upstream Chez Scheme via
Racket as we currently do with chez-scheme-for-racket, at which changes to
Racket will also potentially impact Chez Scheme.

Personally, if there were more people involved, I'd organize it as teams for
chez-and-racket-bootstrap, chez, and racket, as I'd initially tried to do in
https://issues.guix.gnu.org/53878,but that especially seems like too much if
they all consist of the same one person. If you still want a chez team,
though, I guess I'm ok with that.

I just hope this need not delay the update to 8.7 any further.

-Philip
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmN5bEcACgkQygNjjfo/
HHrdGhAAuIJqd9pcXW2C88XNaYBs6kxdl/ZJgCTHzaUlCkEXI1Wt55Ixyr9mjtYP
dZvshFxApNjj7HkNvVSSIrj0sToQN/1/aXqhb5u6DPHIg4PtXVzUF9f2UliAFNT+
wLgwmkW3bPjM6YPegAjvku/Rhi+n5zBjzypPJpulQIxuTdddLYdNpVIRh8cyEocK
6yAsLU6pPY9o+opiay+S5DPtl5TCF9MHD1zKxF8SIOvo5YWRcJOGvB/fAmo9Z3O5
45IjfuzMy83CtPY3qlV7VnKoYFoDqrp0BveearOQhc7jZTUV6qOiilVpse1xVE0u
UPn06B3QQ2WBczwwPAg7Xj1v36M172PTkjEvCXzJgDKrk0qXWep3Aq8XKjwFUIlW
iq5Y8tQ6i362q4YdipdQP9w8BkeaNklrunnCpA7s2FSzUYRjftMYtpQi209kmsqG
YrbkURCNM4sBXGUMuY7W8p2QQYTnLR7ox40xVppW/e92sTgeclZWdOOF3SmcymIs
rXes+JFyFERTmCIsq7RR8EswAHcNSw4//DpQ5xM149IP4ye4Fyp7llia9tT63DAn
osM4JiDndEwloy0SXi8CZn6WGxmcynDl/1s2rTbGXXhRh3pSyCrchFZTrqFFEfc6
Zt5hXS5cvcy7xk3DMmCoeQIhqvYZHjANp2OxvnOYeVmy6GtLskY=
=EStr
-----END PGP SIGNATURE-----


L
L
Liliana Marie Prikler wrote on 20 Nov 2022 02:49
fd84f7be8e16495c06405b5af7700da41c0e6496.camel@gmail.com
Am Samstag, dem 19.11.2022 um 18:52 -0500 schrieb Philip McGrath:
Toggle quote (4 lines)
> [...]
> Is there a requirement that teams' scopes be disjoint? In other
> words, is there any reason "gnu/packages/chez.scm" shouldn't be in
> scope for both the racket team and a potential chez team?
Not necessarily, but I think exceptions should be well argued. For
instance, it would make sense for a change in Emacs' build system to
reach both Emacs and core maintainers. In practice however, core does
not have any build system in their scope, which strengthens my argument
for disjoint groups.

Toggle quote (12 lines)
> Another factor that might be relevant: Matthew Flatt tells me he is
> actively working with the Chez Scheme maintainers to merge the two
> branches. I'm not involved in these discussions myself: my
> understanding is that details are still being worked out, and I don't
> know what the time frame will be, but from what I'm told it's gone
> from "not in the foreseeable future" to "will happen".
>
> (There's no plan to synchronize the release cycles, and Racket will
> continue to rely on unstable Chez system functions and to have the
> Chez version form part of its ABI, so we will likely continue to have
> a chez-scheme-for-racket package, but it should be a much simpler
> transformation to use a particular pre-release version.)
Depending on how well that goes, that'd be one headache less. I'll be
cautiously optimistic and hope that Racket won't do another Zuo and
publish a subtree without release tags.

Toggle quote (10 lines)
> After the merge, we should be able to bootstrap upstream Chez Scheme
> via Racket as we currently do with chez-scheme-for-racket, at which
> changes to Racket will also potentially impact Chez Scheme.
>
> Personally, if there were more people involved, I'd organize it as
> teams for chez-and-racket-bootstrap, chez, and racket, as I'd
> initially tried to do in https://issues.guix.gnu.org/53878, but that
> especially seems like too much if they all consist of the same one
> person. If you still want a chez team, though, I guess I'm ok with
> that.
Three teams for two packages is definitely overkill. I'd make it
either one or two, with the caveat that both of them being the same
should rest on a sound argument rather than a vague one. If chez and
racket were interchangeable like different Common Lisp interpretations,
that'd be such an argument, or if there was a shared community not just
by virtue of bootstrapping.

Toggle quote (1 lines)
> I just hope this need not delay the update to 8.7 any further.
Well, since CI already built everything and 1-3 LGTM, I went ahead and
pushed it, so you don't need to worry.

Cheers
Z
Z
zimoun wrote on 21 Nov 2022 17:50
874jusw8ue.fsf@gmail.com
Hi,

On Sat, 19 Nov 2022 at 08:54, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:

Toggle quote (5 lines)
> I can see where you're coming from, but my personal opinion is that
> merging these "two" teams now might discourage us from splitting them
> later. In my humble opinion, adding a chez team with you as sole
> member wouldn't hurt for the time being.

Philip, could you send a patch for creating these two teams?

Cheers,
simon
L
L
Ludovic Courtès wrote on 23 Nov 2022 19:44
Re: bug#59322: [PATCH 0/2] gnu: racket: Update to 8.7.
(name . Philip McGrath)(address . philip@philipmcgrath.com)
87fse9fr39.fsf_-_@gnu.org
Hi Philip & all,

Philip McGrath <philip@philipmcgrath.com> skribis:

Toggle quote (21 lines)
> On Saturday, November 19, 2022 2:54:55 AM EST Liliana Marie Prikler wrote:
>> Am Freitag, dem 18.11.2022 um 14:33 -0500 schrieb Philip McGrath:
>> > I could certainly imagine having a Chez team that doesn't necessarily
>> > care about Racket. Likewise, in both languages, I imagine there could
>> > be people interested in packages that use the language but who
>> > wouldn't necessarily be interested in the packaging of the compilers
>> > and run-time systems themselves.
>> > But, since no one else has signed on and I've made the majority of
>> > changes to both files in the last two years, designing a more fine-
>> > grained team structure seemed premature.
>>
>> I can see where you're coming from, but my personal opinion is that
>> merging these "two" teams now might discourage us from splitting them
>> later. In my humble opinion, adding a chez team with you as sole
>> member wouldn't hurt for the time being.
>>
>
> Is there a requirement that teams' scopes be disjoint? In other words, is
> there any reason "gnu/packages/chez.scm" shouldn't be in scope for both the
> racket team and a potential chez team?

No. To me, the goal of teams is to have groups of people one can talk
to when touching a particular part of the code base. In that sense,
your patch is a welcome improvement over the status quo; in fact, it
just formalizes what has been a de-facto situation: you’re our Racket
and Chez expert. And even a Racket ambassador. :-)

So I think we can go ahead with this patch and remain open to getting
more folks on board whenever an opportunity arises.

Thoughts?

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 1 Dec 2022 22:08
(name . Philip McGrath)(address . philip@philipmcgrath.com)
87sfhyygpo.fsf_-_@gnu.org
Hi,

Philip McGrath <philip@philipmcgrath.com> skribis:

Toggle quote (4 lines)
> Racket's variant of Chez Scheme is defined in that file.
>
> * etc/teams.scm.in (racket)[#:scope]: Add gnu/packages/chez.scm.

I went ahead and applied it.

Thanks!

Ludo’.
Closed
E
E
Enrico Schwass wrote on 4 Dec 2022 14:25
[PATCH 0/2] gnu: racket: Update to 8.7.
(address . 59322@debbugs.gnu.org)
C9F970DA-52C7-454C-BA48-E1D8B80A5EE6@mac.com
Hi racket fails to build on aarch64 for long time with csh not found error
?