From patchwork Sun May 8 20:07:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39163 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C17CC27BBE9; Sun, 8 May 2022 21:35:41 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 910A727BBEA for ; Sun, 8 May 2022 21:35:39 +0100 (BST) Received: from localhost ([::1]:45010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnncw-0002es-NH for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:35:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnEB-0003l6-Ok for guix-patches@gnu.org; Sun, 08 May 2022 16:10:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnEB-00008T-Fh for guix-patches@gnu.org; Sun, 08 May 2022 16:10:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEB-0002NC-9l for guix-patches@gnu.org; Sun, 08 May 2022 16:10:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 1/9] gnu: racket: Update to 8.5. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405789005 (code B ref 55248); Sun, 08 May 2022 20:10:03 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:38 +0000 Received: from localhost ([127.0.0.1]:55262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDe-0002Kq-RW for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:38 -0400 Received: from mail-ua1-f52.google.com ([209.85.222.52]:41641) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDX-0002KF-M6 for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:29 -0400 Received: by mail-ua1-f52.google.com with SMTP id x5so4719539uap.8 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HCZ+5Ymuh1YLSQ3MZtM5EKO/UncoN3bwaZmEpAcIJac=; b=QaCvodGoXqYI5pJhT3cG6DBCuMTQoPdcIL3Euw6BocREV59qdo/FtbtcEc/ncBUHen +mDA43GZaJZEZ28qnb3vfMqUQeotcFgzf1iN4uCJldX2hRN1mla/hRMdv+5zlxf5mMxz N4Tvhm6PpEU2n21ja82M5mEVmz4+vtpxH1llHe8CgDK2cEYb9SsN/LbSHOnQdQsvbXwh WbHW4Se3nSc6j4kdfQgfxoFvDyX6tYlK3Xx0umAtS9boPuHMw7xaFpgSJqLO4GULHVas j924h7NuCjIrEmtOK7IM+6LRXb+D38dE6C/9U+fFUKOse/54I+I7iPRHwCUxM5kBWwjP tniQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HCZ+5Ymuh1YLSQ3MZtM5EKO/UncoN3bwaZmEpAcIJac=; b=PVFQi4vFWwlEAozh11iOr79IdUzaktBy/TnMVQQxo5cOGTd6Xcgcf73ao4K537hBvS BacytGT2Fg0CWg3Me9JMydaWgBa9JpwFPMI0ENl8BU5XsxKYu3kkwDZ690p5hIIDztRe VFVvIzS0kpNUMWj04Pbm4aNzktCXrg7Lbdkp/tRmGozh+6S8kHXyASuAKyu8sl+YxeVI LY/8xlWEeQl6ZZhuFdxsJ63iZvFCOM52Yhjcbl6nh5gOEYep9X1f97nmTZw2jNgCxjJl ucVpuY93U8Fj/rF+eDkq6mZ4FjQ1YtiHQGf3SczJnCZmavgEfIvhE5OefwOkjn7ok2vf ISmw== X-Gm-Message-State: AOAM531SDZOvXH7SJ3wt9JmkzbUQVU/ju/DIrzzFfwizv5iU7wAuUELS VLhW2I1ITGTJSTAHzdjnOj3f4QuZ2qCqanlf X-Google-Smtp-Source: ABdhPJyHLnUeXEfBpjXKXX98kB5lES9QzZncXjxYTSpxUUI4BvF8b6lzFKXA/W+pIH1FtVsfPpyMcA== X-Received: by 2002:a9f:3582:0:b0:365:8006:eceb with SMTP id t2-20020a9f3582000000b003658006ecebmr6886916uad.70.1652040557626; Sun, 08 May 2022 13:09:17 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id v13-20020a0561020f0d00b0032d275e691esm993160vss.30.2022.05.08.13.09.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:17 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:44 -0400 Message-Id: <0274097e2e661519d5a5bf2b0ae2a8c3735af3c7.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/patches/racket-gui-tethered-launcher-backport.patch, gnu/packages/patches/racket-enable-scheme-backport.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/chez.scm (chez-scheme-for-racket): Update to 9.5.7.6. * gnu/packages/racket.scm (%racket-version): Update to 8.5. (%racket-origin)[patches]: Remove obsolete patches. (racket-vm-common-configure-flags): Correct comment. (racket)[inputs]<2d, datalog, deinprogramm, draw, drracket, expeditor, htdp, pict, plot, quickscript, racklog, rackunit, redex, scribble, typed-racket, string-constants, syntax-color, web-server, xrepl>: Update checksums. : Likewise, and remove obsolete backports. --- gnu/local.mk | 2 - gnu/packages/chez.scm | 4 +- .../racket-enable-scheme-backport.patch | 465 ------------------ ...acket-gui-tethered-launcher-backport.patch | 26 - gnu/packages/racket.scm | 82 ++- 5 files changed, 32 insertions(+), 547 deletions(-) delete mode 100644 gnu/packages/patches/racket-enable-scheme-backport.patch delete mode 100644 gnu/packages/patches/racket-gui-tethered-launcher-backport.patch diff --git a/gnu/local.mk b/gnu/local.mk index bc9f976a39..d593aecfc2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1757,8 +1757,6 @@ 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-enable-scheme-backport.patch \ - %D%/packages/patches/racket-gui-tethered-launcher-backport.patch \ %D%/packages/patches/racket-minimal-sh-via-rktio.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index d47225dbe5..a7f75a731a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Brendan Tildesley -;;; Copyright © 2021 Philip McGrath +;;; Copyright © 2021, 2022 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -361,7 +361,7 @@ (define-public chez-scheme-for-racket (package (inherit chez-scheme) (name "chez-scheme-for-racket") - (version "9.5.7.3") + (version "9.5.7.6") ;; The version should match `(scheme-fork-version-number)`. ;; See racket/src/ChezScheme/s/cmacros.ss c. line 360. ;; It will always be different than the upstream version! diff --git a/gnu/packages/patches/racket-enable-scheme-backport.patch b/gnu/packages/patches/racket-enable-scheme-backport.patch deleted file mode 100644 index 3a5a4a3d82..0000000000 --- a/gnu/packages/patches/racket-enable-scheme-backport.patch +++ /dev/null @@ -1,465 +0,0 @@ -From 8d7687842f099e3e7e60d3a83fed58b2c6a92863 Mon Sep 17 00:00:00 2001 -From: Matthew Flatt -Date: Sun, 6 Feb 2022 10:36:09 -0700 -Subject: [PATCH 1/2] Chez Scheme: adapt bootfile build for supplied `Scheme=` - -(cherry picked from commit fca1e02349664060e10278ca2ce6577a949bebf5) - -(Fixed conflicts by dropping pbchunks and pbarch changes.) ---- - racket/src/ChezScheme/configure | 15 ++++++++++++++- - racket/src/ChezScheme/s/Mf-base | 4 ++-- - racket/src/ChezScheme/s/Mf-cross | 4 +++- - 3 files changed, 19 insertions(+), 4 deletions(-) - -diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure -index 4515ffc105..0098829091 100755 ---- a/racket/src/ChezScheme/configure -+++ b/racket/src/ChezScheme/configure -@@ -45,6 +45,7 @@ threads=yes - nothreads=no - temproot="" - help=no -+forceworkarea=no - gzipmanpages=yes - installowner="" - installgroup="" -@@ -205,6 +206,9 @@ while [ $# != 0 ] ; do - --pb) - pb=yes - ;; -+ --force) -+ forceworkarea=yes -+ ;; - --installprefix=*) - installprefix=`echo $1 | sed -e 's/^--installprefix=//'` - ;; -@@ -439,6 +443,7 @@ if [ "$help" = "yes" ]; then - echo " --toolprefix= prefix tool (compiler, linker, ...) names" - echo " --[no]gzip-man-pages compress manual pages ($gzipmanpages)" - echo " --workarea= build directory ($w)" -+ echo " --force configure even without boot files" - echo " CC= C compiler" - echo " CPPFLAGS= C preprocessor flags" - echo " CFLAGS= C compiler flags" -@@ -721,8 +726,16 @@ case "${flagsmuni}" in - ;; - esac - -+if [ "$w" = "$m" ] ; then -+ configuringin="" -+else -+ configuringin=" in $w" -+fi -+ - if [ -f boot/$m/scheme.boot -o -f "$srcdir"/boot/$m/scheme.boot ] ; then -- echo "Configuring for $m" -+ echo "Configuring for $m$configuringin" -+elif [ "$forceworkarea" = yes ] ; then -+ echo "Configuring for $m$configuringin despite missing boot files" - else - if [ "$m" = "" ] ; then - maybem="" -diff --git a/racket/src/ChezScheme/s/Mf-base b/racket/src/ChezScheme/s/Mf-base -index cc6178c973..1f4a967998 100644 ---- a/racket/src/ChezScheme/s/Mf-base -+++ b/racket/src/ChezScheme/s/Mf-base -@@ -94,7 +94,7 @@ endif - # that Scheme and SCHEMEHEAPDIRS are set by Mf-cross to point to the host Scheme - # implementation - Scheme = ../bin/$m/scheme${ExeSuffix} --export SCHEMEHEAPDIRS=../boot/%m -+export SCHEMEHEAPDIRS=../boot/$m - export CHEZSCHEMELIBDIRS=. - - # Define the libdirs separator character -@@ -691,4 +691,4 @@ reset-one: - - .PHONY: run - run: -- env SCHEMEHEAPDIRS=../boot/$m/ ../bin/$m/scheme $(ARGS) -+ env SCHEMEHEAPDIRS=${SCHEMEHEAPDIRS} ${Scheme} $(ARGS) -diff --git a/racket/src/ChezScheme/s/Mf-cross b/racket/src/ChezScheme/s/Mf-cross -index d796cbb459..397af59a28 100644 ---- a/racket/src/ChezScheme/s/Mf-cross -+++ b/racket/src/ChezScheme/s/Mf-cross -@@ -43,5 +43,7 @@ x$(xm).$(m): - $(MAKE) -f Mf-cross m=$(m) xm=$(xm) i=f o=3 d=0 xpatch - mv xpatch x$(xm).$(m) - -+ifneq ($(SCHEMEHEAPDIRS),:) - # Ensure that cross-compiling "nanopass.so" is rebuilt if the host compiler changed --nanopass.so: ${SCHEME} ${SCHEMEHEAPDIRS}/petite.boot ${SCHEMEHEAPDIRS}/scheme.boot -+nanopass.so: ${Scheme} ${SCHEMEHEAPDIRS}/petite.boot ${SCHEMEHEAPDIRS}/scheme.boot -+endif --- -2.32.0 - - -From 26c8e2c1d9b02ad85acef8bda40d92154cf0b699 Mon Sep 17 00:00:00 2001 -From: Matthew Flatt -Date: Sun, 6 Feb 2022 11:03:30 -0700 -Subject: [PATCH 2/2] configure: make `--enable-scheme` work with an executable - -When the same Chez Scheme version as used by Racket is already -available, then `--enable-scheme=...` can supply an executable. For -cross builds, `--enable-scheme=...` can still supply a build -directory, instead, as before. - -(cherry picked from commit 4f0e76855ce7e86107de495292a553469daf0b3f) ---- - racket/src/ChezScheme/makefiles/Makefile.in | 3 ++ - racket/src/README.txt | 30 +++++++++++--- - racket/src/configure | 8 +++- - racket/src/cs/README.txt | 6 ++- - racket/src/cs/c/Makefile.in | 44 ++++++++++++++++----- - racket/src/cs/c/configure | 24 +++++++++-- - racket/src/cs/c/configure.ac | 21 ++++++++-- - 7 files changed, 112 insertions(+), 24 deletions(-) - -diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in -index c396efc851..3998ef9ccd 100644 ---- a/racket/src/ChezScheme/makefiles/Makefile.in -+++ b/racket/src/ChezScheme/makefiles/Makefile.in -@@ -59,6 +59,9 @@ reset: - %.boot: - (cd $(workarea) && $(MAKE) $*.boot) - -+auto.boot: -+ (cd $(workarea) && $(MAKE) $(defaultm).boot) -+ - # .bootquick to build boot files for - # with o=3 d=0 for the cross compiler, and only after - # building the kernel for the configured machine -diff --git a/racket/src/README.txt b/racket/src/README.txt -index 98647aebce..d77310b4a4 100644 ---- a/racket/src/README.txt -+++ b/racket/src/README.txt -@@ -354,6 +354,10 @@ variant of MinGW without "libdelayimp.a", get the implementation of - ======================================================================== - - Cross-compilation requires at least two flags to `configure`: -+`--host=OS` and either `--enable-racket=RACKET` or (for Racket CS) -+`--enable-scheme-SCHEME`. -+ -+More information: - - * `--host=OS`, where OS is something like `i386-gnu-linux` to - indicate the target platform. -@@ -374,11 +378,27 @@ Cross-compilation requires at least two flags to `configure`: - run `configure` again (with no arguments) in a "local" subdirectory - to create a build for the current platform. - --An additional flag is needed for building Racket CS, unless the flag --`--enable-racket=auto` is used: -- -- * `--enable-scheme=DIR`, where DIR is a path that has a "ChezScheme" -- directory where Chez Scheme is built for the host system. -+ * `--enable-scheme=SCHEME`, where SCHEME is a Chez Scheme executable -+ executable that runs on the build platform; the executable must be -+ the same version as used in Racket built for the target platform. -+ -+ Supplying `--enable-scheme=DIR` is also supported in cross-build -+ mode, where DIR is a path that has a "ChezScheme" directory where -+ Chez Scheme is built for the host system. -+ -+The `--enable-racket=RACKET` and `--enable-scheme=SCHEME` flags are -+allowed for non-cross builds, too: -+ -+ * For Racket CS, supplying either selects a Racket or Chez Scheme -+ implementation used to create boot files to the build platform. -+ Suppling Chez Scheme is a much more direct path, but when Racket is -+ supplied, its version does not have to match the version being -+ built. -+ -+ * For Racket BC, `--enable-racket=RACKET` selects a Racket for -+ prepare C sources to cooperate with garbage collection. Its version -+ needs to be close to the one being built, and potentially exactly -+ the same version. - - Some less commonly needed `configure` flags are for Racket BC: - -diff --git a/racket/src/configure b/racket/src/configure -index c9f3ba4419..1b53ec7ce2 100755 ---- a/racket/src/configure -+++ b/racket/src/configure -@@ -9,6 +9,7 @@ pb_dir="$dir/ChezScheme/boot/pb" - use_cs=maybe - use_bc=maybe - supplied_racket=no -+supplied_scheme=no - enable_boothelp= - - # We don't have to detect conflicts like `--enable-csdefault --enable-bcdefault`, -@@ -34,6 +35,9 @@ for arg in $*; do - --enable-racket=*) - supplied_racket=yes - ;; -+ --enable-scheme=*) -+ supplied_scheme=yes -+ ;; - --help | -h) - echo $0: - echo see --help-bc or --help-cs, since the Racket CS build and the -@@ -70,8 +74,8 @@ elif test "$use_cs" = "maybe" ; then - fi - - if test "$use_cs" = "yes" ; then -- if test $use_bc = no -a $supplied_racket = no -a ! -d "$pb_dir" ; then -- echo $0: must have $pb_dir or --enable-racket=... for --enable-csonly -+ if test $use_bc = no -a $supplied_racket = no -a $supplied_scheme = no -a ! -d "$pb_dir" ; then -+ echo $0: must have $pb_dir, --enable-racket=... or --enable-scheme=... for --enable-csonly - exit 1 - fi - -diff --git a/racket/src/cs/README.txt b/racket/src/cs/README.txt -index 2ece417b78..8e6fc57b74 100644 ---- a/racket/src/cs/README.txt -+++ b/racket/src/cs/README.txt -@@ -39,6 +39,11 @@ build: - installed in the "../ChezScheme/boot/pb" directory as described by - "../ChezScheme/BUILDING". - -+ Supplying `--enable-scheme=...` is also an option if you alerady -+ have the same version of Chez Scheme built on the current platform. -+ Another build will be created, anyway, but more quickly than -+ without Chez Scheme. -+ - * Racket is needed to generate the files in the "schemified" - directory from the sources in sibling directories like "../io". The - Racket version must be practically the same as the current Racket -@@ -48,7 +53,6 @@ build: - Unlike Chez Scheme boot files, the files generated in "schemified" - are human-readable and -editable Scheme code. That provides a way - out of bootstrapping black holes, even without BC. -- - - - ======================================================================== -diff --git a/racket/src/cs/c/Makefile.in b/racket/src/cs/c/Makefile.in -index 54a644a1d9..d73993f0fc 100644 ---- a/racket/src/cs/c/Makefile.in -+++ b/racket/src/cs/c/Makefile.in -@@ -12,7 +12,9 @@ CS_HOST_WORKAREA_PREFIX = @CS_HOST_WORKAREA_PREFIX@ - SCHEME_HOST_WORKAREA = $(CS_HOST_WORKAREA_PREFIX)$(SCHEME_WORKAREA) - SCHEME_BIN = $(SCHEME_HOST_WORKAREA)/$(MACH)/bin/$(MACH)/scheme - SCHEME_INC = $(SCHEME_HOST_WORKAREA)/$(MACH)/boot/$(MACH) --SCHEME = $(SCHEME_BIN) -B $(SCHEME_INC)/petite.boot -B $(SCHEME_INC)/scheme.boot -+SCHEME_built = $(SCHEME_BIN) -B $(SCHEME_INC)/petite.boot -B $(SCHEME_INC)/scheme.boot -+SCHEME_existing = @MAKE_SCHEME_SCHEME@ -+SCHEME = $(SCHEME@USE_SCHEME_MODE@) - - TARGET_MACH = @TARGET_MACH@ - SCHEME_TARGET_INC = $(SCHEME_WORKAREA)/$(TARGET_MACH)/boot/$(TARGET_MACH) -@@ -88,7 +90,7 @@ mainsrcdir = @srcdir@/../.. - @INCLUDEDEP@ @srcdir@/../../version/version.mak - - cs: -- $(MAKE) scheme@T_CROSS_MODE@ -+ $(MAKE) scheme@MAKE_SCHEME_MODE@ - $(MAKE) racket-so - cd rktio; $(MAKE) - $(MAKE) racketcs -@@ -121,9 +123,13 @@ racket-so: - - RACKET_SO_ENV = @CONFIGURE_RACKET_SO_COMPILE@ - -+TARGET_MACH_built = $(TARGET_MACH) -+TARGET_MACH_existing = xc-$(TARGET_MACH) -+XPATCH_FILE = $(SCHEME_WORKAREA)/$(TARGET_MACH@USE_SCHEME_MODE@)/s/xpatch -+ - CS_PROGS = SCHEME="$(SCHEME)" - CS_OPTS = COMPRESS_COMP=@COMPRESS_COMP@ @ENABLE_OR_DISABLE_WPO@ --CS_OPTScross = $(CS_OPTS) CSO=$(MACH) CROSS_COMP="--xpatch $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch" -+CS_OPTScross = $(CS_OPTS) CSO=$(MACH) CROSS_COMP="--xpatch $(XPATCH_FILE)" - PASS_COMPILE_DEPS = EXTRA_COMPILE_DEPS="$(SCHEME_INC)/petite.boot $(SCHEME_INC)/scheme.boot" - - build-racket-so: -@@ -163,6 +169,15 @@ pb-bootquick: - cd $(SCHEME_WORKAREA) && $(MAKE) reset - $(SHELL) $(srcdir)/ready_boot.sh $(MACH) $(SCHEME_WORKAREA) - -+scheme-via-scheme: -+ $(MAKE) $(SCHEME_WORKAREA)/boot/$(MACH)/scheme.boot -+ $(MAKE) mach-make -+ -+$(SCHEME_WORKAREA)/boot/$(MACH)/scheme.boot: -+ mkdir -p $(SCHEME_WORKAREA) -+ $(MAKE) config-scheme CONFIG_SCHEME_MODE="$(CONFIG_SCHEME_MODE) --force" -+ cd $(SCHEME_WORKAREA) && $(MAKE) $(MACH).boot Scheme="$(SCHEME)" SCHEMEHEAPDIRS=: o=3 d=0 what=all -+ - mach-make: - $(MAKE) config-scheme - cd $(SCHEME_WORKAREA) && $(MAKE) -@@ -182,24 +197,33 @@ config-scheme: - - scheme-cross: - env MAKE_BOOT_FOR_CROSS=yes SCHEME_SRC="$(SCHEME_DIR)" SCHEME_WORKAREA=$(SCHEME_WORKAREA) MACH="$(TARGET_MACH)" $(BOOTSTRAP_RACKET) "$(SCHEME_DIR)"/rktboot/make-boot.rkt -+ $(MAKE) finish-scheme-cross -+ -+finish-scheme-cross: - $(SHELL) $(srcdir)/reset_boot.sh $(TARGET_MACH) $(SCHEME_WORKAREA) - cd $(SCHEME_WORKAREA) && "$(UP_SCHEME_DIR)"/configure @SCHEME_CROSS_CONFIG_ARGS@ $(SCHEME_CONFIG_VARS) - cd $(SCHEME_WORKAREA)/$(TARGET_MACH)/c && $(CHOST_HACK@T_CROSS_MODE@) $(MAKE) o=o cross=t -- $(MAKE) $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch -+ $(MAKE) $(XPATCH_FILE) -+ -+scheme-cross-via-scheme: -+ $(MAKE) $(SCHEME_WORKAREA)/boot/$(TARGET_MACH)/scheme.boot MACH=$(TARGET_MACH) -+ $(MAKE) finish-scheme-cross - - # Rebuild patch file and cross "petite.boot" and "scheme.boot" when older --# than the build-host "scheme.boot" or when "make-boot.rkt" touchs dummy boot files --XPATCH_DEPS = $(SCHEME_HOST_WORKAREA)/$(MACH)/boot/$(MACH)/scheme.boot \ -- $(SCHEME_WORKAREA)/boot/$(TARGET_MACH)/scheme.boot -+# than the build- use as Racket for build; or "auto" to create -- --enable-scheme= use as host's build directory for cross -+ --enable-scheme= use as host build for cross - --enable-mach= use Chez Scheme machine type - --enable-target= cross-build for Chez Scheme machine type - --enable-portable prefer portable to host-specific -@@ -2867,7 +2870,7 @@ show_explicitly_enabled "${enable_xonx}" "Unix style" - show_explicitly_enabled "${enable_libzo}" 'Compiled ".zo" files moved to lib' - - show_explicitly_set "${enable_racket}" "Racket" --show_explicitly_set "${enable_scheme}" "Chez Scheme build directory" -+show_explicitly_set "${enable_scheme}" "Chez Scheme for build" - show_explicitly_set "${enable_mach}" "machine type" - show_explicitly_set "${enable_target}" "cross-build machine type" - show_explicitly_enabled "${enable_portable}" "portable" -@@ -4745,9 +4748,21 @@ esac - - SCHEME_DIR=${srcdir}/../../ChezScheme - MAKE_BUILD_SCHEME=checkout -+USE_SCHEME_MODE="_built" -+MAKE_SCHEME_MODE="${T_CROSS_MODE}" - - if test "${enable_scheme}" != "" ; then -- CS_HOST_WORKAREA_PREFIX="${enable_scheme}/" -+ if test -d "${enable_scheme}" ; then -+ # Directory exists, so use it as a build directory -+ echo "Using supplied Scheme path as a build directory" -+ CS_HOST_WORKAREA_PREFIX="${enable_scheme}/" -+ else -+ # Directory does not exist, so assume it's an executable -+ echo "Using supplied Scheme path as an executable" -+ MAKE_SCHEME_MODE="${T_CROSS_MODE}-via-scheme" -+ MAKE_SCHEME_SCHEME="${enable_scheme}" -+ USE_SCHEME_MODE="_existing" -+ fi - fi - - if test "${enable_racket}" != "" ; then -@@ -6012,6 +6027,9 @@ SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${cs_auto_flags - - - -+ -+ -+ - - - -diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac -index 464ebe1760..aaee88156d 100644 ---- a/racket/src/cs/c/configure.ac -+++ b/racket/src/cs/c/configure.ac -@@ -23,7 +23,7 @@ AC_ARG_ENABLE(compressmore, [ --enable-compressmore compress compiled code ev - AC_ARG_ENABLE(compressboot, [ --enable-compressboot compress boot files]) - m4_include(../ac/path_arg.m4) - AC_ARG_ENABLE(racket, [ --enable-racket= use as Racket for build; or "auto" to create]) --AC_ARG_ENABLE(scheme, [ --enable-scheme= use as host's build directory for cross]) -+AC_ARG_ENABLE(scheme, [ --enable-scheme= use as host build for cross]) - AC_ARG_ENABLE(mach, [ --enable-mach= use Chez Scheme machine type ]) - AC_ARG_ENABLE(target, [ --enable-target= cross-build for Chez Scheme machine type ]) - m4_include(../ac/portable_arg.m4) -@@ -81,7 +81,7 @@ show_explicitly_disabled "${enable_compressboot}" "Compressed boot files" - show_explicitly_enabled "${enable_xonx}" "Unix style" - m4_include(../ac/path_show.m4) - show_explicitly_set "${enable_racket}" "Racket" --show_explicitly_set "${enable_scheme}" "Chez Scheme build directory" -+show_explicitly_set "${enable_scheme}" "Chez Scheme for build" - show_explicitly_set "${enable_mach}" "machine type" - show_explicitly_set "${enable_target}" "cross-build machine type" - m4_include(../ac/portable_show.m4) -@@ -504,9 +504,21 @@ esac - - SCHEME_DIR=${srcdir}/../../ChezScheme - MAKE_BUILD_SCHEME=checkout -+USE_SCHEME_MODE="_built" -+MAKE_SCHEME_MODE="${T_CROSS_MODE}" - - if test "${enable_scheme}" != "" ; then -- CS_HOST_WORKAREA_PREFIX="${enable_scheme}/" -+ if test -d "${enable_scheme}" ; then -+ # Directory exists, so use it as a build directory -+ echo "Using supplied Scheme path as a build directory" -+ CS_HOST_WORKAREA_PREFIX="${enable_scheme}/" -+ else -+ # Directory does not exist, so assume it's an executable -+ echo "Using supplied Scheme path as an executable" -+ MAKE_SCHEME_MODE="${T_CROSS_MODE}-via-scheme" -+ MAKE_SCHEME_SCHEME="${enable_scheme}" -+ USE_SCHEME_MODE="_existing" -+ fi - fi - - if test "${enable_racket}" != "" ; then -@@ -821,6 +833,9 @@ AC_SUBST(DIFF_MACH) - AC_SUBST(CROSS_MODE) - AC_SUBST(T_CROSS_MODE) - AC_SUBST(TT_CROSS_MODE) -+AC_SUBST(MAKE_SCHEME_MODE) -+AC_SUBST(MAKE_SCHEME_SCHEME) -+AC_SUBST(USE_SCHEME_MODE) - AC_SUBST(SETUP_BOOT_MODE) - AC_SUBST(OSX) - AC_SUBST(NOT_OSX) --- -2.32.0 - diff --git a/gnu/packages/patches/racket-gui-tethered-launcher-backport.patch b/gnu/packages/patches/racket-gui-tethered-launcher-backport.patch deleted file mode 100644 index 1e018eaa79..0000000000 --- a/gnu/packages/patches/racket-gui-tethered-launcher-backport.patch +++ /dev/null @@ -1,26 +0,0 @@ -From aa792e707b1fbc5cc33691bfaee5828dc3fbebaa Mon Sep 17 00:00:00 2001 -From: Matthew Flatt -Date: Mon, 31 Jan 2022 15:31:22 -0700 -Subject: [PATCH] fix creation of tethered launchers - -Related to racket/racket#4133 - -(cherry picked from commit 563c68432f127729592f234ef30c31e92618b517) ---- - gui-lib/mred/installer.rkt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gui-lib/mred/installer.rkt b/gui-lib/mred/installer.rkt -index b1691472..9ef06c53 100644 ---- a/gui-lib/mred/installer.rkt -+++ b/gui-lib/mred/installer.rkt -@@ -72,4 +72,5 @@ - (list "-A" (path->string (find-system-path 'addon-dir))))) - - (define (config-flags) -- (list "-G" (path->string (find-config-dir)))) -+ (list "-X" (path->string (find-collects-dir)) -+ "-G" (path->string (find-config-dir)))) --- -2.32.0 - diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 471a11dd48..7d51707156 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -195,7 +195,7 @@ (define* (racket-vm-for-system #:optional racket-vm-cs racket-vm-bc)) -(define %racket-version "8.4") ; Remember to update chez-scheme-for-racket! +(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! (define %racket-commit (string-append "v" %racket-version)) (define %racket-origin @@ -205,11 +205,9 @@ (define %racket-origin (url "https://github.com/racket/racket") (commit %racket-commit))) (sha256 - (base32 "1vpl66gdgc8rnldmn8rmb7ar9l057jqjvgpfn29k57i3c5skr8s6")) + (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-minimal-sh-via-rktio.patch" - ;; Remove by Racket 8.5: - "racket-enable-scheme-backport.patch")) + (patches (search-patches "racket-minimal-sh-via-rktio.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -248,8 +246,10 @@ (define (racket-vm-common-configure-flags) ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" #$(file-append bash-minimal "/bin/sh")) "--disable-strip" - ;; XXX: origtree layout is required by some other packages down the - ;; bootstrap chain. Remove these flags as soon as we can do without them. + ;; Using --enable-origtree lets us distinguish the VM from subsequent + ;; layers and produces a build with the shape expected by tools such as + ;; "distro-build" and "raco-cross". Removing these flags would require + ;; changes, especially to 'configure-layer.rkt' (defined below). "--enable-origtree" ,(string-append "--prefix=" #$output "/opt/racket-vm"))) @@ -589,7 +589,7 @@ (define-public racket racket-minimal ;; <-- TODO non-tethered layer (racket-vm-for-system) (simple-racket-origin - "2d" (base32 "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr") + "2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7") '("2d" "2d-doc" "2d-lib")) (simple-racket-origin "algol60" (base32 "09kj6asypmc24n29w0izc9p0q8hpga2hpkchsypfwn5c8zpvihlx") @@ -622,22 +622,22 @@ (define-public racket "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55") '("data" "data-doc" "data-enumerate-lib" "data-lib")) (simple-racket-origin - "datalog" (base32 "0n5j5gnqh7g31mvgx19ggl18hirzbvq2r189lbngmnrmbc7b73fp") + "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s") '(("datalog" "."))) (simple-racket-origin "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5") '("db" "db-doc" "db-lib")) (simple-racket-origin - "deinprogramm" (base32 "1is6fapgv6rxfjz47nh6qf3kh7y7sjdinakaxqffi46gf1al8prd") + "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr") '("deinprogramm" "deinprogramm-signature")) (simple-racket-origin "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0") '("distributed-places" "distributed-places-doc" "distributed-places-lib")) (simple-racket-origin - "draw" (base32 "1xgjfbh70hqw67z88iqqajg98d04qwbzn6im2wj47rs28jxlm9ly") + "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92") '("draw" "draw-doc" "draw-lib")) (simple-racket-origin - "drracket" (base32 "0m3l4an3nq2ycd1h287s1az2v2zprjbzd8if2x7d5r71vaj4i00c") + "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz") '("drracket" "drracket-plugin-lib" "drracket-tool" @@ -657,7 +657,7 @@ (define-public racket "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip") '("errortrace" "errortrace-doc" "errortrace-lib")) (simple-racket-origin - "expeditor" (base32 "07djzxs6307l51mcsk3yr2g4g47ayxa3878g7sf5xhqdr4hd9vxf") + "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q") '("expeditor" "expeditor-doc" "expeditor-lib")) (simple-racket-origin "frtime" (base32 "0ydz2yn8vvv6z7brwlswcyx0f31a6y6d443i89rysfvd2xkhpfd5") @@ -670,25 +670,14 @@ (define-public racket (simple-racket-origin "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d") '(("games" "."))) - (racket-packages-origin - "gui" (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/racket/gui") - (commit %racket-commit))) - (sha256 (base32 - "1x33jgrx3r32k7hgwr591z3xqv1m2r5nc4km2fnxv0ak2xa0j3gj")) - (patches - ;; remove in Racket 8.5 - ;; see https://github.com/racket/racket/issues/4133 - (search-patches "racket-gui-tethered-launcher-backport.patch")) - (file-name (git-file-name "racket-gui" %racket-version))) + (simple-racket-origin + "gui" (base32 "0hqryw3md67j5z4d6bv5qx75w8z1vjxfixabf2xq9bj6k43yzzmi") '("gui" "gui-doc" "gui-lib" "tex-table")) (simple-racket-origin "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5") '("gui-pkg-manager-lib")) (simple-racket-origin - "htdp" (base32 "0r4ykybcpr10y2db9rlza9pr0xh58nd7ac389mjcxp8g386hgihl") + "htdp" (base32 "199qchdq6db6m2n4j861hiy4nxd6hg1qva16lhhdbfj274qmcplg") '("htdp" "htdp-doc" "htdp-lib")) (simple-racket-origin "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x") @@ -756,7 +745,7 @@ (define-public racket "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "0g1iwdr6qh1xb0crhj96830vjjnbds409xbpqn7j5sh0ksy6vr5x") + "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -771,7 +760,7 @@ (define-public racket "planet" (base32 "0r2yqrzrmdjjyr14k6hhlzc5kzrcx3583m1s02mhrcmpfw0s85w9") '("planet" "planet-doc" "planet-lib")) (simple-racket-origin - "plot" (base32 "07kq32si34ybcwz8idxxcrzssg8diyrp1nfgkcj0mmvr45321zm7") + "plot" (base32 "04871pspbm0q3bz5896sa3jw2rp9i6jf0b5aivrxfp56vxxd2ybb") '("plot" "plot-compat" "plot-doc" "plot-gui-lib" "plot-lib")) (simple-racket-origin "preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg") @@ -786,7 +775,7 @@ (define-public racket (url "https://github.com/Metaxal/quickscript") (commit %racket-commit))) (sha256 (base32 - "100g3yqhbjdq06b6l6d72ywsw29awgy8crqg33wj7h12xq07nzcr")) + "00sf5nw09aacd0l4a4cknnffvcs95p596im3blsdvfz5ck6jdwl8")) (file-name (git-file-name "Metaxal-quickscript" %racket-version))) '(("quickscript" "."))) (simple-racket-origin @@ -807,10 +796,10 @@ (define-public racket (git-file-name "jeapostrophe-racket-cheat" %racket-version))) '(("racket-cheat" "."))) (simple-racket-origin - "racklog" (base32 "1rgrvwy3kr9b9w5cghsffiv3ly00yfvvzr5xaaw83g1w7yin0mnb") + "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "057z31rja6h3nabh5b2xgwfrzmlm6h1cv1qcgf3xfy4g2q5dqn5p") + "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -826,7 +815,7 @@ (define-public racket "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "0vlgxbnbgrlihk1hh5zd6hsc4566ldi4q76f87z5vai54dxkwy2f") + "redex" (base32 "0a1fl5s80k3j3xh3lri8886ql443m7pmgv18y7whzlmsd7x8rdpr") '("redex" "redex-benchmark" "redex-doc" @@ -841,7 +830,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0rgvnsykrxkah6s5fw1vyp9lxsb4z9w6hgwk5j6wbwjp2gsfczbm") + "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3") '("scribble" "scribble-doc" "scribble-html-lib" @@ -873,35 +862,24 @@ (define-public racket "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "1462kj9yswsxbnw71casylzlvhd7cxrml2v9j7rcsnn9hmrqx4vv") + "typed-racket" (base32 "05xlyjrx3m8xrrrw1xmfb1807qa5aqfl0zp9bdxwh2z7cfxaii09") '("source-syntax" "typed-racket" "typed-racket-compatibility" "typed-racket-doc" "typed-racket-lib" "typed-racket-more")) - (racket-packages-origin - "srfi" (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/racket/srfi") - ;; Includes an FSDG fix: return to %racket-commit in 8.5. - ;; See . - (commit "7243029b135741ce08ae30f877e2f49a2a460b22"))) - (sha256 (base32 - "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn")) - ;; Use the relevant version for srfi-doc and srfi-lib, - ;; since we're using a newer commit than the v8.4 tag. - (file-name (git-file-name "racket-srfi" "1.1"))) + (simple-racket-origin + "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin - "string-constants" (base32 "1qizjq4n0hzdgdcjjpr94464gsywpsk2g9mnvwzqr7dcqbrsfvn6") + "string-constants" (base32 "1rjs0gyw9hsiglwxnimz272v9xj1gwjxrnzh4qbsxkvdaphvi38m") '("string-constants" "string-constants-doc" "string-constants-lib")) (simple-racket-origin "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67") '(("swindle" "."))) (simple-racket-origin - "syntax-color" (base32 "1vf2fc3qvx8a1igi7swsg8gaqhx786sa0vqxd18xhbsidfgb5ywp") + "syntax-color" (base32 "1xf3rl8687c1nar4kkgkvyncwi0gl696rif0iqhffg730fk457gi") '("syntax-color" "syntax-color-doc" "syntax-color-lib")) (simple-racket-origin "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia") @@ -910,13 +888,13 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1zgb6jl7zx6258ljs8f3lvryrq5n5zpd71dqzr698m92kw3x2pkn") + "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") '("wxme" "wxme-lib")) (simple-racket-origin - "xrepl" (base32 "12zjgsy5zqm3fck3ihg4a70wj56s2cnnjyb4jlfi5nnsfqyrnxg3") + "xrepl" (base32 "19svg0jfs656bld5ikqipz3a5szk5k02zq5fh43209qw527dnfbk") '("xrepl" "xrepl-doc" "xrepl-lib")))) (build-system gnu-build-system) (arguments From patchwork Sun May 8 20:07:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39160 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AAA2527BBE9; Sun, 8 May 2022 21:29:35 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8A17727BBEA for ; Sun, 8 May 2022 21:29:32 +0100 (BST) Received: from localhost ([::1]:60072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnnX1-000294-MH for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:29:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnEB-0003kf-68 for guix-patches@gnu.org; Sun, 08 May 2022 16:10:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33152) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnEA-0008Ux-Rt for guix-patches@gnu.org; Sun, 08 May 2022 16:10:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEA-0002N2-Mn for guix-patches@gnu.org; Sun, 08 May 2022 16:10:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 2/9] gnu: racket: Fix out-of-source build. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405688969 (code B ref 55248); Sun, 08 May 2022 20:10:02 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:28 +0000 Received: from localhost ([127.0.0.1]:55260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDc-0002Ka-Hz for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:28 -0400 Received: from mail-vs1-f48.google.com ([209.85.217.48]:43914) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDb-0002KJ-9X for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:27 -0400 Received: by mail-vs1-f48.google.com with SMTP id c62so12041023vsc.10 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HkK+ErOS2hA7+W84RIfwwEGLDOSu3AHQYO0mtAnYsOw=; b=OSLq9rjcnWN3No1jyrrX06BxUkeJsmM01QTVOsib21PT/GscKj6yfQmvOy0JBeXw9K /ok5tnCKpeOCQbFEx6xmcWDz+FobsWMngFNIjoKze/VgTnoY0ZcJ+FgdM3DN4R4vX/Jo 3LmSVV4SHqjS7ScHaDgjtwxvymiqVU5T4kA0+f5j0Tnmhjl7H5lq5oONQz+9dIdUeLoz rnauWdGgXCnTxlzz4/zKkC8HPVjlgRcWjm/SsaZEKqwm+kYNwUmCUOxLuVh7swIqw3+G ODd2sWOuj+5yfRo/sDbSlX+iNa5HT4mSyqGP+6nhpLMgYSwCa6w9FfIlFlr8/zJLaTAW aB9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HkK+ErOS2hA7+W84RIfwwEGLDOSu3AHQYO0mtAnYsOw=; b=PJ83exdbVkP/eMVJiXwF5afKDnKfmQTeUYpgTuPtyvNszZEAOVmllZhBzG7OZGwp9q KB/3Okr1TsIhjWxhWKkp8GKGgetzcMg1b6e+WV70VRzEp3NacNnphqtAaswR8uiqGN/0 sa4i7WcP4VxvT/UBjqGY3POCVjZzdSZImnTmAg29MpTECqSj5ZhE8WkCt77GlEQ4mW3g SGDTVkpnMwqfZg3A3OnPrXKYKIzH3Qx32EPTlLuyqSazc3R3CGfCTK66rMIHecoAJYre OoWi2kuJxHSKr9lEuvSg/zXe5oFrmmbIKUJ5DME7DIsZnvkBEHJj8nso9FnqVmHr1Y8D htuA== X-Gm-Message-State: AOAM530y7C2AJHpEgb0uthCDAzLgN7ft0w/3RUVrzIVilkpKKdxPCpkM l4HcBAOQ2yNFvtDd4IKlnBYZ/DiMkvuwrfPu X-Google-Smtp-Source: ABdhPJwbqPbFDXjKkK530pa4cvsbRMoydIHpMf8CH6VSG/XbThY93K6JyXIqtk8j9/xT33z0o1T8hA== X-Received: by 2002:a67:e197:0:b0:32d:fbb:b0b2 with SMTP id e23-20020a67e197000000b0032d0fbbb0b2mr6649430vsl.84.1652040561830; Sun, 08 May 2022 13:09:21 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id k5-20020ab07545000000b003626f894de7sm1357282uaq.21.2022.05.08.13.09.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:21 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:45 -0400 Message-Id: <63d9ad60e39d8315f493b0ca49517f21fb320575.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/racket.scm (racket-vm-cgc)[arguments]: Add phase 'symlink-license-src' to work around limitation in 'install-license-files'. Supply '#:out-of-source? #t'. --- gnu/packages/racket.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 7d51707156..904dfe9bef 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -276,8 +276,9 @@ (define-public racket-vm-cgc ;; main-distribution-test that aren't part of the main ;; distribution. #:tests? #f - ;; Upstream recommends #:out-of-source?, and it does - ;; help with debugging, but it confuses `install-license-files`. + ;; Upstream recommends #:out-of-source?, and it + ;; helps a lot with debugging. + #:out-of-source? #t #:modules '((ice-9 match) (ice-9 regex) (guix build gnu-build-system) @@ -314,7 +315,18 @@ (define-public racket-vm-cgc #f))))))) (add-before 'configure 'chdir (lambda _ - (chdir "racket/src")))))) + (chdir "racket/src"))) + (add-after 'chdir 'symlink-license-src + ;; Work around limitation of install-license-files by symlinking + ;; srcdir where it expects. (It doesn't handle this variant of + ;; #:out-of-source? and a subdirectory for srcdir.) Just running + ;; `make install` only puts them in Racket's 'share-dir'. + (lambda* (#:key out-of-source? #:allow-other-keys) + (when out-of-source? + (with-directory-excursion ".." + (symlink "src" + (package-name->name+version + (strip-store-file-name #$output)))))))))) (home-page "https://racket-lang.org") (synopsis "Old Racket implementation used for bootstrapping") (description "This variant of the Racket BC (``before Chez'' or From patchwork Sun May 8 20:07:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39169 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BEA0527BBEA; Sun, 8 May 2022 21:39:08 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4ED4427BBE9 for ; Sun, 8 May 2022 21:39:08 +0100 (BST) Received: from localhost ([::1]:54740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnngJ-00012c-EV for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:39:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnEC-0003nc-Vl for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33154) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnEC-0000Ds-1E for guix-patches@gnu.org; Sun, 08 May 2022 16:10:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEB-0002NJ-Ss for guix-patches@gnu.org; Sun, 08 May 2022 16:10:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 3/9] gnu: chez-scheme: Update to 9.5.8. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405789012 (code B ref 55248); Sun, 08 May 2022 20:10:03 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:38 +0000 Received: from localhost ([127.0.0.1]:55266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDm-0002LC-Ie for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:38 -0400 Received: from mail-vs1-f54.google.com ([209.85.217.54]:43923) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDf-0002KR-Bo for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:31 -0400 Received: by mail-vs1-f54.google.com with SMTP id c62so12041097vsc.10 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SoPwsTzFr3RsITacAPdKN4iMp4D84nS8dHvfGdkjL90=; b=kAbQO47CcsXZGYtP3LgTO+1vLSr/dWXfw8SR6wVvPEiGQ78JP7SKEIHRt3n6a/tAb9 ldyGvAn+nFSsj67M5rSd2WTqe/wbNNYlQohC8WZWSaurkYqp4fzfJuWhifGAQhM0AW4A bBjTt7cYcUsKNtHTm9SoUldzewOSWZXmC+HSIs2rxQt14j1VqEVEUJsNOw1AyDkuQ4er xiWSjCXmrtQSikJ2Ko4c62GVnSyI6cE30z/JLdLgaCEirxB/rbi6EzJXhkaBzhq/iuTP HtvBMjB+EYe4RBoOA2gv69Lb0qCNjIPxmfsPOneoRkplUC/plWDa2+eg0lxt/yPmBT+t sUZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SoPwsTzFr3RsITacAPdKN4iMp4D84nS8dHvfGdkjL90=; b=UbJoSHLp36q18SeHSqG/PbXZO3lnr5a05tEGydTh8twKF8mrnsOYXJA1x+bYjdi6u5 iuXVTvWl5/O5hOg54rPd91lAKRC9SnXaPnYzF5XTfLAFTedHdIbbEddBOFmOJlY2DHJD iWhIEzlQE2ZUsY/nRY0do3msqRNZ2aG18rFE9StwPrc0zXRZ/WcsGsYMZkW27l6Ux8Q2 eebNigc2CFmjWuPpXJRz21g3L+lctqnaVFIAWElmxC/UvqMV9IG0YsThIXoae3WeD6HX Z3e2nb1xvIYUnpJH37PNVFBXNfc/SkP0dMdP324YGBcwQ7+TBfHsit8X1vSujOyjZlZT DfZA== X-Gm-Message-State: AOAM532V+p3kjijQ8KKIfjSZaRjpdLd/GFsl3l2yx9sasQsOACWzZAd7 k8a0BnEJzHW2Uog/0kTMO4ZsRVZXqOLB7sdJ X-Google-Smtp-Source: ABdhPJx3Ejlo9mB1DHeuoBqsPnILv4WD1R7hg9IYwqkZ21ZFaATiOeI5op+4ppPxEoqd145Y96FoPA== X-Received: by 2002:a67:2ec4:0:b0:32c:c442:a309 with SMTP id u187-20020a672ec4000000b0032cc442a309mr6375673vsu.32.1652040565850; Sun, 08 May 2022 13:09:25 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id i18-20020ab00d92000000b003656e4096f3sm1289095uak.13.2022.05.08.13.09.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:25 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:46 -0400 Message-Id: <73175f996c4683dda7288b5cf605a1ff4b7fdf62.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/chez.scm (chez-scheme): Update to 9.5.8. --- gnu/packages/chez.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index a7f75a731a..34545b1f58 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -210,7 +210,7 @@ (define-public chez-scheme (name "chez-scheme") ;; The version should match `(scheme-version-number)`. ;; See s/cmacros.ss c. line 360. - (version "9.5.6") + (version "9.5.8") (source (origin (method git-fetch) (uri (git-reference @@ -218,7 +218,7 @@ (define-public chez-scheme (commit (string-append "v" version)))) (sha256 (base32 - "07s433hn1z2slfc026sidrpzxv3a8narcd40qqr1xrpb9012xdky")) + "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) (file-name (git-file-name name version)) (snippet #~(begin (use-modules (guix build utils)) From patchwork Sun May 8 20:07:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39170 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9131927BBEA; Sun, 8 May 2022 21:41:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1471027BBE9 for ; Sun, 8 May 2022 21:41:16 +0100 (BST) Received: from localhost ([::1]:60518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnniN-0005Ar-8r for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:41:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50008) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnED-0003nd-00 for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33155) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnEC-0000FA-Ip for guix-patches@gnu.org; Sun, 08 May 2022 16:10:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEC-0002NW-EL for guix-patches@gnu.org; Sun, 08 May 2022 16:10:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 4/9] gnu: chez-scheme: Refactor documentation phases. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405799018 (code B ref 55248); Sun, 08 May 2022 20:10:04 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:39 +0000 Received: from localhost ([127.0.0.1]:55268 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDm-0002LJ-TI for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:39 -0400 Received: from mail-vk1-f171.google.com ([209.85.221.171]:35333) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDj-0002Ko-Ea for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:35 -0400 Received: by mail-vk1-f171.google.com with SMTP id e7so6010431vkh.2 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KjaP2rvANmmMXNQFFrlb7FuHL+nHim3mKpSwJJ/N+ls=; b=Zwsw8za4McewwxsBsRbpz90sWRjJptQcmkmtzRV2v9fBaDDlqURYHfXtxjfcEPMFvs 22zhH2NJN+bOXBtdbZKYC9hZrtFjP+TG4N/LSShrTvHAajvLZkJ3gyv+C9YYitH/ajIQ P4SHNb9T75Sw64R8TPZytiK7EDVIOFt55eGqnE6h4854Z/WKmA9fgrhtGcsFgAz4c71X znTepeNy175mvk52Jf6OzDme+19aEVmkDKc96iJtDQ4s1QqrvjtIWz1rlvNUFNy6AMrw YpY78J25f+oeHxO2V8xIDCoge2I41poZ+ShCV/n6V3ILaCVz1XTSqoufRxF/CSXT2JfB G0mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KjaP2rvANmmMXNQFFrlb7FuHL+nHim3mKpSwJJ/N+ls=; b=q1EE4oaf+PNm6G5QklAu3TME11XaJ98vxuKg+29Vwa+LuVIHtZk79kPv9kc1d1nUtf IyDXlt6lw9kgh4IoxXvgdKg0/caherCwMiiavFM6JH4XdquqT7k1o0B42pQ04sYYZi+6 3dxfmWCfcylh4FDQ/rHMNWA8w5WgFPtdOfBIXoHslNVBfyyhCNoP1Jf+YtxUmy4u9njk 97xAAFHzpef5gyUKYWPziqDnr1nFHwLDZP3LjoiW/Tb9YlHjAmPryTy+241SjiMdG0MH 5MHDidG/IJQWXGsTccnF9cyDXPX+xnuHPOnWwDweg23ce/94HIT0CWPZc6Cej/ZOAAly cN5Q== X-Gm-Message-State: AOAM533nGtZpQ2ABn/MjyzKy9nn/6r6T2PfXrmWIxX0xhRJUuPO2L55h 3zBzm9KbiOb1oxi9hWyjLuGl3tQAaqXSSkeC X-Google-Smtp-Source: ABdhPJwCGC9D5s3Tow0fQHm7VX9l42zN9d2aBwUaU/AR0SIp4e+60nJTXWgLDu8gfWp6njUiDCqqQw== X-Received: by 2002:ac5:cb65:0:b0:34d:58d9:216d with SMTP id l5-20020ac5cb65000000b0034d58d9216dmr6921441vkn.21.1652040569973; Sun, 08 May 2022 13:09:29 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id u68-20020a1f2e47000000b0034e6f1fd048sm1563973vku.18.2022.05.08.13.09.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:29 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:47 -0400 Message-Id: <55dfaa9f70c0842d05424ed394c232e5454262d1.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Patches merged in both upstream Chez Scheme and Racket's variant will soon let us replace the 'install-docs' phase with just 'make install-docs'. Separating the 'link-doc-pdfs' phase (which won't change) leaves us well-prepared for the transition, regardless of whether Chez Scheme 9.5.10 or Racket 8.6 is released first. * gnu/packages/chez.scm (chez-scheme)[arguments]: Split 'install-doc' phase into 'install-docs' (matching the future 'make' target) and 'link-doc-pdfs'. --- gnu/packages/chez.scm | 64 ++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 34545b1f58..49051abd17 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -309,35 +309,43 @@ (define-public chez-scheme (string-append (dirname scheme.boot) "/chez-scheme.boot"))))))) ;; Building the documentation requires stex and a running scheme. - ;; FIXME: this is probably wrong for cross-compilation - (add-after 'install-symlink 'install-doc + (add-after 'install-symlink 'install-docs (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) - (match (assoc-ref outputs "doc") - (#f - (format #t "not installing docs~%")) - (doc-prefix - (let* ((chez+version (strip-store-file-name #$output)) - (scheme (search-input-file outputs "/bin/scheme")) - (stexlib (search-input-directory (or native-inputs - inputs) - "/lib/stex")) - (doc-dir (string-append doc-prefix - "/share/doc/" - chez+version))) - (define* (stex-make #:optional (suffix "")) - (invoke "make" "install" - (string-append "Scheme=" scheme) - (string-append "STEXLIB=" stexlib) - (string-append "installdir=" doc-dir suffix))) - (with-directory-excursion "csug" - (stex-make "/csug")) - (with-directory-excursion "release_notes" - (stex-make "/release_notes")) - (with-directory-excursion doc-dir - (symlink "release_notes/release_notes.pdf" - "release_notes.pdf") - (symlink "csug/csug9_5.pdf" - "csug.pdf")))))))))) + (let* ((doc-prefix (or (assoc-ref outputs "doc") + (assoc-ref outputs "out"))) + (chez+version (strip-store-file-name #$output)) + (scheme (search-input-file outputs "/bin/scheme")) + (stexlib (search-input-directory (or native-inputs + inputs) + "/lib/stex")) + (doc-dir (string-append doc-prefix + "/share/doc/" + chez+version))) + (define* (stex-make #:optional (suffix "")) + (invoke "make" "install" + (string-append "Scheme=" scheme) + (string-append "STEXLIB=" stexlib) + (string-append "installdir=" doc-dir suffix))) + (with-directory-excursion "csug" + (stex-make "/csug")) + (with-directory-excursion "release_notes" + (stex-make "/release_notes"))))) + (add-after 'install-docs 'link-doc-pdfs + ;; otherwise, it's hard to notice them in a forest of HTML files + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (or (assoc-ref outputs "doc") + (assoc-ref outputs "out")) + "/share/doc/" + (strip-store-file-name #$output)) + (symlink "release_notes/release_notes.pdf" + "release_notes.pdf") + (match (find-files "csug" + "csug.*\\.pdf$" ;; embeded version number + #:fail-on-error? #t) + ((pth) + (symlink pth + "csug.pdf"))))))))) ;; Chez Scheme does not have a MIPS backend. ;; FIXME: Debian backports patches to get armhf working. ;; We should too. It is the Chez machine type arm32le From patchwork Sun May 8 20:07:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39164 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0B21727BBEA; Sun, 8 May 2022 21:35:49 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7F9A227BBE9 for ; Sun, 8 May 2022 21:35:48 +0100 (BST) Received: from localhost ([::1]:45758 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnnd5-00039M-M0 for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:35:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50010) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnED-0003o0-Bn for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33156) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnED-0000FQ-1d for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEC-0002Nd-Tm for guix-patches@gnu.org; Sun, 08 May 2022 16:10:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 5/9] gnu: chez-scheme: Refactor configure phase and fix '--threads'. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405829034 (code B ref 55248); Sun, 08 May 2022 20:10:04 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:42 +0000 Received: from localhost ([127.0.0.1]:55271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDq-0002Le-8w for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:42 -0400 Received: from mail-vk1-f179.google.com ([209.85.221.179]:37496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDo-0002L0-Hn for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:40 -0400 Received: by mail-vk1-f179.google.com with SMTP id j14so3302336vkp.4 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6MUQea/akqiJw65v5UB+PXZnpK7I+lS4QjauOZJ1fUE=; b=AgnbKSnocBGjpwiWWvFgtfBy5OxAlMCQZHXNu7IVzIWjxVVT3uUSH/LD7IzhiqpTrY CDlaETUmbpggSJlK4t3D9fibxDRpcDv0tgQYd1qTo74Alik5ZhnrmQtkFlLhjKGE2D8q 4d6E+4LrEedIeTPxiH3HYIlaarErdZ7fBBOzVPILJZC9oJ0zRQAgXB8fr2ZNwN/nq/JM 5/56ZSm9yGns6MDHU87O2zw+P4QNLUbw6vqw1/2iuvoywK8h6bx00Md4TI7Fb19m8k44 3ThsRhWlFHE3qVf+z9VwiLfSPJtAJ9NORsTA8GSB12ofjJe0pRsdjNLtFmSnVpB+KKMt X7qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6MUQea/akqiJw65v5UB+PXZnpK7I+lS4QjauOZJ1fUE=; b=5W7E6HI0OGs+QFONLT0yJE9/8hBukk4W11YyZaO7VT5Y04HsgJCDof2cpUduG39918 Dgndx3GSBQfloGyotagjLYJ85NsERk1k3rcnpKliAQbebs+ujbEWbagMH7wMimJWwduS KT2MEXJEpQ+++0hVvJiJE1zAoQ8cBRcbd7YlhqH0HZGj4tkhuNAtWrs7oEw23zHvlgFc xiK7MW5zUUDPW2DEzriGD5vTLyzKvWKRwBWpPJtyzvlsqy480krHFIgYbhMU9bBwQfaF YI+x6omNlVpPLrdfG3C2VK//UbA7FLdrBdIqkkAX8ZKow2X6g/klMzor6kaYVtkukojC cxRw== X-Gm-Message-State: AOAM531LZGo8sUfNHgxXEWSmaLgxtcySySKobmS0NkotQ9ogmPwErP92 nusqeYe2+Txr42RNlUEbGVgcZlzyHZxbjBUj X-Google-Smtp-Source: ABdhPJyB2kxXyOjie5db4UbNs9LUij4L5uhQlLWRzXyTnFln0MalfLhd1o/tvYNSHeH3LN8tDv4DoA== X-Received: by 2002:a05:6122:98a:b0:34e:9a92:35fd with SMTP id g10-20020a056122098a00b0034e9a9235fdmr6890829vkd.29.1652040574031; Sun, 08 May 2022 13:09:34 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id o46-20020ab05971000000b00365e024dc7bsm915209uad.8.2022.05.08.13.09.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:33 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:48 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Move Chez-specific logic into '#:configure-flags' and a new 'configure-environment-variables' phase, leaving the 'configure' phase as just a variant of the one from 'gnu-build-system' (including support for '#:out-of-source?') that doesn't add implicit Autoconf-style flags. In the process, do the right thing for "--threads", rather than assuming the only nonthreaded platform is broken. * gnu/packages/chez.scm (chez-scheme)[arguments]: Set configure flags in '#:configure-flags' and separate 'configure-environment-variables' from the residual 'configure' phase. More closely follow 'gnu-build-system'. Use 'chez-upstream-features-for-system' for "--threads". (chez-scheme-for-racket)[arguments]<#:configure-flags>: Add "--threads" unconditionally. --- gnu/packages/chez.scm | 63 ++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 49051abd17..785b6837c1 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -258,8 +258,18 @@ (define-public chez-scheme (ice-9 ftw) (ice-9 match)) #:test-target "test" - ;; TODO when we fix armhf, it may not support --threads - #:configure-flags #~'("--threads") + #:configure-flags + #~`(,(string-append "--installprefix=" #$output) + #$@(if (and=> (chez-upstream-features-for-system) + (cut memq 'threads <>)) + #~("--threads") + #~()) + "ZLIB=-lz" + "LZ4=-llz4" + "--libkernel" + ;; Guix will do 'compress-man-pages', + ;; and letting Chez try causes an error + "--nogzip-man-pages") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'unpack-nanopass+stex @@ -273,26 +283,35 @@ (define-public chez-scheme (search-input-directory (or native-inputs inputs) "lib/chez-scheme-bootfiles") "boot"))) - ;; NOTE: the custom Chez 'configure' script doesn't allow + ;; NOTE: The custom Chez 'configure' script doesn't allow ;; unrecognized flags, such as those automatically added - ;; by `gnu-build-system`. + ;; by `gnu-build-system`. This replacement phase uses only + ;; the explicitly provided `#:configure-flags`. (replace 'configure - (lambda* (#:key inputs (configure-flags '()) #:allow-other-keys) - ;; add flags which are always required: - (let ((flags (cons* (string-append "--installprefix=" #$output) - "ZLIB=-lz" - "LZ4=-llz4" - "--libkernel" - ;; Guix will do compress-man-pages, - ;; and letting Chez try causes an error - "--nogzip-man-pages" - configure-flags))) - (format #t "configure flags: ~s~%" flags) - ;; Some makefiles (for tests) don't seem to propagate CC - ;; properly, so we take it out of their hands: - (setenv "CC" #$(cc-for-target)) - (setenv "HOME" "/tmp") - (apply invoke "./configure" flags)))) + (lambda* (#:key inputs (configure-flags '()) out-of-source? + #:allow-other-keys) + (let* ((abs-srcdir (getcwd)) + (srcdir (if out-of-source? + (string-append "../" (basename abs-srcdir)) + "."))) + (format #t "source directory: ~s (relative from build: ~s)~%" + abs-srcdir srcdir) + (if out-of-source? + (begin + (mkdir "../build") + (chdir "../build"))) + (format #t "build directory: ~s~%" (getcwd)) + (format #t "configure flags: ~s~%" configure-flags) + (apply invoke + (string-append srcdir "/configure") + configure-flags)))) + (add-after 'configure 'configure-environment-variables + (lambda args + ;; Some makefiles (for tests) don't seem to propagate CC + ;; properly, so we take it out of their hands: + (setenv "CC" #$(cc-for-target)) + ;; Likewise, some tests have needed HOME to be set: + (setenv "HOME" "/tmp"))) ;; The binary file name is called "scheme" as is the one from ;; MIT/GNU Scheme. We add a symlink to use in case both are ;; installed. @@ -385,7 +404,9 @@ (define-public chez-scheme-for-racket (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:configure-flags cfg-flags #~'()) - #~(cons "--disable-x11" #$cfg-flags)) + #~(cons* "--disable-x11" + "--threads" ;; ok to potentially duplicate + #$cfg-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) (unpack (assoc-ref those-phases 'unpack))) From patchwork Sun May 8 20:07:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39165 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BEFAB27BBEA; Sun, 8 May 2022 21:35:57 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 36DD927BBE9 for ; Sun, 8 May 2022 21:35:57 +0100 (BST) Received: from localhost ([::1]:46482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnndE-0003dd-CH for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:35:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnED-0003pE-Pr for guix-patches@gnu.org; Sun, 08 May 2022 16:10:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33157) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnED-0000Fb-GB for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnED-0002Nl-Ax for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 6/9] gnu: stex: Get machine type dynamically. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405859050 (code B ref 55248); Sun, 08 May 2022 20:10:05 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:44 +0000 Received: from localhost ([127.0.0.1]:55274 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDs-0002Lt-Lb for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:44 -0400 Received: from mail-vk1-f172.google.com ([209.85.221.172]:42815) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDr-0002LA-K4 for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:43 -0400 Received: by mail-vk1-f172.google.com with SMTP id e144so5992837vke.9 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wfcAH5XAdwVPDZfDmFM08aox4jzMZXPVfAuJLvSM8WE=; b=i3EpgLDQ1oSSTsnyZwYyRhsw5aghbnAuMSB2inWnFs0xFFTVVxjhiY9h4RGJuI9tSZ eXidhHWPtgw8dfsuybOLeNENstwWlt5PekfrKTxrYwkghzVs1zYflzn38sH8jAoYMkw7 /XtKVvvl5hQE2WTIa0NwIvQ2AYL04oDS4068KVrWA78KTdHgpno5TpBCgMTD0ASIYqmt PBCp0ptyPm0cfv+30miWzH0j7A3Jo/3WonNkV2u/dF0Rc9IUjzgp7b3ph9Ob2U8deLnx AH2T0UjQONevl8a+wuq12HGyOgEC53ewehJQkVUiKx6y7BkfbthhbV+DbxogyJVpctyD K+Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wfcAH5XAdwVPDZfDmFM08aox4jzMZXPVfAuJLvSM8WE=; b=OtHyylbAeWwHHVDkQbPEYttcqSJqju4hgwmRkox7JZyqM1pdPfxz8aGnax2sURmDcA /9cjmtU3RUlH/3N8njHpVLWSWOkfOuXZ0PhWw1e4lptzPaVkdbNgXQb0sYXW5NLDdycA DLPlxSBj5lv4t40juE0yFlwHNP6Lzafggsydoz7tS4Fodh1wfMZD8XxuwFhAp55BhCpF M1RKHPOk8pNYrM0EuEP+G0i3Hrjw/ESxIzuHduImNQXHV7Ufo0bXQ0IlD6Tah8BFkCkF tIZaqJUkD23I1c94UqdNopJBdXf4WGL30QsTJ62wz1YJiRYyXMRpAGCBahN7QiaymgH4 y4bA== X-Gm-Message-State: AOAM530JNvVdauG7t0vz64tfv6y4eOJDTC1gmOCRaPe+9hpH5S+kfgVl f0ncJ2lsB+by24VxuYyXZCxuWIBHa5ECWZJV X-Google-Smtp-Source: ABdhPJyXsWq2bezperGhksZfNPB3dNcTC11D/Ofnu3bKrdY27JVq0Z+MgRyGBksryWUcjLEtjbbj+w== X-Received: by 2002:a05:6122:e57:b0:351:f3a5:93f1 with SMTP id bj23-20020a0561220e5700b00351f3a593f1mr6758126vkb.33.1652040578156; Sun, 08 May 2022 13:09:38 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id f190-20020a1fe8c7000000b0034e6f1fd063sm1584661vkh.45.2022.05.08.13.09.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:37 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:49 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/chez.scm (stex)[arguments]: Run 'scheme' to determine the machine type. --- gnu/packages/chez.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 785b6837c1..dd485d37e1 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -602,6 +602,10 @@ (define-public stex-bootstrap ("src" "lib/stex/") ("Mf-stex" "lib/stex/") ("Makefile.template" "lib/stex/")) + #:modules + '((guix build copy-build-system) + (guix build utils) + (ice-9 popen)) #:phases #~(modify-phases %standard-phases (add-before 'install 'patch-sources @@ -633,8 +637,14 @@ (define-public stex-bootstrap (define makefile (string-append (getcwd) "/Makefile")) (define machine - #$(and=> (nix-system->chez-machine) - chez-machine->threaded)) + (let ((pipe (open-pipe* OPEN_BOTH scheme "-q"))) + ;; try to not be wrong for cross-compilation + ;; (avoid #% reader abbreviation for Guile) + (write '(($primitive $target-machine)) pipe) + (force-output pipe) + (let ((sym (read pipe))) + (close-pipe pipe) + (symbol->string sym)))) (with-directory-excursion (search-input-directory outputs "/lib/stex") (invoke "make" From patchwork Sun May 8 20:07:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39166 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2464927BBEA; Sun, 8 May 2022 21:36:07 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3236627BBE9 for ; Sun, 8 May 2022 21:36:06 +0100 (BST) Received: from localhost ([::1]:47152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnndN-00045H-Cx for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:36:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50028) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnEE-0003pH-Qg for guix-patches@gnu.org; Sun, 08 May 2022 16:10:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33158) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnED-0000Fm-Uy for guix-patches@gnu.org; Sun, 08 May 2022 16:10:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnED-0002Ns-Pq for guix-patches@gnu.org; Sun, 08 May 2022 16:10:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 7/9] gnu: chez-upstream-features-for-system: Improve implementation. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405909069 (code B ref 55248); Sun, 08 May 2022 20:10:05 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:50 +0000 Received: from localhost ([127.0.0.1]:55277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDx-0002MC-TO for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:50 -0400 Received: from mail-vs1-f49.google.com ([209.85.217.49]:36778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDv-0002Lm-TV for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:48 -0400 Received: by mail-vs1-f49.google.com with SMTP id a127so12080541vsa.3 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ASOED8ZT+HX4kIHd14wSy3Dx+MokroCBH0hfgSIxOpE=; b=Ezr7JH/JuwOJ6PGGBZqpdz0HieDpQi2giG/jpqSx9cZ3xU4PZgS2ZKUb3W8H88V84g /ODeF1NWZLgbVgHxnZ0dAmRex0fIZNHDSyZBtQc1OBwo0O+bsGjIizILtRsO+4hkTnsK 1nYviT/nlY/duyCUiuaSN44ohqtYU7AHPSWhbuXyGTd3LMe5ANwn4CS7NQVp8RPdiw79 X8dbeP2qGvjEO4Jq4HtE2FAUTY/64lfkot8mDuaB6uSgnzOY4z+mceRvdN4lyaVFcbCE axQn06iwz3og72IED1e8LEhVGrqDXdDfCy/82lI3/HBigk6zI1YZ+VQVpZq6tZc2cTNJ xd/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ASOED8ZT+HX4kIHd14wSy3Dx+MokroCBH0hfgSIxOpE=; b=NWD/sFxC/EM9pUBfyxoKh9UPHaPKPibuh6bX1883WgNR1scMsuZDEfx4B/hU7krPev JtoB3DISFZb65YJdXws+dJ/6o5s0M8fX7l3kJ9KC3cAfiJ2AjH4GU4kmmiVRuSIFvDuv 6OsVVsJPYbERzh1V/R0eMJi53ijZbvHBgQw4FWGB27v3dkslyVi29NlZDyJ3ELpW2kHv r8p9SAT6wZapq/4u4VaEjIPcf+mavsHDN15TBz3QLdgn4Uq1HFe/md8J+8qJdN57Umhh soTq/76yfTk3e3TLeACJZIaoagCVILyXgp06WN4d22CLsesCQTklTVO//4iAZSN4S/Rj TWVA== X-Gm-Message-State: AOAM532uS+bDEMcBU2j5nsXnjz8eo17hfJtyMR6Rn+4U/b//GctNqHtJ I+1nq5eY/J0sgDJ/xPyd6yxXAHmc29I4VX54 X-Google-Smtp-Source: ABdhPJw9VmS1XREQ5m6Cuoj3esucVfH1Fdq3Jz4+Vn0EbmUjZOTmXY6TGuzH56fDPuXi5WWZQKUhuQ== X-Received: by 2002:a67:6684:0:b0:32d:c24:98b7 with SMTP id a126-20020a676684000000b0032d0c2498b7mr6343567vsc.78.1652040582261; Sun, 08 May 2022 13:09:42 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id b2-20020ab06902000000b003626f894df9sm1323929uas.39.2022.05.08.13.09.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:42 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:50 -0400 Message-Id: <3deb541efd59acd25410f7019670071368291ad4.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches This commit is a follow-up to b8fc9169515ef1a6d6037c84e30ad308e5418b6f. While that commit fixed a breaking build, this one begins to address the faulty assumptions that lead to the failure: see also . In this commit, we reimplement 'chez-upstream-features-for-system' using the new '%chez-features-table', which explicitly specifies platform support for both 'chez-scheme' and 'chez-scheme-for-racket', rather than assuming a non-false result from 'nix-system->chez-machine' means that the system is supported. The remaining uses of 'nix-system->chez-machine' still make that incorrect assumption and must be repaired in a future commit. * gnu/packages/chez.scm (%nix-arch-to-chez-alist, %nix-os-to-chez-alist): Replace with ... (target-chez-arch, target-chez-os): ... these new variables. (nix-system->chez-machine): Rewrite using them. (%chez-features-table): New variable. (chez-upstream-features-for-system): Rewrite using it. (chez-scheme)[supported-systems]: Update armhf-linux comment. (chez-scheme-bootstrap-bootfiles)[supported-systems]: Use 'chez-upstream-features-for-system'. (chez-machine->nonthreaded, chez-machine->threaded, chez-machine->nix-system): Remove unused functions. --- gnu/packages/chez.scm | 234 ++++++++++++++++++++++++------------------ 1 file changed, 134 insertions(+), 100 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index dd485d37e1..41f083e0ac 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -49,8 +49,6 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system nix-system->chez-machine - chez-machine->nonthreaded - chez-machine->threaded unpack-nanopass+stex)) ;; Commentary: @@ -82,68 +80,57 @@ (define* (chez-scheme-for-system #:optional chez-scheme chez-scheme-for-racket)) -(define (chez-machine->nonthreaded machine) - "Given a string MACHINE naming a Chez Scheme machine type, returns a string -naming the nonthreaded machine type for the same architecture and OS as -MACHINE. The returned string may share storage with MACHINE." - ;; Chez Scheme documentation consistently uses "nonthreaded" rather than - ;; e.g. "unthreaded" - (if (eqv? #\t (string-ref machine 0)) - (substring machine 1) - machine)) -(define (chez-machine->threaded machine) - "Like @code{chez-machine->nonthreaded}, but returns the threaded machine -type." - (if (eqv? #\t (string-ref machine 0)) - machine - (string-append "t" machine))) - -;; Based on the implementation from raco-cross-lib/private/cross/platform.rkt -;; in https://github.com/racket/raco-cross. -;; For supported platforms, refer to release_notes/release_notes.stex in the -;; upstream Chez Scheme repository or to racket/src/ChezScheme/README.md -;; in https://github.com/racket/racket. -(define %nix-arch-to-chez-alist - `(("x86_64" . "a6") - ("i386" . "i3") - ("aarch64" . "arm64") - ("armhf" . "arm32") ;; Chez supports ARM v6+ - ("ppc" . "ppc32"))) -(define %nix-os-to-chez-alist - `(("w64-mingw32" . "nt") - ("darwin" . "osx") - ("linux" . "le") - ("freebsd" . "fb") - ("openbsd" . "ob") - ("netbsd" . "nb") - ("solaris" . "s2"))) - -(define (chez-machine->nix-system machine) - "Return the Nix system type corresponding to the Chez Scheme machine type -MACHINE. If MACHINE is not a string representing a known machine type, an -exception is raised. This function does not distinguish between threaded and -nonthreaded variants of MACHINE. +(define* (target-chez-arch #:optional (system + (or (%current-target-system) + (%current-system)))) + "Return a string representing the architecture of SYSTEM as used in Chez +Scheme machine types, or '#f' if none is defined." + (cond + ((target-x86-64? system) + "a6") + ((target-x86-32? system) + "i3") + ((target-aarch64? system) + "arm64") + ((target-arm32? system) + "arm32") + ((target-ppc64le? system) + #f) + ((target-ppc32? system) + "ppc32") + ((target-riscv64? system) + #f) + (else + #f))) -Note that this function only handles Chez Scheme machine types in the -strictest sense, not other kinds of descriptors sometimes used in place of a -Chez Scheme machine type by Racket, such as @code{\"pb\"}, @code{#f}, or -@code{\"racket\"}. (When using such extensions, the Chez Scheme machine type -for the host system is often still relevant.)" - (let ((machine (chez-machine->nonthreaded machine))) - (let find-arch ((alist %nix-arch-to-chez-alist)) - (match alist - (((nix . chez) . alist) - (if (string-prefix? chez machine) - (string-append - nix "-" (let ((machine-os - (substring machine (string-length chez)))) - (let find-os ((alist %nix-os-to-chez-alist)) - (match alist - (((nix . chez) . alist) - (if (equal? chez machine-os) - nix - (find-os alist))))))) - (find-arch alist))))))) +(define* (target-chez-os #:optional (system (or (%current-target-system) + (%current-system)))) + "Return a string representing the operating system kernel of SYSTEM as used +in Chez Scheme machine types, or '#f' if none is defined." + ;; e.g. "le" includes both GNU/Linux and Android + (cond + ((target-linux? system) + "le") + ((target-hurd? system) + #f) + ((target-mingw? system) + "nt") + ;; missing (guix utils) predicates + ;; cf. https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix + ((string-suffix? "-darwin" system) + "osx") + ((string-suffix? "-freebsd" system) + "fb") + ((string-suffix? "-openbsd" system) + "ob") + ((string-suffix? "-netbsd" system) + "nb") + ;; Nix says "x86_64-solaris", but accommodate "-solaris2" + ((string-contains system "solaris") + "s2") + ;; unknown + (else + #f))) (define* (nix-system->chez-machine #:optional (system (or (%current-target-system) @@ -153,16 +140,81 @@ (define* (nix-system->chez-machine #:optional machine type is undefined. It is unspecified whether the resulting string will name a threaded or a -nonthreaded machine type: when the distinction is relevant, use -@code{chez-machine->nonthreaded} or @code{chez-machine->threaded} to adjust -the result." - (let* ((hyphen (string-index system #\-)) - (nix-arch (substring system 0 hyphen)) - (nix-os (substring system (+ 1 hyphen))) - (chez-arch (assoc-ref %nix-arch-to-chez-alist nix-arch)) - (chez-os (assoc-ref %nix-os-to-chez-alist nix-os))) +nonthreaded machine type." + (let* ((chez-arch (target-chez-arch system)) + (chez-os (target-chez-os system))) (and chez-arch chez-os (string-append chez-arch chez-os)))) +(define %chez-features-table + ;; An alist of alists mapping: + ;; os -> arch -> (or/c #f (listof symbol?)) + ;; where: + ;; - `os` is a string for the OS part of a Chez Scheme machine type; and + ;; - `arch` is a string for the architecture part of a Chez machine type. + ;; + ;; The absence of an entry for a given arch--os pair means that neither + ;; upstream Chez Scheme nor the Racket variant can generate native code for + ;; that system. (The Racket variant can still provide support via its + ;; ``portable bytecode'' backends and optional compilation to C.) A value + ;; of `#f` means that upstream Chez Scheme does not support the arch--os + ;; pair at all, but the Racket variant does. A list has the same meaning as + ;; a result from `chez-upstream-features-for-system`. + ;; + ;; The arch--os pairs marked "commented out" have been commented out in the + ;; STeX source for the upstream release notes since the initial release as + ;; free software, but they are reported to work and/or have been described + ;; as supported by upstream maintainers. + ;; + ;; For this overall approach to make sense, we assume that Racket's variant + ;; of Chez Scheme can generate native code for a superset of the platforms + ;; supported upstream, supports threads on all platforms it supports at all + ;; (because they are needed for Racket), and doesn't need bootstrap + ;; bootfiles. Those assumptions have held for several years. + '(;; Linux + ("le" + ("i3" threads bootstrap-bootfiles) + ("a6" threads bootstrap-bootfiles) + ("arm32" bootstrap-bootfiles) + ("arm64" . #f) + ("ppc32" threads)) + ;; FreeBSD + ("fb" + ("i3" threads) ;; commented out + ("a6" threads) ;; commented out + ("arm32" . #f) + ("arm64" . #f) + ("ppc32" . #f)) + ;; OpenBSD + ("ob" + ("i3" threads) ;; commented out + ("a6" threads) ;; commented out + ("arm32" . #f) + ("arm64" . #f) + ("ppc32" . #f)) + ;; NetBSD + ("nb" + ("i3" threads) ;; commented out + ("a6" threads) ;; commented out + ("arm32" . #f) + ("arm64" . #f) + ("ppc32" . #f)) + ;; OpenSolaris / OpenIndiana / Illumos + ("s2" + ("i3" threads) ;; commented out + ("a6" threads)) ;; commented out + ;; Windows + ("nt" + ("i3" threads bootstrap-bootfiles) + ("a6" threads bootstrap-bootfiles) + ;; ^ threads "experiemental", but reportedly fine + ("arm64" . #f)) + ;; Darwin + ("osx" + ("i3" threads bootstrap-bootfiles) + ("a6" threads bootstrap-bootfiles) + ("arm64" . #f) + ("ppc32" . #f)))) + (define* (chez-upstream-features-for-system #:optional (system (or (%current-target-system) @@ -172,20 +224,14 @@ (define* (chez-upstream-features-for-system #:optional does not support SYSTEM at all. If native threads are supported, the returned list will include -@code{'threads}. Other feature symbols may be added in the future." - (cond - ((not (nix-system->chez-machine system)) - #f) - ((target-aarch64? system) - #f) - ((target-arm32? system) - (and (target-linux? system) - '())) - ((target-ppc32? system) - (and (target-linux? system) - '(threads))) - (else - '(threads)))) +@code{'threads}. If bootstrap bootfiles for SYSTEM are distributed in the +upstream Chez Scheme repository, the returned list will include +@code{'bootstrap-bootfiles}. Other feature symbols may be added in the +future." + (let ((chez-arch (target-chez-arch system)) + (chez-os (target-chez-os system))) + (and=> (assoc-ref %chez-features-table chez-os) + (cut assoc-ref <> chez-arch)))) ;; ;; Chez Scheme: @@ -365,14 +411,9 @@ (define-public chez-scheme ((pth) (symlink pth "csug.pdf"))))))))) - ;; Chez Scheme does not have a MIPS backend. - ;; FIXME: Debian backports patches to get armhf working. - ;; We should too. It is the Chez machine type arm32le - ;; (no threaded version upstream yet, though there is in - ;; Racket's fork), more specifically (per the release notes) ARMv6. (supported-systems (delete - "armhf-linux" ;; <-- should work, but reportedly broken + "armhf-linux" ;; XXX reportedly broken, needs checking (filter chez-upstream-features-for-system %supported-systems))) (home-page "https://cisco.github.io/ChezScheme/") @@ -471,16 +512,9 @@ (define-public chez-scheme-bootstrap-bootfiles (list #:install-plan #~`(("boot/" "lib/chez-scheme-bootfiles")))) (supported-systems - ;; Upstream only distributes pre-built bootfiles for - ;; arm32le and t?(i3|a6)(le|nt|osx) (filter (lambda (system) - (let ((machine (and=> (nix-system->chez-machine system) - chez-machine->nonthreaded))) - (or (equal? "arm32le" machine) - (and machine - (member (substring machine 0 2) '("i3" "a6")) - (or-map (cut string-suffix? <> machine) - '("le" "nt" "osx")))))) + (and=> (chez-upstream-features-for-system system) + (cut memq 'bootstrap-bootfiles <>))) %supported-systems)) (synopsis "Chez Scheme bootfiles (binary seed)") (description From patchwork Sun May 8 20:07:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39167 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9C22227BBEA; Sun, 8 May 2022 21:36:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0F95327BBE9 for ; Sun, 8 May 2022 21:36:15 +0100 (BST) Received: from localhost ([::1]:47822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnndW-0004Yb-7a for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:36:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50030) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnEE-0003pI-Qk for guix-patches@gnu.org; Sun, 08 May 2022 16:10:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33161) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnEE-0000Fn-E9 for guix-patches@gnu.org; Sun, 08 May 2022 16:10:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnEE-0002O1-9H for guix-patches@gnu.org; Sun, 08 May 2022 16:10:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 8/9] gnu: chez-scheme-for-racket: Fix supported systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:10:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520405989088 (code B ref 55248); Sun, 08 May 2022 20:10:06 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:09:58 +0000 Received: from localhost ([127.0.0.1]:55281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnE5-0002MW-OU for submit@debbugs.gnu.org; Sun, 08 May 2022 16:09:58 -0400 Received: from mail-vs1-f54.google.com ([209.85.217.54]:35717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnDz-0002M2-Ok for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:09:56 -0400 Received: by mail-vs1-f54.google.com with SMTP id d22so9301213vsf.2 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rEN63InRpJFw9FWbXtZMsikdTxt1Wx/ik5ZLTy2nCfM=; b=Wen7H1uEaNb//uuEeOjsy3piVWr59M5uFlKpezdMKsWCAXAXeqlj5/j2kZfFk3uTlU 2oXMuRPvFP1XG5wpuzLdvAX0RPR/SRNICAIABArTv0s8dhnfTHiL7IEI4et01l2Skeak CQ1GwBKYQMDMKYGJaQI5ifbUYSIFWQy0CDXluPEehNguFretm21YwW/JQfgpVLRmlKhr 3QRYMeGlEVHrdKsROthp844qHouCk2ioId10nEDYd1KxOP4mYZvq7tlLi9QKvgxPhqSb rNqMoYQWOSqwjTcpkj1YB5X693Foibw3Xljmylub82n7TeIBF/+7znubguppcvrgtYt+ c/EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rEN63InRpJFw9FWbXtZMsikdTxt1Wx/ik5ZLTy2nCfM=; b=q8CLJPijBPPd6GhfUIwFqqVK6zfZ59XK9sFa0nEb3lQOVuXqyTfNoV7QgU8YKcn2G8 Kx0gCrijj7KvPR1x/un9cdlQlbTrTSVP7Nw6K8DzCyC6882GKldxFFoKaegDJJtKdXhe ixbRKgHj1Wi/dqARw+E0Auorg6DxMFmBY0r8Qa4JJiTWg6Vkf08yDUJ32coPIvywEMla R5AoYKD6+sjS9uE9kE/+wavWQ/r/RS0L3gRo81E8gp1DP216ScnaAlP4OEbJiY1gmugA vZdT/usy78T4F03F1f534F+ntV6qBPkAaC4Twsys6N3uY8OR38VPDoJsQKUERV+i1fsS zXNg== X-Gm-Message-State: AOAM530aTo9gTCdzsn9JJ1Ax9zsbt8LsH/7XhiQcJfFCSxRaA1l6xF8v uI1qJh7oNbhjKJc/1u9c3ebQn9/pOO0LCZ2D X-Google-Smtp-Source: ABdhPJz2FMS1obvBQ6xJAS7fI7TyguGf7n9Q3AzsQWtIpfOMd8O142iJDgDD92Eq6u+U7/hV1o1mmw== X-Received: by 2002:a67:c816:0:b0:32c:f407:7d40 with SMTP id u22-20020a67c816000000b0032cf4077d40mr6350975vsk.75.1652040586253; Sun, 08 May 2022 13:09:46 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id f19-20020a67ea93000000b0032d275e6904sm941802vso.4.2022.05.08.13.09.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:46 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:51 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches This commit fixes the treatment of systems like "powerpc-w64-mingw32", where the combination of architecture and kernel is not supported, even though both are supported in other combinations. The build failure fixed in b8fc9169515ef1a6d6037c84e30ad308e5418b6f highlighted this problem: see also . The correct support status is specified by '%chez-features-table', which was added to improve 'chez-upstream-features-for-system': this commit uses it to fix the repair. Once the issues in are resolved, 'chez-scheme-for-racket' and 'racket-vm-cs' will be able to run even on systems for which native code generation is not supported. It's not clear what behavior would be useful from 'nix-system->chez-machine': since the current implementation is flawed and easy to misuse, we remove it for now, replacing the remaining uses with 'racket-cs-native-supported-system?'. * gnu/packages/chez.scm (nix-system->chez-machine): Remove it. (racket-cs-native-supported-system?): New variable. (chez-scheme-for-racket)[supported-systems]: Use it. * gnu/packages/racket.scm (racket-vm-for-system): Likewise. --- gnu/packages/chez.scm | 32 +++++++++++++++++--------------- gnu/packages/racket.scm | 7 +++++-- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 41f083e0ac..cae17580f8 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -48,7 +48,7 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system - nix-system->chez-machine + racket-cs-native-supported-system? unpack-nanopass+stex)) ;; Commentary: @@ -132,19 +132,6 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) (else #f))) -(define* (nix-system->chez-machine #:optional - (system (or (%current-target-system) - (%current-system)))) - "Return the Chez Scheme machine type corresponding to the Nix system -identifier SYSTEM, or @code{#f} if the translation of SYSTEM to a Chez Scheme -machine type is undefined. - -It is unspecified whether the resulting string will name a threaded or a -nonthreaded machine type." - (let* ((chez-arch (target-chez-arch system)) - (chez-os (target-chez-os system))) - (and chez-arch chez-os (string-append chez-arch chez-os)))) - (define %chez-features-table ;; An alist of alists mapping: ;; os -> arch -> (or/c #f (listof symbol?)) @@ -233,6 +220,19 @@ (define* (chez-upstream-features-for-system #:optional (and=> (assoc-ref %chez-features-table chez-os) (cut assoc-ref <> chez-arch)))) +(define* (racket-cs-native-supported-system? #:optional + (system + (or (%current-target-system) + (%current-system)))) + "Can Racket's variant of Chez Scheme generate native code for SYSTEM? +Otherwise, SYSTEM can use only the ``portable bytecode'' backends." + (let ((chez-arch (target-chez-arch system)) + (chez-os (target-chez-os system))) + (and (and=> (assoc-ref %chez-features-table chez-os) + ;; NOT assoc-ref: supported even if cdr is #f + (cut assoc chez-arch <>)) + #t))) + ;; ;; Chez Scheme: ;; @@ -459,7 +459,9 @@ (define-public chez-scheme-for-racket (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) - (supported-systems (filter nix-system->chez-machine + ;; TODO: How to build pbarch/pbchunks for other systems? + ;; See https://racket.discourse.group/t/950 + (supported-systems (filter racket-cs-native-supported-system? %supported-systems)) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 904dfe9bef..1f020f1276 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -190,8 +190,11 @@ (define-module (gnu packages racket) (define* (racket-vm-for-system #:optional (system (or (%current-target-system) (%current-system)))) - "Return 'racket-vm-cs' if it supports SYSTEM; 'racket-vm-bc' otherwise." - (if (nix-system->chez-machine system) + "Return 'racket-vm-cs' if we are able to build it for SYSTEM; 'racket-vm-bc' +otherwise." + ;; Once we figure out the issues in https://racket.discourse.group/t/950, + ;; we can use 'racket-vm-cs' everywhere. + (if (racket-cs-native-supported-system? system) racket-vm-cs racket-vm-bc)) From patchwork Sun May 8 20:07:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39161 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A64C727BBE9; Sun, 8 May 2022 21:29:52 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 38CA227BBEA for ; Sun, 8 May 2022 21:29:52 +0100 (BST) Received: from localhost ([::1]:32830 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnnXL-0002o1-CI for patchwork@mira.cbaines.net; Sun, 08 May 2022 16:29:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50278) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnnF9-0005XR-Nk for guix-patches@gnu.org; Sun, 08 May 2022 16:11:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33162) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnnF8-0000Pm-5O for guix-patches@gnu.org; Sun, 08 May 2022 16:11:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnnF8-0002PZ-1d for guix-patches@gnu.org; Sun, 08 May 2022 16:11:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v2 9/9] gnu: chez-scheme-for-system: Adjust for bytecode backend. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 08 May 2022 20:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55248 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55248@debbugs.gnu.org Cc: Liliana Marie Prikler , Maxime Devos , Philip McGrath , Liliana Marie Prikler Received: via spool by 55248-submit@debbugs.gnu.org id=B55248.16520406069187 (code B ref 55248); Sun, 08 May 2022 20:11:01 +0000 Received: (at 55248) by debbugs.gnu.org; 8 May 2022 20:10:06 +0000 Received: from localhost ([127.0.0.1]:55291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnEE-0002O0-5l for submit@debbugs.gnu.org; Sun, 08 May 2022 16:10:06 -0400 Received: from mail-ua1-f41.google.com ([209.85.222.41]:42582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnnE3-0002MJ-UE for 55248@debbugs.gnu.org; Sun, 08 May 2022 16:10:04 -0400 Received: by mail-ua1-f41.google.com with SMTP id ay15so4713224uab.9 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 13:09:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sXAlWzX75Hlmhrp6qGDaKZes3YE2GAMM4FDqwjqZ+mw=; b=dXPZyh0U/1OJ2Z5MXkQJYYZO6/8lk0CBzijww7EAovQs7tpdM3jlYsyZETDuS3HiJ5 zHu0T9K3KCLMPkC2sH6JwRcN9iarX+WyNX9zC2AFRD1QI/46uQIsqY4xjND1lzy9KIVp GQRUqpuYojC2SQ6DPAFb4x083GLVswIqssyIQzr3iZ9SZeTeaf7jKG+MomdSsWQD3zcB Jx+dtVxqbYsKtJtYKRN7ypOizg1KmoJvfj2EvbbJBqd2YD7DfxMXFNrxqKZLjzbD2FcE gd3U3jDxpFgP3dVSuaz2eCrZO9l1FHwwSc079eKAM0Jt8WZ2P5liKgVGsaDcLNZ8xR89 cBaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sXAlWzX75Hlmhrp6qGDaKZes3YE2GAMM4FDqwjqZ+mw=; b=g01auw0PjroOvsZYW0ynHnoZK1El3GRQQxBH9n/1ETT1SK9X9PnGz59ecOLIyNjD+a VdLdTjRlq+8CR/O6rVaLdfmFToUJHmTMnbdToqSeud/IXENj+9tR5pPxevYPyggokHOR oKqjoTEKKOcXl1unJtg495UC/EIUtn7ajKzi1a4O91nIQKvntuIAFmRU6UCJMTteRoi7 ipA62Hud9yji2Yq3EwHBE3D4M9EzsXY3I68aNc0UGjQntls7oPfn0aevmIBYEBni0Hs1 iCe6O1h/M+m6MW7cNQsxNFeeMUyXQfMG4P+OE0AskHPSDLmXyH6NJxtBjPrcAo/w+dyp dpKw== X-Gm-Message-State: AOAM532J155qBa9bY9N3+3Nay9canjnZJz3ck+fsyHu3AR32wsvTZ9/2 Y7v9DtDplCzsj+BGvmNdQc2Q6evYtMxjgX68 X-Google-Smtp-Source: ABdhPJxw+Bu4so/ua5v7I5mCZnCSVLqYXb9dkJwfT3mcVy4+UPIOLea1MfhtGpKDU6y+ZtajROlgLg== X-Received: by 2002:a9f:3272:0:b0:359:eded:9c7e with SMTP id y47-20020a9f3272000000b00359eded9c7emr6746459uad.35.1652040590467; Sun, 08 May 2022 13:09:50 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id t23-20020ab02797000000b00364e6da2ea5sm1323441uap.18.2022.05.08.13.09.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 13:09:50 -0700 (PDT) From: Philip McGrath Date: Sun, 8 May 2022 16:07:52 -0400 Message-Id: <930d660fe1deaef1210ec6a04cec9e9aa66a150d.1652039837.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Change 'chez-scheme-for-system' to return 'chez-scheme-for-racket' in two cases when it previously returned 'chez-scheme': 1. When 'chez-scheme' is not distributed with bootstrap bootfiles, since we can only cross-compile 'chez-scheme' for those systems; and 2. When neither 'chez-scheme' nor 'chez-scheme-for-racket' supports native code generation, since we will be able to use the ``portable bytecode'' backends of 'chez-scheme-for-racket' as soon as the issues in are resolved. * gnu/packages/chez.scm (chez-scheme-for-racket): Change condition. --- gnu/packages/chez.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index cae17580f8..7e6273f26a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -69,14 +69,17 @@ (define-module (gnu packages chez) (define* (chez-scheme-for-system #:optional (system (or (%current-target-system) (%current-system)))) - "Return 'chez-scheme' unless only 'chez-scheme-for-racket' supports SYSTEM, -including support for native threads." - (if (or - ;; full support upstream - (and=> (chez-upstream-features-for-system system) - (cut memq 'threads <>)) - ;; no support anywhere - (not (nix-system->chez-machine system))) + "Return 'chez-scheme' if it fully supports SYSTEM, including support for +bootstrapping and native threads. Otherwise, return +'chez-scheme-for-racket'." + (if (and=> (chez-upstream-features-for-system system) + (lambda (features) + (every (cut memq <> features) + '(threads + ;; We can cross-compile for platforms without + ;; bootstrap bootfiles, but we can't self-host + ;; on them short of adding more binary seeds. + bootstrap-bootfiles)))) chez-scheme chez-scheme-for-racket))