From patchwork Mon May 9 06:02:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39172 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 35D9227BBEA; Mon, 9 May 2022 07:04:29 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 6B6DD27BBE9 for ; Mon, 9 May 2022 07:04:25 +0100 (BST) Received: from localhost ([::1]:41940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwVI-00013H-G1 for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:04:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwV0-00010B-T4 for guix-patches@gnu.org; Mon, 09 May 2022 02:04:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33577) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwV0-0004fv-Hy for guix-patches@gnu.org; Mon, 09 May 2022 02:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwV0-0000uG-DG for guix-patches@gnu.org; Mon, 09 May 2022 02:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 1/9] gnu: racket: Update to 8.5. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 06:04: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.16520762323424 (code B ref 55248); Mon, 09 May 2022 06:04:02 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:03:52 +0000 Received: from localhost ([127.0.0.1]:55692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUg-0000so-FI for submit@debbugs.gnu.org; Mon, 09 May 2022 02:03:52 -0400 Received: from mail-vs1-f43.google.com ([209.85.217.43]:37437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUb-0000sP-Hs for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:41 -0400 Received: by mail-vs1-f43.google.com with SMTP id t85so12826513vst.4 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03:37 -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=HtrR8F+6gg1K1gMqRs4BS+THDO303rGXt+Cw8SZ5jS+TwDWA36nha55T5tByaI5MdW pxnqOfYaRl2HaMiLJv4r0DmOfYWhK6P1GUs1aJRAcF0100nN7jvXk3zz8u/U9XmoQKt7 i3BHbyd7KWiUCyiFHBhq8gr3aBCeH673BIOl5OCwTVk3Yd9asRIPUDZdc4hDBEpFeOBV JrTRgVtVKd/aGKLxbsUnblHyz8jAS0I+Ohtb6I6hpQCCALcsAnBZUu93LAnOiifiyFgo /mvWdUp0acISnWu4dbiMXjefiFvFuZozDbjC7YbyuHYc5v1ZORXxqXheTXEu1OtvdwQq a6bg== 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=kzuCRxDRFHWrOTL6s8l6QyRegfHUMLg0KJZz5xF108d5AkEFy5hVMQp355QFJBHafW blfOIrPUlaj4cwXsJtCnwCSi9tB1g4Av3Q0vSR/2lyYImZK29zMSgcNmpS2g8JfYjahU V+e2QNSdRYhm+0CM0bQRuyMbfPxTvLjVLCIl3Qd8fbDxMm0Adw/J5vn36Ss9WrRj0Kmd 4W1PgFy6J/HvmXu/74HJ+Y+kUivgzHCDb8kARv7jBQITX9JPs8YOSBEnTmiWoZt8aWu1 JuSY/hRCKWb4LqRcS3N009gdz+UexIYJ0iCxzpF7512MgJIsa4FVLQnJQyxafaCAal8B j8IA== X-Gm-Message-State: AOAM5329SxTo+93/MS6XWb4r0Ee/CTlKTOiW1mFFpB5RcmgXeBef1UV+ uT73bQkakP0up3EbUuXU9QOLP4Ly6vHtMqTA X-Google-Smtp-Source: ABdhPJwdVOd0Kq4g/zHGKENdt9ZamZFjrWoWWhoDbMQtHDV61fkteOBtjzdJ6Nc1I9wKRcVaGnuQpQ== X-Received: by 2002:a67:e311:0:b0:331:972b:9e93 with SMTP id j17-20020a67e311000000b00331972b9e93mr2697877vsf.63.1652076211444; Sun, 08 May 2022 23:03:31 -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 s24-20020a67df18000000b0032d275e6915sm1026719vsk.21.2022.05.08.23.03.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:31 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:42 -0400 Message-Id: <0274097e2e661519d5a5bf2b0ae2a8c3735af3c7.1652075689.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 Mon May 9 06:02:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39174 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 0A20F27BBEA; Mon, 9 May 2022 07:04:56 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 C15A427BBE9 for ; Mon, 9 May 2022 07:04:55 +0100 (BST) Received: from localhost ([::1]:42414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwVq-0001NE-Ro for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:04:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwV1-00010e-7u for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33578) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwV0-0004gA-Un for guix-patches@gnu.org; Mon, 09 May 2022 02:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwV0-0000uT-RA for guix-patches@gnu.org; Mon, 09 May 2022 02:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:04: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.16520762323433 (code B ref 55248); Mon, 09 May 2022 06:04:02 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:03:52 +0000 Received: from localhost ([127.0.0.1]:55696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUq-0000tB-2m for submit@debbugs.gnu.org; Mon, 09 May 2022 02:03:52 -0400 Received: from mail-vs1-f51.google.com ([209.85.217.51]:46018) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUe-0000sT-WC for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:41 -0400 Received: by mail-vs1-f51.google.com with SMTP id e19so12827197vsu.12 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03: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=tCGAYGqxnxsQJ22Fq13uH4OFi1mbolL+EAnq3xC2EgQ=; b=fXMeMILhGLxd1t9tiA5X5KEpQ3PJHlhYRmF5BfnDQW/qeY8FAfGyevGQe7ouWsocNE SdMXtf/UZkP/9JVbGnFvdjFL4d9azxV7vVGrV8eLCe+CVr1XTKp2NQNdjU7d5whZtF06 mEIBJubJOdMQJJJq5c9Zkxtuerc6BY1F7dxnpFdSEtfo4W3IFoyM8DVGOvxalxZPCPL6 9Oyhmb2yPdqhDLrnpDA+vm6SDcVeKVD6QCg2XjSG4IRxjvIY6CRT0Cr/Rayda04B+dpX AugHd20EPCR+LFe9gTcXy27ijkWtpdXs06bxHQhI/QVesgDPDuA4R293KMmp7QrdXAfn MUCA== 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=tCGAYGqxnxsQJ22Fq13uH4OFi1mbolL+EAnq3xC2EgQ=; b=4kUi41e4qhnYzUMg9bZHnoHksAEF+JpDusy///Lyl4PyP28kO69rYwgx5+KcZfcPRR XUro8BKFSCKyImlkp5xDOGrpEVuZpji++8srafZPBhX6xJK08oXHNjHiU/PcXxdMlfXm 0U8fz2TdnxnX7gacvk0ThX/G2RwDrFan7HZZ2rHGmqCO2VfBoo9HUMNzHnVWylHJiV69 IkXO2IVW6xslh/Z/VuXJhtPeOr5LNKZwa0pOjH9v8hgX8tMDvBXKqNKdYVLiYF4XYdk8 xT5XNUV3gD+ofZHG2Bs/QQU36lAqyKhvSVBrLEqU9O54VamNs4Eg84TpeAvR7lkLuyFU wZWg== X-Gm-Message-State: AOAM530AljUcpgXPHtHgN7JYUM1KW/XslRxZjrrgrjUGC5cS/lCjx5p9 rh1m+2+otPngydhH3yBVLaNcpDz7Wx/rzeCu X-Google-Smtp-Source: ABdhPJxXi9gZ9B6+RRblQ4P7RfXUFEoFH4GEPTWg0Ck9IGnyZqyP6zHTrqRO7JitutWz3AwzzT/FFw== X-Received: by 2002:a67:e153:0:b0:32d:15c:71d6 with SMTP id o19-20020a67e153000000b0032d015c71d6mr7282519vsl.36.1652076215459; Sun, 08 May 2022 23:03:35 -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 o12-20020a056122178c00b0034e6f1fd05fsm1287823vkf.41.2022.05.08.23.03.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:35 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:43 -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/racket.scm (racket-vm-cgc)[arguments]: Supply '#:out-of-source? #t'. Wrap 'install-license-files' to work around limitation. --- 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..8438945ba0 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"))) + (replace 'install-license-files + ;; The #:out-of-source? mode for install-license-files fails + ;; to find the srcdir: as a workaround, navigate there ourselves. + (let ((install-license-files + (assoc-ref %standard-phases 'install-license-files))) + (lambda args + (with-directory-excursion "../src" + (apply install-license-files + `(,@args + ;; if there are duplicate keywords, last is used + #:out-of-source? #f))))))))) (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 Mon May 9 06:02:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39173 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 E16D227BBEB; Mon, 9 May 2022 07:04:53 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 B0AAC27BBEA for ; Mon, 9 May 2022 07:04:53 +0100 (BST) Received: from localhost ([::1]:42366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwVo-0001Ld-QW for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:04:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44698) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwV1-00011I-LE for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33579) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwV1-0004gL-Bk for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwV1-0000ua-86 for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:04: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.16520762323440 (code B ref 55248); Mon, 09 May 2022 06:04:03 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:03:52 +0000 Received: from localhost ([127.0.0.1]:55698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUq-0000tK-KE for submit@debbugs.gnu.org; Mon, 09 May 2022 02:03:52 -0400 Received: from mail-ua1-f46.google.com ([209.85.222.46]:39599) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUj-0000sZ-Aj for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:45 -0400 Received: by mail-ua1-f46.google.com with SMTP id s1so5057439uac.6 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03:45 -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=Pcewm0s4td8P84djhRKg6GAbtAXF1igso0fiCYUlLou6j/KCjaZO/odZXzR1cyvPnb z0Kzm1HsSbztjW8JMGK2YbfWekskmFzBAUf2z0q7/dUtDv0MCVVuBq2jk9kiHPMu9Q2o QAPxQZ5OVf7r/Of7DKI918YdhMslGwSX4S0j0xfDclLBUGC5ohMr9q14MXlVHXkuENop s3i1VcULXCoHmc6faFdBFU4NPe6uv0YbBvfHmo2C3Q4zr+gJyS84eXGthbrGVtv/SugJ RNK/SU1W/Ce3LzXuZeIDj7VBTsBVVmQHyFpEVxiVkoLz7YPNQ1u/VWKpRL01RPII8fWI X9sA== 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=fM9ff2hMsloNN+XJnVH3zrg3DUuh8oMTS4S/Z8oAiK6Tn/zZfxNT2Qn46f/Fm+Wwie EezZALJOVTrWPWvKU5hHrBBPhPG4MZs2sNvz15YVbVYO7NOM0/7eanUpCFrDzRnth51U R+ow62zbzrm+PvQwuvfPxH5jwrD5z5XX4Guyy1NaSAbPfcSuVBNi8lKI0hj/hGxe2j7/ AUihkTZtm7c1cf4AWDaoxJMoZ0xj3v0s+mdGzy7/dnM8izWRFKKBD3rsTB28t5o+ZBW6 lfUktz+Q5ZoI/0bvf1J4E/jrD6Et0hsczk6IX5QRmJTHwnOfBGdgmGcM41xiitCSUUiJ +HNw== X-Gm-Message-State: AOAM532mBEEZf6eBRcp+plVayQtYKrTkqS1jXSb5A2/pseA3yullA0GT Xk05yhjXGuIaWCAm5mbf1aZNuZYwNu+GPvjU X-Google-Smtp-Source: ABdhPJyOq5Q5w5iD2Q7ybQHvSAzGRuXGsEINVO7y8Jfiu0MReWw1qF1WIfOfh9RzhVlhb75QIl5efg== X-Received: by 2002:a05:6130:384:b0:365:7c50:696d with SMTP id az4-20020a056130038400b003657c50696dmr7687963uab.55.1652076219750; Sun, 08 May 2022 23:03:39 -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 l8-20020a056102308800b0032d275e690csm993203vsb.12.2022.05.08.23.03.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:39 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:44 -0400 Message-Id: <7ad44a355df0dbfb80ba30d74f16cb1ad48d19e8.1652075689.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 Mon May 9 06:02: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: 39177 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 BED4F27BBEA; Mon, 9 May 2022 07:06: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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 463A227BBE9 for ; Mon, 9 May 2022 07:06:35 +0100 (BST) Received: from localhost ([::1]:42872 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwXS-0001kH-BG for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:06:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwV2-00011k-4Y for guix-patches@gnu.org; Mon, 09 May 2022 02:04:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33580) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwV1-0004gj-PD for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwV1-0000ui-K4 for guix-patches@gnu.org; Mon, 09 May 2022 02:04:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 4/9] gnu: chez-scheme: Refactor documentation phases. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 06:04: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.16520762333446 (code B ref 55248); Mon, 09 May 2022 06:04:03 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:03:53 +0000 Received: from localhost ([127.0.0.1]:55700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUq-0000tR-Sy for submit@debbugs.gnu.org; Mon, 09 May 2022 02:03:53 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:36759) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUn-0000sp-Dr for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:49 -0400 Received: by mail-vs1-f41.google.com with SMTP id a127so12860713vsa.3 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03:49 -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=BrMiAIOmBaE3D0Wry6gjtvJgqHTL9qxXm1nYIH+noISXZnxBx4COocgSxyck8OQhMQ QzYtmUARZO0p1ZjZIhFABaelLByjar1gGbGk3x8zmK3G1A6Op1z3sXkNOdQqokdBgeyI /uGcflyeFiobU+sMilXuraWvaJCCM8UZ/JUIswB1zaaUoBPgLZZ+mN0EIZAkBmhKEEGB 7O/1damZnQwgy4f7snIDm8uG1I0KWv5lbn+eTbzn3Qt3c71UYIocFWFhUFkCN7izNgBz xjqJoLenKW4o1Bi60lThxlWqPCa0o/hvDPB1Q60g6lD89h4pxvw3jfIbiFMadMEF3Qs1 d8SQ== 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=BJ1wD+gP28TUxzVm14kLAiNbPlIBihqLkJPDwLTlXczT99eGcEHx2A+MmpaRQKQ7lI dMZpPNO2nnidOZBC89eF959oPtoWxV45/ncYtLZCyvIr3+3UCFkZPfeNZBIP/RRxAqRE 687rz9AfU0+G6RXewJ8SM4X7seSld0YhZyPm+CZTprW9feTe10S9LS1nSlvtWt623aiW mcRmk3hfJ9Ke7ePYEdPyfap3ok1Y9iJo0Y6rUYpBzYRBE7FOAGAoRAduY4MTQ5xwTPkF OD8Oc/QhwDvM1kKjHqVyIgLqw0qp6OJl7utMaEsHyo6i7KZsJbuyCU7arhHTepjtQ2Kc mveQ== X-Gm-Message-State: AOAM533RPyWiSn47sV37XBsOj3jImi3dTLm3QxE40HuI0Z4FGWqSTnMq TrvuS/tSiwZKny7yrNrRZvrV+zOuoeZgZq5i X-Google-Smtp-Source: ABdhPJzSrLEuCO5hPgUcIf04ugYyxgeNcLanZivmm4AWLD2VxPG+kH2KHRN+ZEJBy4a/tE2WU2WFOQ== X-Received: by 2002:a67:fe0b:0:b0:32c:ba4e:2b89 with SMTP id l11-20020a67fe0b000000b0032cba4e2b89mr6702306vsr.50.1652076223855; Sun, 08 May 2022 23:03:43 -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 h17-20020ab06191000000b003626f894de9sm1558200uan.23.2022.05.08.23.03.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:43 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:45 -0400 Message-Id: <5fff69c601fd95ba51b3d6635dfa5865fdc714a4.1652075689.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 Mon May 9 06:02: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: 39176 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 451A727BBEA; Mon, 9 May 2022 07:06:31 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 AFEB527BBE9 for ; Mon, 9 May 2022 07:06:30 +0100 (BST) Received: from localhost ([::1]:42844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwXN-0001iJ-Qv for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:06:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwVy-0001h2-Eu for guix-patches@gnu.org; Mon, 09 May 2022 02:05:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33592) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwVy-0004no-5G for guix-patches@gnu.org; Mon, 09 May 2022 02:05:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwVy-0000wy-01 for guix-patches@gnu.org; Mon, 09 May 2022 02:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:05: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.16520762473542 (code B ref 55248); Mon, 09 May 2022 06:05:01 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:04:07 +0000 Received: from localhost ([127.0.0.1]:55703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUt-0000tk-7p for submit@debbugs.gnu.org; Mon, 09 May 2022 02:04:07 -0400 Received: from mail-vk1-f181.google.com ([209.85.221.181]:36453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUr-0000t1-Gw for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:53 -0400 Received: by mail-vk1-f181.google.com with SMTP id h144so6417679vkh.3 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03:53 -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=QUsTizjfpSBDGkqlJmE4F2jUS9QRvCjw94er3zNkmLI//viJxi/oTbThnmMRLx7fvM 4rb3SrpqrkiQ6tFxLXIFAOdKK7NZnKp4dd1On43E7CRwX4WQxgVmARMw0wF/ND0F70NW 96Dujv4el2loGhxd5lqZ9bV6365HCXx7GldGASKrElC1BxPyuyhkQFpvE7YUY0cs9t26 vaK0GdvBWdD36E7iJhlzQNUOY2EkdUbv8aKu41CXs0h0sPKjkj6DFQ8XZ5y3eaTnsIFm 7c6+G4sktUHyA8bbGlMbj5kUyE4m9Wx5rxpIyM+4Y+Ivs2vE/1C4+wfY8B1fEcsr4o2k d3fg== 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=nUkd/I/JC8/IjJPXpGHpfZkXD7atTxypdQz0vxtYGp0xu7wDb5ciyWKcDJM/KIPQnQ 28dTtgDeBsM+/srxMAY9u1Ou+WoXjyghsGJXs3CWnRCpK611ahR7NjWOs21r3PHtnEju 03Uj6hhuDCjAXE5sJ0hrq62GCpK5W4+NCaNqdLxN0B/NOCdUmsFNorgrSu3yD+9JAS/2 a1IK3Y8rFG5DXHCbioydwsyid1cQpAxNegBLgKNaFUz3zEtKvCt/q0C/um82/86AjyVY MP0EaEWSAAdQ+UjsYhr/EyyvuN0VaY1XyyOLOsIdzqhnXjzfKYM3pbgrlzybOiopH/eQ fJIw== X-Gm-Message-State: AOAM531z0x6DWTffwRiWtXObtT8+P1aaJscZ361qEfaio30bc4lNExaP sPTN30Dc5DYxYm+aN3spR1FMzwvXNb9MpHcC X-Google-Smtp-Source: ABdhPJwPL6oSTt1FYZTnANhl/r2umRjcw/CxffrBRCs+4v0qF2L2HhE466S5RZc1IAWex4CJ2p2rvg== X-Received: by 2002:a05:6122:18af:b0:34e:7a97:709 with SMTP id bi47-20020a05612218af00b0034e7a970709mr7305019vkb.24.1652076227960; Sun, 08 May 2022 23:03:47 -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 d9-20020ab03789000000b003626f894df8sm1460351uav.38.2022.05.08.23.03.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:47 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:46 -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 Mon May 9 06:02: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: 39175 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 AA8E527BBEA; Mon, 9 May 2022 07:06:30 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 6C45F27BBE9 for ; Mon, 9 May 2022 07:06:30 +0100 (BST) Received: from localhost ([::1]:42854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwXN-0001ip-HV for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:06:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwVy-0001h4-Sd for guix-patches@gnu.org; Mon, 09 May 2022 02:05:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33593) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwVy-0004nv-Jl for guix-patches@gnu.org; Mon, 09 May 2022 02:05:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwVy-0000x5-F7 for guix-patches@gnu.org; Mon, 09 May 2022 02:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 6/9] gnu: stex: Get machine type dynamically. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 06:05: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.16520762473549 (code B ref 55248); Mon, 09 May 2022 06:05:02 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:04:07 +0000 Received: from localhost ([127.0.0.1]:55713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwV5-0000v5-Bs for submit@debbugs.gnu.org; Mon, 09 May 2022 02:04:07 -0400 Received: from mail-ua1-f49.google.com ([209.85.222.49]:35606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUv-0000tH-IA for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:03:57 -0400 Received: by mail-ua1-f49.google.com with SMTP id x11so5062391uao.2 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:03:57 -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=duK2JrSxOlmn3OX26POj1SIPfZ4DYdl6OGgJEbE2luX8FCLpb1ZAP608qy7kdzhb0+ WSre12PIcqaTi/1VXdhU2V63GFnKCPiIAgf7BvLMJVHPTLsw6OEdakKhAOmnhXr43BvP Eoxq8ctX5gh3d4EnVIMHfLYZ1GwMZU7cfHVszbnfQmhqWz5S8dMYT6ThWQRgrk1H9JvC nA8LdeC7L5VZAK63Dmc8RDF8N6VA2xSNSb47Bb0jSNiPuAxjnyuNDsww8kNaa2P9n9Bw 27RhV9i3XfIfFAKHun/92sjomMf9DXXb/56YzZJlpaF5wFv03JzmgHFxc+D1z4cAtfX4 0b4Q== 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=o6T2bpjrsH+yi+iBiumcsFxHTSySk3n4tDVW6mXLr4kpOY67i5cnJd6j4B8NWINP1J Ck/78OZ+BdZLMWCq+uXHuj8+ITPONOWzpzAUh/mt0q3tWSRk+xUZ6kLUtFH0CUbPMVRb +YIFTcMNo4ABpzQFpZvXUGxhlLcXYSImGP5xF1KiVG9IZLqU2hofCwaoip9U0146SD3Z RkSS5+Nxi3EJF0vWPFfuwbVJqTemwIQfONlzTupm03TdM9bYlQTq1SZlH2Q8crBeDkyT czWL1Sea8cc6qZpt31DIG4tpL+Bdjt+03u28JyOS1HAhed8FM+YgPJZPb9Jw6lcfYugh 1YYw== X-Gm-Message-State: AOAM533wrn5AqTPpT4p0BrEn3nfGCtGt3I9cmiHAJyHX69I1axutD5HO YC/8ldKsxr7H4EVj5FutqNepr+x8sVOAk0KC X-Google-Smtp-Source: ABdhPJyJ1bW2dbZc+UEX0S5ICHOCHFTqxc3gK80oWXe3mGngP1j6CYuCsjzVAXgaWp+YNdlas0XElA== X-Received: by 2002:ab0:15ed:0:b0:365:f250:7384 with SMTP id j42-20020ab015ed000000b00365f2507384mr2309472uae.44.1652076232068; Sun, 08 May 2022 23:03:52 -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 e188-20020a1f1ec5000000b00352319fb500sm1273444vke.48.2022.05.08.23.03.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:51 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:47 -0400 Message-Id: <6521decd69c70fe38b056c2dbec10d1a1af0e570.1652075689.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 (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 Mon May 9 06:02: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: 39179 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 D41C927BBEA; Mon, 9 May 2022 07:07:29 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 EE78527BBE9 for ; Mon, 9 May 2022 07:07:28 +0100 (BST) Received: from localhost ([::1]:43734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwYK-0002R6-4c for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:07:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwW0-0001h9-P1 for guix-patches@gnu.org; Mon, 09 May 2022 02:05:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33595) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwVz-0004o5-Iu for guix-patches@gnu.org; Mon, 09 May 2022 02:05:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwVz-0000xM-EK for guix-patches@gnu.org; Mon, 09 May 2022 02:05:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:05: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.16520762483563 (code B ref 55248); Mon, 09 May 2022 06:05:03 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:04:08 +0000 Received: from localhost ([127.0.0.1]:55717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwV6-0000vK-6N for submit@debbugs.gnu.org; Mon, 09 May 2022 02:04:08 -0400 Received: from mail-ua1-f43.google.com ([209.85.222.43]:43991) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUz-0000tm-Sv for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:04:02 -0400 Received: by mail-ua1-f43.google.com with SMTP id 63so5053000uaw.10 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:04:01 -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=P1UzdCF0+qKTA10QaTMLkm3/7TlCT4GG8YHlRg8BqMIGv+JtBW1hSkxOeRomI+d+h3 VzeQSN+S1sKIu7CilG6HcI1ZLB47ujrjG6W1zZdCpz6BVfHFozWEimYHe8c4sQQJGMls 8tQ6QUaYmyJteF+u05tTh8Bma7XpfftaGC1MbFCxrsxKseA7wjQer71LLjqMbF9CLt/6 lNY29VL9uPl+5e1HKEOcrJHqS+/eEd7/pSj/F38OeeWQ040IjqmX9fmRfNhD52/Wfi1p t5/KKXi/wpTsG2SRX+PzWaBgq9avA9ceMOKLvBGCOb8rSL2nj5+UNdoNw1gV7540Xs5x gipA== 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=6RXQpPRbQTTxeiY0bTCAiDeWZKETpgWhHc52mmTE4dmNrc0ioppukOW24KjBKtdEX8 p/ZGEPIkYl7rRfJZNr4C84i6c78rpSbeJ0QJmQP0xozQBHmMHZMUwzP8ATxliGRSIDuR 6R2EvZDWbkPNxKjO5wYPAju2XpSygIHs3UJLihux14NepRYztWOdxRnfDhYWlkJVICju CHnRGyaw3JCtkc67G26TVJDg9L//hULIADzjpm4VT2kYxuJil1n4iK6LK/P3m+/g4xm8 Q06M0QycGoJuZUwaVn+ozcULVW9o10m7eDriftHW4xOJMTr9J+/NjNSQ0xPYgvILk9l7 cSyg== X-Gm-Message-State: AOAM533jHbaVCmrq3seT3QAnI99Xf0TrLh7W/c9SVgsfFnQhUitDZaFJ wT21v0dH+S0szzOS0H4GDuM7tXpr0ISmNgbA X-Google-Smtp-Source: ABdhPJxKKkbsLrao4gxPKAqjEfaa+3Y+OA19omCLV5vGQKxoNiz0+qOrcYILh2CCWyBOaXoPv4kKpw== X-Received: by 2002:ab0:6f8f:0:b0:35d:5045:46c4 with SMTP id f15-20020ab06f8f000000b0035d504546c4mr6974629uav.116.1652076236176; Sun, 08 May 2022 23:03:56 -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 t22-20020ac5c916000000b0034e6f1fd061sm1349130vkl.43.2022.05.08.23.03.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:03:55 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02: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 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 Mon May 9 06:02: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: 39180 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 7361E27BBEA; Mon, 9 May 2022 07:07:39 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 3927627BBE9 for ; Mon, 9 May 2022 07:07:38 +0100 (BST) Received: from localhost ([::1]:43740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwYT-0002RG-9b for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:07:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44994) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwVz-0001h6-HU for guix-patches@gnu.org; Mon, 09 May 2022 02:05:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33594) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwVz-0004o0-2Z for guix-patches@gnu.org; Mon, 09 May 2022 02:05:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwVy-0000xE-UW for guix-patches@gnu.org; Mon, 09 May 2022 02:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:05: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.16520762483557 (code B ref 55248); Mon, 09 May 2022 06:05:02 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:04:08 +0000 Received: from localhost ([127.0.0.1]:55715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwV5-0000vC-Nc for submit@debbugs.gnu.org; Mon, 09 May 2022 02:04:08 -0400 Received: from mail-vs1-f43.google.com ([209.85.217.43]:37437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwUy-0000sP-L6 for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:04:01 -0400 Received: by mail-vs1-f43.google.com with SMTP id t85so12826513vst.4 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:04:00 -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=uOuOd+Ed4WqIDgrkI6KRUDCnHW8O63JUGYZZc826TOU=; b=fj8tFi4uUoyeC9vGbuI5g5sFZ+foExG5mMds8okV8D3YIQR82J1sI1KQ0efKpv1xnT W1P621ebG4zQK/HuTZpMXmlN/e3oegLdbNRs0zUW0y7pY2NKS4OVt4Lb7pvNaLlTB1P7 BMgW8E+dJu1v4GgvEnRnKnwhVd3Wq1jGwXWxnYpeVnX7ARgljctj4QtMn49Ek9GoE3LB /3ZHK0gfAH53ZzG6kv6+WQC0z9m5StwZQVRnOAGPeK5YBx5r1SwDoxkhW+YYgiqwbeeN gzUd/lJk1269fz3XXToN0SzKML00gJwWhWL1OjC9iVR+XKbaOaofkOTZWH4VTCx65NYc maqA== 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=uOuOd+Ed4WqIDgrkI6KRUDCnHW8O63JUGYZZc826TOU=; b=4I1tijDRw1z6H+hhec5US3iROwx2vd+AIYmYegWX9iDZYN0mt4tUIhhJroVtshcoUi fo7kNpilnfxDZDGHgvWhYRgqT8Sb8SyD8Q1RHyEy+daMzNPrf0KAXySKqwLeMRzM1/mP E/duw9tM/8qFND+Ay9ZkFMwvJgayADzQ0gyNtJE2BQSeH7J+g+/8+Ho3QYHmhWwDB3GJ boWVMnDrX6kGpKInMmDGM8TAdGZHTX7Gf9zHWKNRfHHkV/9YOVclKAjcsLI6u4JQSbPE V7jSvStsXXKNLC6FRseF5+gmXWQrRLwnKfgH79f3MTW+5Ozmoe6i6Yedwvq7TaEZoSck egRg== X-Gm-Message-State: AOAM530ODFI6d/2nU/R+ukzenld26AkZDbwk2c/u9mY2M0hYvYXTGWFH bXAOdRGqKJaV0W/2ep8qULEfYcxeWKrfHDY7 X-Google-Smtp-Source: ABdhPJx8JEBE55d0vkzxR88SHUEg0hblWsHY+mivAGQbeUhmTiJeSztchNk9kHVcy+aCXwVqvVrqsQ== X-Received: by 2002:a67:ee90:0:b0:32a:6b7f:777c with SMTP id n16-20020a67ee90000000b0032a6b7f777cmr7149351vsp.83.1652076240268; Sun, 08 May 2022 23:04:00 -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 o8-20020ab06048000000b003605c1e61dfsm1891481ual.0.2022.05.08.23.03.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:04:00 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:49 -0400 Message-Id: <1328772b3ccb2d3909f8bca6fe14659e04434e3e.1652075689.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 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 8438945ba0..f010cf3aa4 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 Mon May 9 06:02: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: 39178 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 2FC4127BBEA; Mon, 9 May 2022 07:07:02 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 E744327BBE9 for ; Mon, 9 May 2022 07:07:01 +0100 (BST) Received: from localhost ([::1]:43326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnwXt-00027Z-0n for patchwork@mira.cbaines.net; Mon, 09 May 2022 02:07:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnwW0-0001h8-Oo for guix-patches@gnu.org; Mon, 09 May 2022 02:05:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33596) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnwW0-0004o6-2W for guix-patches@gnu.org; Mon, 09 May 2022 02:05:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nnwVz-0000xU-U6 for guix-patches@gnu.org; Mon, 09 May 2022 02:05:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55248] [PATCH v3 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: Mon, 09 May 2022 06:05: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.16520762513579 (code B ref 55248); Mon, 09 May 2022 06:05:03 +0000 Received: (at 55248) by debbugs.gnu.org; 9 May 2022 06:04:11 +0000 Received: from localhost ([127.0.0.1]:55720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwV8-0000ve-UJ for submit@debbugs.gnu.org; Mon, 09 May 2022 02:04:11 -0400 Received: from mail-vk1-f181.google.com ([209.85.221.181]:41959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnwV7-0000uz-MP for 55248@debbugs.gnu.org; Mon, 09 May 2022 02:04:09 -0400 Received: by mail-vk1-f181.google.com with SMTP id y27so6409265vkl.8 for <55248@debbugs.gnu.org>; Sun, 08 May 2022 23:04:09 -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=DAr97DAZFxKQ9sbiMh4wBnaBCrxoe2Zut8ZlOqSxV2145xfslSF/0m9csIMDYn/ID1 n4W5cztUqaK6mUm+tIFEAIFA2M2cGuJrzVCM21z4wUl5TUHGr96dcahLCnN3ItrLC3WB fLHJkNSZYTfE3mTOFFGkuIhetebhp9B4hAxtAZT4JaZ8LN0A8c38YfesUIhRWaIdPd7u PeQuG7jtl5kO6NNhMQ6lgJ/Tnx1IyuZF966tiLCoFLeMN9TVetNUVI5P9yDcfk5s9NGe hnl4fTlULIapmsu+1d8QMECy2mk1FPJeoVxiWgFX/5zukpU7MzfyxcD6M+GLDR4BX3gK wlHQ== 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=mX/4LLzSw9gZBS4dzPpnGNktMPR4LyLEPaYGQd8742ts3TypwhYRBmSFPL7YAKw/Z1 zBFcqoSkQMbhcSbA5dYRiDKmh+9lUraIph7fQJ49aFNfbk/0GJIxvpk1qJsCYFP8vlxA aqBat/U99IJHl9+9ViBRwmUCqTB4RTcV+ro3F/SPNYjhtXglBwLxKZ4OrfykJlO/rPyx UvSsRYfxWKpj5kGT3MYJ2btSNa3v9NqnRTjl8aPrcJBtDpVBpC7gq0ySM7QYeOzQp8WN 5GmWo0ixVGrzVI97yw4wOzq9osDaEejzJCj6rUrazYwepToBONBRlQ9oFZTyQda1Sc2U VbhQ== X-Gm-Message-State: AOAM530VkqvWRzHALwbyQsIVJFH2GtFG+yrkionTQU3Q+GC64P3itOWP T94SoL3Kd4a8tvkxuMfpgzpL7BeuhFsXZQvs X-Google-Smtp-Source: ABdhPJxsPPT80rxWbBtrqCIU8XuW/ArJygjLh7dR95AdV8ub6TdVVSZTiNDEG+Evu+2YFFc5S/hbWw== X-Received: by 2002:a05:6122:1354:b0:351:bed1:611d with SMTP id f20-20020a056122135400b00351bed1611dmr7550617vkp.26.1652076244313; Sun, 08 May 2022 23:04:04 -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 c15-20020a056122030f00b0034e98f6f2d8sm1344756vko.55.2022.05.08.23.04.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 May 2022 23:04:04 -0700 (PDT) From: Philip McGrath Date: Mon, 9 May 2022 02:02:50 -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 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))