From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: philip@philipmcgrath.com, guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Philip McGrath Received: via spool by submit@debbugs.gnu.org id=B.165993878210574 (code B ref -1); Mon, 08 Aug 2022 06:07:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Aug 2022 06:06:22 +0000 Received: from localhost ([127.0.0.1]:38905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvu9-0002kS-R9 for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:06:22 -0400 Received: from lists.gnu.org ([209.51.188.17]:37614) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvu8-0002kL-3x for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:06:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oKvu7-0002VV-Sp for guix-patches@gnu.org; Mon, 08 Aug 2022 02:06:19 -0400 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:37416) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oKvu6-0002ES-2D for guix-patches@gnu.org; Mon, 08 Aug 2022 02:06:19 -0400 Received: by mail-qk1-x734.google.com with SMTP id v14so242951qkf.4 for ; Sun, 07 Aug 2022 23:06:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc; bh=AyD0qEWtL9rWp+O9W+dIJB7Bzj3uG+hVDgEiLMvjZoU=; b=F5fUMpCc+85o1WSCVM48dMfuwtJIOBBmZsIdib7hIdizse14T4KBbTm45OPvXjkuof vKtsG8eGl1r1CH2/qxp2u4+/3DGLulrFG5BIMtz+44zXP3PqR2BCEO6nef4oD0lf+Cj5 gPfxuxi+1iNc9YOGdR3IZPtnAJbKS5IRWWBgUrY2sHDS6+opZ7K8B71Q6NPqJuTr3XpT K15R73LavIwEFRYhJdSmcc+ZKHibsD8IaVzVKQQq8nFGd1GihV/aneVb2TvUfBf/UMia ZYw+N9heErF4CuOY/AmbmP1GoNEGksyi6IMvfpkrmV7+I1/5WIx8LOI3HmN0fihjLhaE yqMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc; bh=AyD0qEWtL9rWp+O9W+dIJB7Bzj3uG+hVDgEiLMvjZoU=; b=azsHR434u9tms4YfNlkn0PV+HCJLBLkxo4G9nHEO10HPyjBA1Q44c57/ebNWW3SI6J QgsEusC3FaoImOJimHKWhtW+0Vgx3HIdYrLoqOzcvvLnPIk58V2H8Mmnn/LdpVs0Z7qg 8xVi6U0ce2HWtu2yGI8n4rneLQorJ7B6LATDNcSXa70Hi9dNcIRM+A6OIp3o9h9IgP5E +6+ekjvn7T4M6DAx2pc9DAK5kJwVT7SA9GPQgH9E3+Fl0mquK4TCMVzqM+aoK16tysOy OzacKtRvn8WnTeYNGN1c/SLf8Gc5uynGnbDWaZIPzR57L1+f34LAT9kNCDasuJk0Nsys XqnA== X-Gm-Message-State: ACgBeo1kcGpsjEgcjU2AWbrJQe1/5NiH8kedGf8FyhnKekYZVAGC9cxq Hs8WV24lW2SkXtowjGHV6/RzoSgfectTE1EM X-Google-Smtp-Source: AA6agR7nzopbD5ZmXwZfgmIMnXD8AmdxhLdQNDsCnN8XYB35xPoqLS2uzHcUAg10Ujv6XqsrNeIVWA== X-Received: by 2002:a05:620a:4724:b0:6b8:c82f:74d9 with SMTP id bs36-20020a05620a472400b006b8c82f74d9mr12968862qkb.455.1659938775462; Sun, 07 Aug 2022 23:06:15 -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 x15-20020ac8538f000000b00342fa1f4a10sm1363758qtp.61.2022.08.07.23.06.14 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:06:15 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:06:14 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: permerror client-ip=2607:f8b0:4864:20::734; envelope-from=philip@philipmcgrath.com; helo=mail-qk1-x734.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Hi, This patch series contains the Racket 8.6 release, including updating Racket's variant of Chez Scheme and adding a package for Zuo, the new tiny Racket-like language used for build scripts starting with this release. (If you've been waiting for the release announcement, this cycle upstream is delaying sending it until the new Racket has finished rebuilding all of , which can take a few days---but the release itself is live at already, and I've been told distribution packagers should update now.) As I mentioned on the mailing list in [1], this release lets us use Racket CS and Racket's variant of Chez Scheme on all systems, even those for which the compiler can not yet generate native code, such as powerpc64le-linux and riscv64-linux. (See the relevant patches for more details.) In particular, this means that we can now provide some Chez Scheme package for every system Guix supports. Additionally, I resolved the issues I mentioned in [1] with i586-pc-gnu by getting getting native code generation for the Hurd working in Racket's Chez, and I've cherry-picked those patches in this series. -Philip [1]: https://lists.gnu.org/archive/html/help-guix/2022-08/msg00018.html Philip McGrath (6): gnu: stex: Update to 1.2.2-2.afa6075. gnu: stex: Fix read-only gifs and math directories. gnu: chez-scheme: Fix use of "/bin/sh". gnu: Update Racket to 8.6. Add Zuo. gnu: racket: Use Racket CS on all systems. gnu: chez-scheme-for-racket: Suport all systems. gnu/local.mk | 10 +- gnu/packages/chez.scm | 218 +++++-- gnu/packages/patches/chez-scheme-bin-sh.patch | 66 ++ .../racket-backport-8.6-cross-install.patch | 32 + .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 66 ++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 72 +++ .../stex-copy-from-immutable-store.patch | 41 ++ gnu/packages/racket.scm | 231 ++++--- 12 files changed, 1760 insertions(+), 130 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (79%) create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch base-commit: f0ae9da3210cc6d87ca519545203daf9751f3465 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 1/6] gnu: stex: Update to 1.2.2-2.afa6075. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993902711035 (code B ref 57050); Mon, 08 Aug 2022 06:11:02 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:27 +0000 Received: from localhost ([127.0.0.1]:38929 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvy6-0002rv-Nw for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:27 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:43570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvy4-0002rY-GR for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:25 -0400 Received: by mail-qt1-f170.google.com with SMTP id a4so1091851qto.10 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=DX+IUpfn/NtgrgYN8+C1oB3ixA2hPDwE0cymrEltp6ILgWvIOsc61h1pqx+SqXkURV iBXhzs4Hebh6rQy5HnHZyxD/6IYbYx5bMZ+8E0MEiQXpbdxuQ1EN+tPvLC0o/Lbzgqty Df+oxSzM+LNfUfp/Ko4Ti0j7Id5ddLpFMeoLP45GKPoNAFPPSzMmP7XqMKr4s2ayMuYs h3wN9hbXYwWHvSQu0SqCCjwBFo1tG8xJxrv9m3oATxSIBXX8f42r5HNwrqAHl5Eorpcp MMM3ffcCXKOdLpPSr1HrBGMA/lOmcPePppazvUAawfZTxpxs06UByjy7ItYTd2LVwbqR oR1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=EcjvcpS7Sf4bHe0T0ZiEkfjk9Fo6lcrnRchkvjyChqpLF9AQw5CHhPqxg9b/bT2jgu MS/7DnAjjrrCJ6TsHbJRpPje3GsAURMxXusty/v7DAWvqsZAbUJoJS98OCFL3+ftlFLn KgoM5937mhalAkYUoxXT429QMvxC1o8yfQM3ZdDEGXIZhev50LKH6Tdz5Q3WB0bWxiQF 8k95/ZmWWIwOROkpno5aDdjuROQ4BpsORgBQzCZlBrf2g1Rz8VrMnScFO+r3BNfHtOH5 xhY6wfSRU0+2xPDqn7KUMrzKtrsDUXfz0Zw4kBdNIE0rvGnZ5+gRyU7jPV8npAia45lF QEVQ== X-Gm-Message-State: ACgBeo2rn5oa/An7au2YstghxSfZQqNEzXYIEEROdeKdZed4DJMT6NbO 20xjJ17TdpyLYJQKlLj7dH1O7ehEKN43DfmB X-Google-Smtp-Source: AA6agR6oBQFlHijyqhas7RV02YPbXVE+r0llqQkK867WmvL5ekkby+GD6HMphNl3uGr6b/Zvn5VTmw== X-Received: by 2002:ac8:5a02:0:b0:31f:3761:9dda with SMTP id n2-20020ac85a02000000b0031f37619ddamr14769947qta.158.1659939018847; Sun, 07 Aug 2022 23:10:18 -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 w12-20020a05620a444c00b006af10bd3635sm9151999qkp.57.2022.08.07.23.10.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:18 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:02 -0400 Message-Id: <589dad1228cdf770746dd451e1531fc942867c6f.1659936550.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (stex-bootstrap): Update to 1.2.2-2.afa6075. --- gnu/packages/chez.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b037efe8d4..043f2ae47a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -594,8 +594,8 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. - (let ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") - (revision "1")) + (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") + (revision "2")) (hidden-package (package (name "stex") @@ -611,7 +611,7 @@ (define-public stex-bootstrap (url "https://github.com/dybvig/stex") (commit commit))) (sha256 - (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d")) + (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) (snippet #~(for-each delete-file -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 2/6] gnu: stex: Fix read-only gifs and math directories. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993903111053 (code B ref 57050); Mon, 08 Aug 2022 06:11:02 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:31 +0000 Received: from localhost ([127.0.0.1]:38932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyB-0002sD-3F for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:31 -0400 Received: from mail-qk1-f179.google.com ([209.85.222.179]:42516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvy9-0002rm-Mu for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:30 -0400 Received: by mail-qk1-f179.google.com with SMTP id o1so5771307qkg.9 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=1w0XFErZb+3ZZ4FYstzgkYHHV/b0yMlZZXWqzhsmXx4=; b=SeV8xuAhgVSX7DFylIkBn0W/Y/6BdMb2jMHfZ7bvLPNEF0XgYzWvjS84YaNS7YbXvG OQ05XH0wtG3FQ/XuqTqJDHjXd6/NgRazTuxa/QniXPvLO4IiKO/YwyKIyruFs2v2zSfe EGyxJBYMXdDZCMKiCd1WqHFGc8ExzFOozcS90KCbJGbzz81RCGLfWyM21cqwjQBT3BI0 6FQzgRnO0h/9cnLHzIeEx6l4vYnVFln9s0YnTAJ9cHGUPtIKunnF3x1Au6aRNXz/q6oL HHw7E2MZQhPu+DLKpkZRdXwG+bIM9qZLMLfGPkktOuyMUa5ZSRl8xjTAr6f/Ln6e6wUt wTWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=1w0XFErZb+3ZZ4FYstzgkYHHV/b0yMlZZXWqzhsmXx4=; b=CYPw275TsQm5G43p5N+ooVrcIvWJvoRgmTLDlv+vQJ2aCs39Y3g+1XzaBs9zA4nqJ+ +JeG3WvsTdfg8xcHi2CdGS/8SvApwbJ4T9rEHl/t0bZQw9IKeShwgzr2u/uZLv+S03Kn SP98PiIVSkRzj9hm/bKtHkcHJjjQtKdIip7/QjLvNvF1a2LlvRG7Xm2gAi2YbcSY6Rmw tauTJlGJ3DVL8A4fsuuRv1bc8JA85t0ckn0kQTfMxDbXDDHvgHNP2/JpSMenZkL9m1Kv 1nUYlU+a3M4WqVq65b/sEslCO5vdIq0XalVIxdiYSomocD72NfI6yPacVbjkKqPecRE1 vgSQ== X-Gm-Message-State: ACgBeo3ru1Mhwl1beNCRQteUqozo/63Oh7VWfaVH3WpfYD+hXXJfRVEV JUk587jezNzT7TOaM/v/2sCxlJAomBxz71xW X-Google-Smtp-Source: AA6agR56bbqUaLpuvuXiCJbETQBGIqe5DnYYTTOKztJppnncombPVU8Rh72rjktbaDsl9Ad6naTxgQ== X-Received: by 2002:ae9:f805:0:b0:6b8:e67d:475e with SMTP id x5-20020ae9f805000000b006b8e67d475emr12602328qkh.745.1659939024055; Sun, 07 Aug 2022 23:10:24 -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 m20-20020a05620a24d400b006a787380a5csm9251066qkn.67.2022.08.07.23.10.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:23 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:03 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Excplicitly set the user write bit when initializing the gifs or math directories from the skeletons installed in the store. See also upstream discussion at . This problem would be exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it. [version]: Increment revision to 1.2.2-3.afa6075. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 5 ++- .../stex-copy-from-immutable-store.patch | 41 +++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch diff --git a/gnu/local.mk b/gnu/local.mk index a837d16e34..234f21ad33 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1822,6 +1822,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ + %D%/packages/patches/stex-copy-from-immutable-store.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 043f2ae47a..4c253effa0 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -595,7 +595,7 @@ (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") - (revision "2")) + (revision "3")) (hidden-package (package (name "stex") @@ -613,6 +613,9 @@ (define-public stex-bootstrap (sha256 (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) + (patches + ;; submitted upstream in https://github.com/dybvig/stex/pull/6 + (search-patches "stex-copy-from-immutable-store.patch")) (snippet #~(for-each delete-file '("sbin/install" "doc/stex.pdf" "doc/stex.html"))))) diff --git a/gnu/packages/patches/stex-copy-from-immutable-store.patch b/gnu/packages/patches/stex-copy-from-immutable-store.patch new file mode 100644 index 0000000000..4562e431c1 --- /dev/null +++ b/gnu/packages/patches/stex-copy-from-immutable-store.patch @@ -0,0 +1,41 @@ +From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 28 Apr 2022 22:56:20 -0400 +Subject: [PATCH] fix read-only gifs and math directories + +An installed copy of stex might have all write permission bits removed, +even for the owner of the installed files: this is the case with Guix +package of stex, for example. If such an installation is used to +initialize the gifs or math directories (e.g. for an out-of-source +build), tar likewise creates them without write permissions, preventing +subdirectories from being created later. Set the user write bit +explicitly to avoid this problem. + Mf-stex + +Related to https://github.com/racket/racket/pull/4203 +--- + +Submitted upstream in https://github.com/dybvig/stex/pull/6 + + Mf-stex | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Mf-stex b/Mf-stex +index 09ec6f3..11fb214 100644 +--- a/Mf-stex ++++ b/Mf-stex +@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles) + + gifs: + (cd $(STEXLIB); tar -cf - gifs) | tar -xpf - ++ chmod u+w gifs + + math: + (cd $(STEXLIB); tar -cf - math) | tar -xpf - ++ chmod u+w math + + $(mathfiles): $(x).hthirdrun $(figps) + echo -n gifs= > $(mathfiles) +-- +2.32.0 + -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993903711073 (code B ref 57050); Mon, 08 Aug 2022 06:11:03 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:37 +0000 Received: from localhost ([127.0.0.1]:38935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyG-0002sV-Jk for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:37 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:38412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyE-0002s5-9a for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:35 -0400 Received: by mail-qt1-f170.google.com with SMTP id z3so5825691qtv.5 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=DtZfqtIsJ2MblxYqADhd/qvG/+8w4KiA6L+Lj97pd8A=; b=CcdhslzqYH9EYkHy/xOABk6yPsV1PjtPjv9X43fe7G3zUAz82WZgvuhQswgqSKW5n2 MfdwE5kXrmpFJjwJHXkl8LAFAas6c5yEvEVp1MAFuyn1+KooJIS02KY4EmKbZG/Vs1sb 8iAp7AVYyDsxBeGO5yy0PA6BBmVRK/ihwfIoJAUUDB8uNlNAwB+SKHlB1HJm7bcm4eE5 RqOXN07g77QCmPKX00ziw1zxO1WiEwKZmKv6FH/iScvKFY1UWgP1OyD7Gp8HUc2/27Ks 45gqroazeEPbcL3BEy9qdebJjbxRTmUk6RYGAKLKgeCz2TwG99CImiQPEWIB37DgHAMu wAUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=DtZfqtIsJ2MblxYqADhd/qvG/+8w4KiA6L+Lj97pd8A=; b=Ccik/S5M7u2ISfRsz9sn4pKQGzhavimtvkYQbp2hvY+lJcV86dIMuLuGxSFRN0JU3e XZR+1IpUKGZmUq8meTPh4Z/PPXILt3v5IMuEg9OafRjNMM8LCIQ+es45qZ2pqp7+nc4y 193OBscAT2lWKpHLcHUkI06vMLyh2B+bQza/csBiG4V+opoCURiMX9d3AcJzufxALoH9 bWKdhVWfvj/l67+uO6s7WtNSOvKro+8wmqSxwsrGNYhzvk8FtiR3prYboKbvvora0MF1 aElfEqF63eQ5rNyfL6qyaNGyKV+qZiDBcbR3SSlGNI7q3mQFawf/mGy0HvG441MqSv7R Z2HQ== X-Gm-Message-State: ACgBeo1ICfHwlmPFVB8Jq9e105LmXaajo4z4xk1ISrcIlTB88WWYYdlf 0NHxajzoesT2MYq0oPqMKqhKYoNWOSTM7/ch X-Google-Smtp-Source: AA6agR6IJDxRhkqCVhwhHv3aDbbJHmXlsfR4DemyV/JlyCEAcd454HBryiVIiApMNLqNTugPER6tew== X-Received: by 2002:ac8:7318:0:b0:342:f5bf:2093 with SMTP id x24-20020ac87318000000b00342f5bf2093mr5012607qto.235.1659939028128; Sun, 07 Aug 2022 23:10:28 -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 u17-20020a05622a011100b003051ea4e7f6sm7642771qtw.48.2022.08.07.23.10.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:27 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:04 -0400 Message-Id: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process' function seems to have caused parts of the Chez Scheme test suite to have been silently skipped. The issue was exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/chez-scheme-bin-sh.patch, gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches. * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ... * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, refresh with upstream, and shorten the macro name. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. (racket-vm-common-configure-flags): Likewise. * gnu/packages/chez.scm (chez-scheme)[origin]: Likewise. [inputs]: Add bash-minimal. [arguments]<#:configure-flags>: Set CPPFLAGS to enable new patches. --- gnu/local.mk | 4 +- gnu/packages/chez.scm | 5 ++ gnu/packages/patches/chez-scheme-bin-sh.patch | 66 +++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 66 +++++++++++++++++++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 ++++---- gnu/packages/racket.scm | 5 +- 6 files changed, 158 insertions(+), 16 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (79%) diff --git a/gnu/local.mk b/gnu/local.mk index 234f21ad33..e827feed36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -940,6 +940,7 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-rocksdb-compat.patch \ %D%/packages/patches/cheese-vala-update.patch \ + %D%/packages/patches/chez-scheme-bin-sh.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ @@ -1769,7 +1770,8 @@ 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-minimal-sh-via-rktio.patch \ + %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ + %D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 4c253effa0..66098c7a24 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -34,6 +34,7 @@ (define-module (gnu packages chez) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system copy) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) @@ -269,6 +270,7 @@ (define-public chez-scheme (base32 "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) (file-name (git-file-name name version)) + (patches (search-patches "chez-scheme-bin-sh.patch")) (snippet #~(begin (use-modules (guix build utils)) ;; TODO: consider putting this in a (guix ...) or @@ -287,6 +289,7 @@ (define-public chez-scheme `(,util-linux "lib") ;<-- libuuid zlib lz4 + bash-minimal ;<-- for process ncurses ;<-- for expeditor ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 @@ -313,6 +316,8 @@ (define-public chez-scheme (cut memq 'threads <>)) #~("--threads") #~()) + ,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" + #$(file-append bash-minimal "/bin/sh")) "ZLIB=-lz" "LZ4=-llz4" "--libkernel" diff --git a/gnu/packages/patches/chez-scheme-bin-sh.patch b/gnu/packages/patches/chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..e6228e3264 --- /dev/null +++ b/gnu/packages/patches/chez-scheme-bin-sh.patch @@ -0,0 +1,66 @@ +From c170f0f3a326f293ee1f460a70303382966ca41b Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] patch s_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `s_process` will call `execl` with the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + c/prim5.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/c/prim5.c b/c/prim5.c +index 5a07893..926d68d 100644 +--- a/c/prim5.c ++++ b/c/prim5.c +@@ -746,6 +746,22 @@ static ptr s_process(char *s, IBOOL stderrp) { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf)) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) ++ : "/bin/sh"; ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#else /* GUIX_RKTIO_BIN_SH */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -771,7 +787,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9df56e7b25bc523663eac3da24be33afc5f76c84 +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..df2eb671b3 --- /dev/null +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -0,0 +1,66 @@ +From 5f3fc12bf123f30485800960b0493f5dd538d107 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `s_process` will call `execl` with the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + racket/src/ChezScheme/c/prim5.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index f5e3e345be..9db2989138 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -856,6 +856,22 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf)) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) ++ : "/bin/sh"; ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#else /* GUIX_RKTIO_BIN_SH */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -881,7 +897,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch b/gnu/packages/patches/racket-rktio-bin-sh.patch similarity index 79% rename from gnu/packages/patches/racket-minimal-sh-via-rktio.patch rename to gnu/packages/patches/racket-rktio-bin-sh.patch index 6bc2ee8331..4f7f2da083 100644 --- a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch +++ b/gnu/packages/patches/racket-rktio-bin-sh.patch @@ -1,7 +1,7 @@ -From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001 +From 070abbcc0d880ca4f97f997e096ac66650ccaaa0 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 4 Mar 2021 04:11:50 -0500 -Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix +Subject: [PATCH] rktio: patch rktio_process for "/bin/sh" on Guix Racket provides the functions `system` and `process`, which execute shell commands using `sh` (or `cmd` on Windows). @@ -13,17 +13,17 @@ the C function that implements the core of `system`, `process`, and related Racket functions. Guix should enable the special case by defining the C preprocessor -macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store. +macro `GUIX_RKTIO_BIN_SH` with the path to `sh` in the store. If: - 1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and 2. `rktio_process` is called with the exact path "/bin/sh"; and - 3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists; + 3. The file specified by `GUIX_RKTIO_BIN_SH` exists; then `rktio_process` will execute the file specified -by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh". +by `GUIX_RKTIO_BIN_SH` instead of "/bin/sh". Compared to previous attempts to patch the Racket sources, making this change at the C level is both: @@ -39,10 +39,10 @@ making this change at the C level is both: 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c -index 89202436c0..465ebdd5c5 100644 +index fafaf728c1..0a319b381a 100644 --- a/racket/src/rktio/rktio_process.c +++ b/racket/src/rktio/rktio_process.c -@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) +@@ -1301,12 +1301,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) /*========================================================================*/ rktio_process_result_t *rktio_process(rktio_t *rktio, @@ -58,19 +58,19 @@ index 89202436c0..465ebdd5c5 100644 rktio_process_result_t *result; intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2]; int pid; -@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, +@@ -1333,6 +1335,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, int i; #endif +/* BEGIN PATCH for Guix */ -+#if defined(GUIX_RKTIO_PATCH_BIN_SH) ++#if defined(GUIX_RKTIO_BIN_SH) +# define GUIX_AS_a_STR_HELPER(x) #x +# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) + /* A level of indirection makes `#` work as needed: */ + command = + ((0 == strcmp(_guix_orig_command, "/bin/sh")) -+ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH))) -+ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH) ++ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH))) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) + : _guix_orig_command; +# undef GUIX_AS_a_STR +# undef GUIX_AS_a_STR_HELPER @@ -82,6 +82,8 @@ index 89202436c0..465ebdd5c5 100644 /* avoid compiler warnings: */ to_subprocess[0] = -1; to_subprocess[1] = -1; + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f -- -2.21.1 (Apple Git-122.3) +2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 3399bcc3fe..cddb617232 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -212,7 +212,8 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-minimal-sh-via-rktio.patch")) + (patches (search-patches "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -248,7 +249,7 @@ (define (racket-vm-common-configure-flags) (list (string-append "--enable-racket=" racket)))) (else '())) - ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" + ,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" #$(file-append bash-minimal "/bin/sh")) "--disable-strip" ;; Using --enable-origtree lets us distinguish the VM from subsequent -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993904711107 (code B ref 57050); Mon, 08 Aug 2022 06:11:03 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:47 +0000 Received: from localhost ([127.0.0.1]:38939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyN-0002sv-He for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:47 -0400 Received: from mail-qv1-f52.google.com ([209.85.219.52]:40555) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyI-0002sM-RR for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:42 -0400 Received: by mail-qv1-f52.google.com with SMTP id i4so5730258qvv.7 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=gNi1IqD0nPZCI+0SHmP2x3XxRAP9TB2Zk8w7H7c7mxA=; b=PpeAX40DJKP2r8cRzvesUhwBuBfPyH6VsktlVxIwp1zCUKQUQYiXwadT7PgnqQ2HyA gSSAzV+6m1IXAr7f2Ah94TGrA29VI/04FCr4vswVKtRRscOY/fwsXmXugv3qGSsbzjDK opyK+oCOK/jUp8RMORZumT8jbVrDq05UzMKqBgGiHUX6F9KSUjeJ18igpxpRvRttuafx 6l+TX71TPXU6iIwQMvQGUNpvBp0SRXCajzX3w6Xy1HK8+eBbaLkf++fM5B23G3awYkB0 Ul9BYngdG6Bzchf0Cl0LLihDTY6gdLl7slbwFUzzJf4gVncMY4VknszkslcLF+nEa8n3 2X4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=gNi1IqD0nPZCI+0SHmP2x3XxRAP9TB2Zk8w7H7c7mxA=; b=PsUdwMVtpkGF/Oe55KkDpt3X+cngTxxHgZSyV3AuAFa9W9HtVx91tuP4XNgBBq0kKt xeD+1Am6022/yzp7gWf0eRrpDHpognYsv/cyxA6w63jzPkFP57u+/bnxz+u+f6QBwFW3 8RDAU2BjW7hFvCVGurUvW9+kTd+/HCrqxYK04/LodA8hgKoZpAkkb0dcmuhsZwdXyhjS zDC6o2Z6h/5PDd1WliGl3BHEUW3jUYcAXVPXWtEiXlCewrSMaVs1bUTasPR4LnHQBqbD /ebZoYedIiGDv6ybPqCq2GFFHStbwdvXjACmfsGg8qX9X5q+tobjro7R+wVmNf+lbe4A Egrg== X-Gm-Message-State: ACgBeo0YKecjtpOZvD6G56uIfjfMOV6+EFQbGCTJ7mn1AqyjPOP4L2IS mpoQU/HuXrd27W/kKJ65i4t4zqMOIrKxnvhH X-Google-Smtp-Source: AA6agR4zkPn9p0u4E+tIMqjEnu6iT//cU32xWUJ6XwC8ASjULayQbZiJqNndwMsYZQt3SiIzxnvg9Q== X-Received: by 2002:a0c:a889:0:b0:473:d709:8753 with SMTP id x9-20020a0ca889000000b00473d7098753mr14839687qva.16.1659939032145; Sun, 07 Aug 2022 23:10:32 -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 j10-20020a37ef0a000000b006b8e049cf08sm1696315qkk.2.2022.08.07.23.10.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:31 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:05 -0400 Message-Id: <0d47e0372925c83fb72ff37c0f00c8196327c636.1659936550.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Also, update 'chez-scheme-for-racket' to 9.5.9.2. These packages must be updated together because they are built from the same origin. In particular, Zuo was added after the Racket 8.5 release and is needed to build this release. * gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch. * gnu/packages/patches/racket-backport-8.6-cross-install.patch, gnu/packages/patches/racket-backport-8.6-docindex-write.patch, gnu/packages/patches/racket-backport-8.6-hurd.patch, gnu/packages/patches/racket-backport-8.6-zuo.patch, gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Use them. (%racket-version): Update to 8.6. (%zuo-version): New variable. (zuo): New package. (racket-vm-cgc)[native-inputs]: Add 'zuo'. [arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'. (racket)[inputs]: Update checksums. * gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX. (%chez-features-table): Likewise. (chez-scheme-for-racket): Update to 9.5.9.2. [native-inputs]: Add 'zuo'. [arguments]<#:out-of-source?>: Use out-of-source build. <#:tests?>: Skip them due to ongoing problems. <#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='. <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here, rather than in a phase. <#:phases>: Replace 'install-docs' using new 'make' target. --- gnu/local.mk | 5 + gnu/packages/chez.scm | 52 +- .../racket-backport-8.6-cross-install.patch | 32 + .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 16 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 72 +++ gnu/packages/racket.scm | 159 +++-- 9 files changed, 1403 insertions(+), 59 deletions(-) create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index e827feed36..a3f2564d44 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1770,8 +1770,13 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-backport-8.6-cross-install.patch \ + %D%/packages/patches/racket-backport-8.6-docindex-write.patch \ + %D%/packages/patches/racket-backport-8.6-hurd.patch \ + %D%/packages/patches/racket-backport-8.6-zuo.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ + %D%/packages/patches/racket-zuo-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 66098c7a24..dde2c22ca5 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -116,7 +116,7 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ((target-linux? system) "le") ((target-hurd? system) - #f) + "gnu") ((target-mingw? system) "nt") ;; missing (guix utils) predicates @@ -132,6 +132,8 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ;; Nix says "x86_64-solaris", but accommodate "-solaris2" ((string-contains system "solaris") "s2") + ((string-suffix? "-qnx" system) + "qnx") ;; unknown (else #f))) @@ -168,6 +170,9 @@ (define %chez-features-table ("arm32" bootstrap-bootfiles) ("arm64" . #f) ("ppc32" threads)) + ;; Hurd + ("gnu" + ("i3" . #f)) ;; FreeBSD ("fb" ("i3" threads) ;; commented out @@ -193,6 +198,9 @@ (define %chez-features-table ("s2" ("i3" threads) ;; commented out ("a6" threads)) ;; commented out + ;; QNX + ("qnx" + ("i3" . #f)) ;; Windows ("nt" ("i3" threads bootstrap-bootfiles) @@ -437,7 +445,7 @@ (define-public chez-scheme-for-racket (package (inherit chez-scheme) (name "chez-scheme-for-racket") - (version "9.5.7.6") + (version "9.5.9.2") ;; 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! @@ -448,18 +456,52 @@ (define-public chez-scheme-for-racket (delete "libx11" "util-linux:lib"))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) + (append zuo) (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) + ((#:out-of-source? _ #f) + #t) + ((#:tests? _ #t) + ;; FIXME: There have been some flaky test failures. Some have been + ;; fixed upstream post-release but have proven non-trivial to + ;; backport; at least one issue remains. Re-enable tests once + ;; https://github.com/racket/racket/issues/4359 is fixed. + #f) ((#:configure-flags cfg-flags #~'()) - #~(cons* "--disable-x11" - "--threads" ;; ok to potentially duplicate - #$cfg-flags)) + #~`("--disable-x11" + "--threads" ;; ok to potentially duplicate + ,@(let* ((chez+version (strip-store-file-name #$output)) + (doc-prefix (assoc-ref %outputs "doc")) + (doc-dir (string-append doc-prefix + "/share/doc/" + chez+version))) + (list (string-append "--installcsug=" + doc-dir + "/csug") + (string-append "--installreleasenotes=" + doc-dir + "/release_notes"))) + ,@#$cfg-flags)) + ((#:make-flags mk-flags #~'()) + #~(cons* (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo") + (string-append "STEXLIB=" + #+(this-package-native-input "stex") + "/lib/stex") + #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) (unpack (assoc-ref those-phases 'unpack))) (modify-phases those-phases + (replace 'install-docs + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke + "make" + "install-docs" + make-flags))) (replace 'unpack (lambda args (unpack #:source #$(or (package-source this-package) diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch new file mode 100644 index 0000000000..4f7849ecc6 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -0,0 +1,32 @@ +From 585215c5c42f7ee0fee05e6a637ab1bc17f5e8e0 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 30 Jul 2022 07:06:55 -0600 +Subject: [PATCH] CS makefiles: fix Unix-style install for cross compilation + +Closes #4377 + +(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5) +--- + racket/src/cs/c/build.zuo | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo +index 8d3950bb27..d8b74c509d 100644 +--- a/racket/src/cs/c/build.zuo ++++ b/racket/src/cs/c/build.zuo +@@ -1016,10 +1016,9 @@ + (define (setup) + (call-with-dest-racket + (lambda (bindir dest-racket) +- (define copytree-racket (and cross? (config-bootstrap-racket))) ++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket))) + (maybe-copytree config dest-racket copytree-racket at-dir) +- (run-raco-setup config dest-racket +- (and cross? (hash-ref (config-bootstrap-racket) 'racket)) ++ (run-raco-setup config dest-racket copytree-racket + ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`, + ;; but redundant should be ok: + (list "-MCR" (~a (at-dir "compiled") ":") +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch new file mode 100644 index 0000000000..abe1984507 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch @@ -0,0 +1,36 @@ +From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sun, 17 Jul 2022 22:51:44 -0400 +Subject: [PATCH] racket-index: set write permission when copying + `docindex.sqlite` + +Fixes https://github.com/racket/racket/issues/4357 + +(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2) +--- + pkgs/racket-index/setup/scribble.rkt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt +index 6694f0b793..e27a8fa348 100644 +--- a/pkgs/racket-index/setup/scribble.rkt ++++ b/pkgs/racket-index/setup/scribble.rkt +@@ -252,7 +252,14 @@ + (unless (file-exists? db-file) + (define-values (base name dir?) (split-path db-file)) + (make-directory* base) +- (when copy-from (copy-file copy-from db-file)) ++ (when copy-from ++ (copy-file copy-from db-file) ++ ;; we might not have write permissions for the previous layer: ++ ;; ensure that we do for the new file ++ (define orig-mode (file-or-directory-permissions db-file 'bits)) ++ (define writeable-mode (bitwise-ior user-write-bit orig-mode)) ++ (unless (= writeable-mode orig-mode) ++ (file-or-directory-permissions db-file writeable-mode))) + (doc-db-disconnect + (doc-db-file->connection db-file #t)))) + (when (or (ormap can-build*? main-docs) +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch new file mode 100644 index 0000000000..d593b01e62 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-hurd.patch @@ -0,0 +1,609 @@ +From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 3 Aug 2022 03:13:03 -0400 +Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd + +Mostly GNU/Hurd should take the same options as GNU/Linux. One +difference is that the Hurd does not define macros such as `PATH_MAX` or +`NOFILE`, because it avoids imposing arbitrary limits on such resources. +This patch provides alternatives for localized uses of those constants, +but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for +now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html. + +(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085) +--- + racket/src/ChezScheme/README.md | 1 + + racket/src/ChezScheme/c/number.c | 22 +++++++++---------- + racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++-- + racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------ + racket/src/ChezScheme/c/version.h | 7 ++++-- + racket/src/ChezScheme/configure | 17 ++++++++++----- + racket/src/ChezScheme/s/cmacros.ss | 1 + + racket/src/cs/c/configure | 14 ++++++++++-- + racket/src/cs/c/configure.ac | 14 ++++++++++-- + racket/src/cs/rumble/system.ss | 3 +++ + 10 files changed, 109 insertions(+), 39 deletions(-) + +diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md +index a4a11a5eef..25231dd9bb 100644 +--- a/racket/src/ChezScheme/README.md ++++ b/racket/src/ChezScheme/README.md +@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others): + * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * Solaris: x86, x86_64 ++ * GNU/Hurd: x86 + * Android: ARMv7, AArch64 + * iOS: AArch64 + * WebAssembly via Emscripten (bytecode interpreter only) +diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c +index ede38cc626..e2bce0d2d3 100644 +--- a/racket/src/ChezScheme/c/number.c ++++ b/racket/src/ChezScheme/c/number.c +@@ -1041,15 +1041,15 @@ floating-point operations + + #ifdef IEEE_DOUBLE + /* exponent stored + 1024, hidden bit to left of decimal point */ +-#define bias 1023 +-#define bitstoright 52 +-#define m1mask 0xf +-#ifdef WIN32 +-#define hidden_bit 0x10000000000000 +-#else +-#define hidden_bit 0x10000000000000ULL +-#endif +-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE ++# define bias 1023 ++# define bitstoright 52 ++# define m1mask 0xf ++# ifdef WIN32 ++# define hidden_bit 0x10000000000000 ++# else ++# define hidden_bit 0x10000000000000ULL ++# endif ++# ifdef LITTLE_ENDIAN_IEEE_DOUBLE + struct dblflt { + UINT m4: 16; + UINT m3: 16; +@@ -1058,7 +1058,7 @@ struct dblflt { + UINT e: 11; + UINT sign: 1; + }; +-#else ++# else + struct dblflt { + UINT sign: 1; + UINT e: 11; +@@ -1067,7 +1067,7 @@ struct dblflt { + UINT m3: 16; + UINT m4: 16; + }; +-#endif ++# endif + #endif + + double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) { +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index 124d1e049c..82bbf8d687 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -23,6 +23,10 @@ + #include + #include + ++#if defined(__GNU__) /* Hurd */ ++#include ++#endif ++ + /* locally defined functions */ + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn); + static ptr s_system(const char *s); + static ptr s_process(char *s, IBOOL stderrp); + static I32 s_chdir(const char *inpath); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + static char *s_getwd(void); + #endif + static ptr s_set_code_byte(ptr p, ptr n, ptr x); +@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(0); if (dup(tofds[0]) != 0) _exit(1); + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); ++#ifndef __GNU__ /* Hurd */ + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} ++#else /* __GNU__ Hurd: no NOFILE */ ++ { ++ INT i; ++ struct rlimit rlim; ++ getrlimit(RLIMIT_NOFILE, &rlim); ++ for (i = 3; i < rlim.rlim_cur; i++) { ++ (void)CLOSE(i); ++ } ++ } ++#endif /* __GNU__ Hurd */ + execl("/bin/sh", "/bin/sh", "-c", s, NULL); + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ +@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) { + static char *s_getwd() { + return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0))); + } ++#elif defined(__GNU__) /* Hurd: no PATH_MAX */ ++static char *s_getwd() { ++ char *path; ++ size_t len; ++ ptr bv; ++ path = getcwd(NULL, 0); ++ if (NULL == path) { ++ return NULL; ++ } else { ++ len = strlen(path); ++ bv = S_bytevector(len); ++ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len); ++ free(path); ++ return TO_VOIDP(&BVIT(bv, 0)); ++ } ++} + #endif /* GETWD */ + + static ptr s_set_code_byte(ptr p, ptr n, ptr x) { +@@ -1817,7 +1848,7 @@ void S_prim5_init(void) { + Sforeign_symbol("(cs)s_rational", (void *)S_rational); + Sforeign_symbol("(cs)sub", (void *)S_sub); + Sforeign_symbol("(cs)rem", (void *)S_rem); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + Sforeign_symbol("(cs)s_getwd", (void *)s_getwd); + #endif + Sforeign_symbol("(cs)s_chdir", (void *)s_chdir); +diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c +index ed5564540b..0c40e3eaf0 100644 +--- a/racket/src/ChezScheme/c/scheme.c ++++ b/racket/src/ChezScheme/c/scheme.c +@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char + static const char *path_last(const char *path); + static char *get_defaultheapdirs(void); + ++#ifdef PATH_MAX ++# define BOOT_PATH_MAX PATH_MAX ++#else /* hack for Hurd: better to remove the restriction */ ++# define BOOT_PATH_MAX 4096 ++#endif ++ + static const char *path_last(const char *p) { + const char *s; + #ifdef WIN32 +@@ -483,7 +489,7 @@ static const char *path_last(const char *p) { + + static char *get_defaultheapdirs() { + char *result; +- wchar_t buf[PATH_MAX]; ++ wchar_t buf[BOOT_PATH_MAX]; + DWORD len = sizeof(buf); + if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len)) + return DEFAULT_HEAP_PATH; +@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() { + * leaving the full path with name affixed in path and *sp / *dsp pointing + * past the current entry. it returns 1 on success and 0 if at the end of + * the search path. path should be a pointer to an unoccupied buffer +- * PATH_MAX characters long. either or both of sp/dsp may be empty, ++ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty, + * but neither may be null, i.e., (char *)0. */ + static IBOOL next_path(char *path, const char *name, const char *ext, + const char **sp, const char **dsp) { + char *p; + const char *s, *t; + +-#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) ++#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) + for (;;) { + s = *sp; + p = path; +@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, const char *ext, + switch (*s) { + #ifdef WIN32 + case 'x': { +- wchar_t exepath[PATH_MAX]; DWORD n; ++ wchar_t exepath[BOOT_PATH_MAX]; DWORD n; + s += 1; +- n = GetModuleFileNameW(NULL, exepath, PATH_MAX); +- if (n == 0 || (n == PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { ++ n = GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX); ++ if (n == 0 || (n == BOOT_PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { + fprintf(stderr, "warning: executable path is too long; ignoring %%x\n"); + } else { + char *tstart; +@@ -608,7 +614,7 @@ typedef struct { + iptr len; /* 0 => unknown */ + iptr offset; + IBOOL need_check, close_after; +- char path[PATH_MAX]; ++ char path[BOOT_PATH_MAX]; + } boot_desc; + + #define MAX_BOOT_FILES 10 +@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, const char *path, int c) { + static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + int fd, + IBOOL errorp) { +- char pathbuf[PATH_MAX], buf[PATH_MAX]; ++ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX]; + uptr n = 0; + INT c; + const char *path; + char *expandedpath; + + if ((fd != -1) || direct_pathp || S_fixedpathp(name)) { +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + if (boot_count == 0) { + for (;;) { + /* try to load heap or boot file this boot file requires */ +- if (get_string(fd, buf, PATH_MAX, &c) != 0) { ++ if (get_string(fd, buf, BOOT_PATH_MAX, &c) != 0) { + fprintf(stderr, "unexpected end of file on %s\n", path); + CLOSE(fd); + S_abnormal_exit(); +@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + c = get_u8(fd); + for (sep = " "; ; sep = "or ") { + if (c == ')') break; +- (void) get_string(fd, buf, PATH_MAX, &c); ++ (void) get_string(fd, buf, BOOT_PATH_MAX, &c); + fprintf(stderr, "%s%s.boot ", sep, buf); + } + fprintf(stderr, "required by %s\n", path); +@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const char *name, + int close_after) { + check_boot_file_state("Sregister_boot_file_fd"); + +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void (*custom_init)(void)) { + } + + name = path_last(kernel); +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "executable name too long: %s\n", name); + S_abnormal_exit(); + } + + #ifdef WIN32 + { /* strip off trailing .exe, if any */ +- static char buf[PATH_MAX]; ++ static char buf[BOOT_PATH_MAX]; + iptr n; + + n = strlen(name) - 4; +diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c/version.h +index a79d12621b..61751a9fad 100644 +--- a/racket/src/ChezScheme/c/version.h ++++ b/racket/src/ChezScheme/c/version.h +@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + /*****************************************/ + /* Operating systems */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) /* Hurd */ + #define NOBLOCK O_NONBLOCK + #define LOAD_SHARED_OBJECT + #define USE_MMAP +@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + #define GETPAGESIZE() getpagesize() + typedef char *memcpy_t; + #define MAKE_NAN(x) { x = 0.0; x = x / x; } +-#define GETWD(x) getcwd((x),PATH_MAX) ++#ifndef __GNU__ /* Hurd: no PATH_MAX */ ++/* n.b. don't test PATH_MAX directly: we have not yet included */ ++# define GETWD(x) getcwd((x),PATH_MAX) ++#endif + typedef int tputsputcchar; + #ifndef __ANDROID__ + # define LOCKF +diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure +index f64b639c3a..efdb6029cb 100755 +--- a/racket/src/ChezScheme/configure ++++ b/racket/src/ChezScheme/configure +@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in + installprefix=/usr + installmansuffix=share/man + ;; ++ GNU) ++ unixsuffix=gnu # the Hurd ++ installprefix=/usr ++ installmansuffix=share/man ++ ;; + QNX) + if uname -a | egrep 'x86' > /dev/null 2>&1 ; then + m32=i3qnx +@@ -591,7 +596,7 @@ fi + + # Infer flags needed for threads: + case "${flagsm}" in +- *le|*fb|*ob|*nb) ++ *le|*gnu|*fb|*ob|*nb) + threadFlags="-D_REENTRANT -pthread" + threadLibs="-lpthread" + ;; +@@ -627,7 +632,7 @@ if [ "$cflagsset" = "no" ] ; then + a6*) + CFLAGS="-m64 ${optFlags}" + ;; +- i3le) ++ i3le) # intentionally not including i3gnu, which may not support sse2 + CFLAGS="-m32 -msse2 -mfpmath=sse ${optFlags}" + ;; + i3nt) +@@ -688,7 +693,7 @@ fi + # Add automatic linking flags, unless suppressed by --disable-auto-flags + if [ "$addflags" = "yes" ] ; then + case "${flagsm}" in +- *le) ++ *le|*gnu) + LDFLAGS="${LDFLAGS} -rdynamic" + ;; + *fb|*nb) +@@ -702,7 +707,7 @@ if [ "$addflags" = "yes" ] ; then + esac + + case "${flagsm}" in +- *le) ++ *le|*gnu) + LIBS="${LIBS} -lm -ldl ${ncursesLib} -lrt" + ;; + *fb|*ob) +@@ -749,7 +754,7 @@ exeSuffix= + + # compile flags for c/Mf-unix and mats/Mf-unix + case "${flagsmuni}" in +- *le) ++ *le|*gnu) + mdcflags="-fPIC -shared" + ;; + *fb|*ob) +@@ -781,7 +786,7 @@ case "${flagsmuni}" in + i3le) + mdldflags="-melf_i386" + ;; +- *le) ++ *le|*gnu) + ;; + i3nb) + mdldflags="-m elf_i386" +diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/s/cmacros.ss +index ff2b09217b..2e79a4d8de 100644 +--- a/racket/src/ChezScheme/s/cmacros.ss ++++ b/racket/src/ChezScheme/s/cmacros.ss +@@ -385,6 +385,7 @@ + i3fb ti3fb + i3ob ti3ob + i3osx ti3osx ++ i3gnu ti3gnu + a6le ta6le + a6osx ta6osx + a6ob ta6ob +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..dab545c0b4 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4449,8 +4449,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ *linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd: must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..43e7307b1b 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -272,8 +272,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd - must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss +index 2319cbe7a5..773eb79cf3 100644 +--- a/racket/src/cs/rumble/system.ss ++++ b/racket/src/cs/rumble/system.ss +@@ -48,6 +48,8 @@ + arm32le tarm32le arm64le tarm64le + ppc32le tppc32le) + 'linux] ++ [(i3gnu ti3gnu) ++ 'gnu-hurd] + [(a6fb ta6fb i3fb ti3fb + arm32fb tarm32fb arm64fb tarm64fb + ppc32fb tppc32fb) +@@ -85,6 +87,7 @@ + i3nb ti3nb + i3fb ti3fb + i3s2 ti3s2 ++ i3gnu ti3gnu + i3qnx) + 'i386] + [(arm32le tarm32le +-- +2.32.0 + + +From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 4 Aug 2022 20:18:09 -0400 +Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd + +(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + racket/src/bc/sconfig.h | 14 +++++++++----- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ddb607b37..4ee346014d 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index deef8f3077..866851236e 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h +index 01ecb48158..8468942fcd 100644 +--- a/racket/src/bc/sconfig.h ++++ b/racket/src/bc/sconfig.h +@@ -79,12 +79,14 @@ + + #endif + +- /************** Linux with gcc ****************/ ++ /************** Linux (or Hurd) with gcc ****************/ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) + + # ifdef __ANDROID__ + # define SCHEME_OS "android" ++# elif defined(__GNU__) ++# define SCHEME_OS "gnu-hurd" + # else + # define SCHEME_OS "linux" + # endif +@@ -146,13 +148,15 @@ + # define USE_IEEE_FP_PREDS + # define USE_EXPLICT_FP_FORM_CHECK + +-# define LINUX_FIND_STACK_BASE ++# define LINUX_FIND_STACK_BASE /* also ok for Hurd */ + + # define FLAGS_ALREADY_SET + + #if defined(__i386__) +-# define MZ_USE_JIT_I386 +-# define MZ_JIT_USE_MPROTECT ++# ifndef __GNU__ /* Hurd */ ++# define MZ_USE_JIT_I386 ++# define MZ_JIT_USE_MPROTECT ++# endif + # ifndef MZ_NO_UNWIND_SUPPORT + # define MZ_USE_DWARF_LIBUNWIND + # endif +-- +2.32.0 + + +From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sat, 6 Aug 2022 22:48:40 -0400 +Subject: [PATCH 3/3] BC: repair configure script + +Hopefully this will fix the DrDr failures caused by 5c05496. + +Related to https://github.com/racket/racket/pull/4384 + +(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ee346014d..b1c5175b84 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index 866851236e..ecc3b0b579 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch b/gnu/packages/patches/racket-backport-8.6-zuo.patch new file mode 100644 index 0000000000..b86679b7ec --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch @@ -0,0 +1,481 @@ +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:10:58 -0600 +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and + `CC_FOR_BUILD` + +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) +--- + racket/src/zuo/Makefile.in | 7 ++++++- + racket/src/zuo/README.md | 10 ++++++++++ + racket/src/zuo/configure | 15 +++++++++++++++ + racket/src/zuo/configure.ac | 11 +++++++++++ + 4 files changed, 42 insertions(+), 1 deletion(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 5d16e145bf..747b584c5c 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ ++LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ ++ + EMBED_LIBS = @EMBED_LIBS@ + + .PHONY: zuos-to-run-and-install +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS) ++ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md +index 17c88ee9ec..3aad504b7e 100644 +--- a/racket/src/zuo/README.md ++++ b/racket/src/zuo/README.md +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a stand-alone file or + embedded in `.c` source. + + ++Cross Compiling ++--------------- ++ ++If you use `./configure --host=...` to cross compile, then you will ++also need to add something like `CC_FOR_BUILD=cc` as a `./configure` ++argument to specify the compiler for a `zuo` to use on the build ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. ++ ++ + Embedding Zuo in Another Application + ------------------------------------ + +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 1fa34a3fe8..575ce07d96 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -589,6 +589,10 @@ enable_embed="zuo" + ac_subst_vars='LTLIBOBJS + LIBOBJS + EMBED_LIBS ++LIBS_FOR_BUILD ++LDFLAGS_FOR_BUILD ++CFLAGS_FOR_BUILD ++CC_FOR_BUILD + OBJEXT + EXEEXT + ac_ct_CC +@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++ ++ ++ ++ ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 89b3c6391d..598ff79629 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno], + AC_PROG_MAKE_SET() + AC_PROG_CC + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) ++AC_SUBST(LIBS_FOR_BUILD) ++ + AC_SUBST(EMBED_LIBS) + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) + +-- +2.32.0 + + +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:47:03 -0600 +Subject: [PATCH 2/4] Zuo: sort hash keys + +Printing in a sorted order is helpful to make things more +deterministic independent of symbol inputs. Making `hash-keys` +produce a sorted list generalizes that determinism. + +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) +--- + racket/src/zuo/build.zuo | 5 ++- + racket/src/zuo/tests/hash.zuo | 8 ++-- + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- + racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++- + 4 files changed, 78 insertions(+), 10 deletions(-) + +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo +index c1b5e8ce66..129240120a 100644 +--- a/racket/src/zuo/build.zuo ++++ b/racket/src/zuo/build.zuo +@@ -47,7 +47,10 @@ + (target (at-dir (add-exe name)) + (lambda (path token) + (rule (list image_zuo.c +- (input-data-target 'config config) ++ (input-data-target 'config (cons ++ lib-path ++ (map (lambda (key) (hash-ref config key)) ++ '(CC CPPFLAGS CFLAGS LDFLAGS LIBS)))) + (quote-module-path)) + (lambda () + (define l (split-path path)) +diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.zuo +index a35741c730..0d3d7f3af6 100644 +--- a/racket/src/zuo/tests/hash.zuo ++++ b/racket/src/zuo/tests/hash.zuo +@@ -35,9 +35,7 @@ + + (check (hash-keys (hash)) '()) + (check (hash-keys (hash 'a 1)) '(a)) +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) +- (or (equal? keys '(a b)) +- (equal? keys '(b a))))) ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) + (check-arg-fail (hash-keys 0) "not a hash table") +@@ -50,3 +48,7 @@ + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") ++ ++;; print sorts keys alphabetically: ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 94641d041e..4605e47471 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -538,10 +538,20 @@ support to convert the textual form back into a hash table value. + + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove + hash-keys hash-count hash-keys-subset?] from @racketmodname[racket]. +-Besides being constrained to symbol keys, there is one additional +-difference: the third argument to @racket[hash-ref], when supplied, +-is always used as a value to return if a key is missing, as +-opposed to a failure thunk.} ++ ++Besides being constrained to symbol keys, there are two additional ++differences: ++ ++@itemlist[ ++ ++ @item{the third argument to @racket[hash-ref], when supplied, is ++ always used as a value to return if a key is missing, as ++ opposed to a failure thunk; and} ++ ++ @item{the @racket[hash-keys] function returns interned keys sorted ++ alphabetically.} ++ ++]} + + + @section{Procedures} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 2957d478af..88d5747326 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t *accum) { + return accum; + } + ++/*======================================================================*/ ++/* symbol-list sorting */ ++/*======================================================================*/ ++ ++/* merge sort used to make hash printing deterministic */ ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { ++ zuo_t *l, *left, *right, *first, *last; ++ zuo_uint_t len = 0, i; ++ ++ for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l)) ++ len++; ++ ++ if (len < 2) ++ return l_in; ++ ++ left = z.o_null; ++ for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--) ++ left = zuo_cons(_zuo_car(l), left); ++ right = l; ++ ++ left = zuo_symbol_list_sort(left); ++ right = zuo_symbol_list_sort(right); ++ ++ first = last = z.o_null; ++ while ((left != z.o_null) && (right != z.o_null)) { ++ zuo_t *p; ++ ++ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), ++ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) ++ < 1) { ++ p = zuo_cons(_zuo_car(left), z.o_null); ++ left = _zuo_cdr(left); ++ } else { ++ p = zuo_cons(_zuo_car(right), z.o_null); ++ right = _zuo_cdr(right); ++ } ++ ++ if (first == z.o_null) ++ first = p; ++ else ++ ((zuo_pair_t *)last)->cdr = p; ++ last = p; ++ } ++ ++ ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right); ++ ++ return first; ++} ++ ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { ++ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); ++} ++ + /*======================================================================*/ + /* terminal support */ + /*======================================================================*/ +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zuo_print_mode_t mode) { + out_string(out, "opaque"); + out_string(out, ">"); + } else if (obj->tag == zuo_trie_node_tag) { +- zuo_t *keys = zuo_trie_keys(obj, z.o_null); ++ zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null); + if (mode == zuo_print_mode) { + out_string(out, "(hash"); + if (keys != z.o_null) +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sym) { + + static zuo_t *zuo_hash_keys(zuo_t *ht) { + check_hash("hash-keys", ht); +- return zuo_trie_keys(ht, z.o_null); ++ return zuo_trie_sorted_keys(ht, z.o_null); + } + + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { +-- +2.32.0 + + +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 18:06:41 -0600 +Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol` + +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) +--- + racket/src/zuo/tests/symbol.zuo | 3 +++ + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++- + racket/src/zuo/zuo.c | 37 +++++++++++++++++---------- + 3 files changed, 29 insertions(+), 15 deletions(-) + +diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symbol.zuo +index 7775aeeb04..5600a89755 100644 +--- a/racket/src/zuo/tests/symbol.zuo ++++ b/racket/src/zuo/tests/symbol.zuo +@@ -19,3 +19,6 @@ + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) + (check-arg-fail (string->symbol 'apple) not-string) + (check-arg-fail (string->uninterned-symbol 'apple) not-string) ++ ++(check-arg-fail (string->symbol "apple\0spice") "without a nul character") ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 4605e47471..07dd5815b0 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -500,7 +500,9 @@ back into Zuo. + )]{ + + Analogous to @realracket*[symbol? symbol->string string->symbol +-string->uninterned-symbol] from @racketmodname[racket].} ++string->uninterned-symbol] from @racketmodname[racket], but ++@racket[string->symbol] accepts only strings that do not contain the ++null character.} + + + @section{Hash Tables (Persistent Maps)} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 88d5747326..17f161826d 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { + + first = last = z.o_null; + while ((left != z.o_null) && (right != z.o_null)) { +- zuo_t *p; ++ zuo_t *p, *s_left, *s_right; + + if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), + ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *start_i, zuo_t *end_i) { + return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx], e_idx - s_idx); + } + ++static int zuo_is_string_without_nul(zuo_t *obj) { ++ zuo_int_t i; ++ ++ if ((obj->tag != zuo_string_tag) ++ || ZUO_STRING_LEN(obj) == 0) ++ return 0; ++ ++ for (i = ZUO_STRING_LEN(obj); i--; ) { ++ if (((zuo_string_t *)obj)->s[i] == 0) ++ return 0; ++ } ++ ++ return 1; ++} ++ + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { +- check_string("string->symbol", obj); ++ if (!zuo_is_string_without_nul(obj)) { ++ const char *who = "string->symbol"; ++ check_string(who, obj); ++ zuo_fail_arg(who, "string without a nul character", obj); ++ } ++ + return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); + } + +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, zuo_t *envvars) + #endif + + static int zuo_is_path_string(zuo_t *obj) { +- zuo_int_t i; +- +- if ((obj->tag != zuo_string_tag) +- || ZUO_STRING_LEN(obj) == 0) +- return 0; +- +- for (i = ZUO_STRING_LEN(obj); i--; ) { +- if (((zuo_string_t *)obj)->s[i] == 0) +- return 0; +- } +- +- return 1; ++ return zuo_is_string_without_nul(obj); + } + + static zuo_t *zuo_path_string_p(zuo_t *obj) { +-- +2.32.0 + + +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 19:50:46 -0600 +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too + +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) +--- + racket/src/zuo/Makefile.in | 3 ++- + racket/src/zuo/configure | 5 ++++- + racket/src/zuo/configure.ac | 4 +++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 747b584c5c..0376c038a8 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -19,6 +19,7 @@ LIBS = @LIBS@ + + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ + +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 575ce07d96..7ac453e3bc 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -591,6 +591,7 @@ LIBOBJS + EMBED_LIBS + LIBS_FOR_BUILD + LDFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + OBJEXT +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi +@@ -2600,6 +2602,7 @@ fi + + + ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} + +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 598ff79629..051ea0beb5 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -27,12 +27,14 @@ AC_PROG_CC + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(LIBS_FOR_BUILD) + +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch index df2eb671b3..69aca3b483 100644 --- a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -1,4 +1,4 @@ -From 5f3fc12bf123f30485800960b0493f5dd538d107 Mon Sep 17 00:00:00 2001 +From 988eea0a875d570d8ec155cb0925b4586d36e8d7 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 19 May 2022 13:41:56 -0400 Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix @@ -22,10 +22,10 @@ on `system` from the C library. 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c -index f5e3e345be..9db2989138 100644 +index 82bbf8d687..307c8673a1 100644 --- a/racket/src/ChezScheme/c/prim5.c +++ b/racket/src/ChezScheme/c/prim5.c -@@ -856,6 +856,22 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { +@@ -861,6 +861,22 @@ static ptr s_process(char *s, IBOOL stderrp) { INT tofds[2], fromfds[2], errfds[2]; struct sigaction act, oint_act; @@ -48,10 +48,10 @@ index f5e3e345be..9db2989138 100644 if (pipe(tofds)) S_error("process","cannot open pipes"); if (pipe(fromfds)) { -@@ -881,7 +897,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { - CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); - CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); - {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +@@ -897,7 +913,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + } + } + #endif /* __GNU__ Hurd */ - execl("/bin/sh", "/bin/sh", "-c", s, NULL); + /* BEGIN PATCH for Guix */ + execl(guix_sh, guix_sh, "-c", s, NULL); @@ -60,7 +60,7 @@ index f5e3e345be..9db2989138 100644 /*NOTREACHED*/ } else { -base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 -- 2.32.0 diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch b/gnu/packages/patches/racket-zuo-bin-sh.patch new file mode 100644 index 0000000000..392ea05129 --- /dev/null +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch @@ -0,0 +1,72 @@ +From 4888106cdfd80d1af925e5a485a2812d35a83b46 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Mon, 11 Apr 2022 20:43:18 -0400 +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. `zuo_process` is called with the exact path "/bin/sh"; and + + 3. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `zuo_process` will execute the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". +--- + racket/src/zuo/zuo.c | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 17f161826d..10e7a2a297 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -5730,7 +5730,18 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_raw_handle_t *_w) + zuo_t *zuo_process(zuo_t *command_and_args) + { + const char *who = "process"; +- zuo_t *command = _zuo_car(command_and_args); ++ /* BEGIN PATCH for Guix */ ++ zuo_t *_guix_orig_command = _zuo_car(command_and_args); ++ zuo_t *command; ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ const char *guix_sh = GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH); ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#endif ++ /* END PATCH for Guix */ + zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null; + zuo_t *options = z.o_empty_hash, *opt; + zuo_t *dir, *l, *p_handle, *result; +@@ -5741,7 +5752,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) + void *env; + int as_child, exact_cmdline; + +- check_path_string(who, command); ++ /* BEGIN PATCH for Guix */ ++ check_path_string(who, _guix_orig_command); ++#if defined(GUIX_RKTIO_BIN_SH) ++ command = ++ ((z.o_false == zuo_string_eql(_guix_orig_command, zuo_string("/bin/sh"))) ++ || (z.o_false == zuo_stat(zuo_string(guix_sh), z.o_false, z.o_true))) ++ ? _guix_orig_command ++ : zuo_string(guix_sh); ++#else ++ command = _guix_orig_command; ++#endif ++ /* END PATCH for Guix */ ++ + for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) { + zuo_t *a = _zuo_car(l); + if (a == z.o_null) { + +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index cddb617232..f1a2794164 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -54,7 +54,7 @@ (define-module (gnu packages racket) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:)) -;; Commentary: +;; COMMENTARY: ;; ;; Anatomy of Racket: ;; ------------------ @@ -73,14 +73,16 @@ (define-module (gnu packages racket) ;; ├── bc/ ;; ├── cs/ ;; ├── ChezScheme/ +;; ├── zuo/ ;; └── ... ;; ;; The 'racket/src/' directory contains the source of the runtime system, core ;; compiler, and primitives for the major Racket implementations: this layer -;; is called the ``Racket VM''. It is basically a normal autotools -;; project. (Even when Racket VM implementations use components implemented in -;; Racket, they are compiled in special modes to produce VM primitives.) -;; (There are or have been experimental Racket VM implementations elsewhere, +;; is called the ``Racket VM''. It is basically a normal Autoconf project, +;; except that the makefiles just run Zuo to do the real work. (Even when +;; Racket VM implementations use components implemented in Racket, they are +;; compiled in special modes to produce VM primitives.) (There are or have +;; been experimental Racket VM implementations elsewhere, ;; e.g. .) ;; ;; The 'racket/collects/' directory contains ``built in'' Racket libraries @@ -101,10 +103,10 @@ (define-module (gnu packages racket) ;; ;; The top-level 'Makefile' is more like a directory of scripts: it has ;; convienience targets for developing Racket, and it cooperates with the -;; 'distro-build' package to assemble custom Racket distributions. It is not -;; part of Racket source distributions: the root of a source distribution is -;; basically 'racket/src' with some extra package sources and configuration -;; added. +;; 'distro-build' package to assemble custom Racket distributions. (Again, +;; the makefile just delegates to Zuo.) It is not part of Racket source +;; distributions: the root of a source distribution is basically 'racket/src' +;; with some extra package sources and configuration added. ;; ;; A ''minimal Racket'' installation includes two packages: 'base', which is a ;; sort of bridge between the current ``built-in'' collections and the package @@ -130,12 +132,12 @@ (define-module (gnu packages racket) ;; output. The function 'racket-vm-for-system' returns the recomended Racket ;; VM package for a given system. ;; -;; The file 'racket.scm' builds on these packages to define 'racket-minimal' -;; and 'racket' packages. These use Racket's support for ``layered -;; installations'', which allow an immutable base layer to be extended with -;; additional packages. They use the layer configuration directly provide -;; ready-to-install FHS-like trees, rather than relying on the built in -;; ``Unix-style install'' mechanism. +;; We then define the packages 'racket-minimal' and +;; 'racket'. These use Racket's support for ``layered installations'', which +;; allow an immutable base layer to be extended with additional packages. +;; They use the layer configuration directly provide ready-to-install FHS-like +;; trees, rather than relying on the built in ``Unix-style install'' +;; mechanism. ;; ;; Bootstrapping Racket: ;; --------------------- @@ -178,16 +180,18 @@ (define-module (gnu packages racket) ;; However, other Racket subsystems implemented in Racket for Racket CS ;; use older C implementations for Racket BC, whereas the reader, expander, ;; and module system were completely replaced with the Racket implementation -;; as of Racket 7.0. +;; as of Racket 7.0. See also . ;; ;; For Racket BC, the compiled "linklet" s-expressions (primitive modules) ;; are embeded in C as a static string constant. Eventually, they are further ;; compiled by the C-implemented Racket BC bytecode and JIT compilers. -;; (On platforms where Racket BC's JIT is not supported, yet another compiler -;; instead compiles the linklets to C code, but this is not a bootstrapping -;; issue.) ;; -;; Code: +;; Zuo is notably *not* a problem for bootstrapping. The implementation is a +;; single hand-written C file designed to build with just `cc -o zuo zuo.c`, +;; even with very old or limited compilers. (We use the Autoconf support for +;; convienience.) +;; +;; CODE: (define* (racket-vm-for-system #:optional (system (or (%current-target-system) @@ -200,7 +204,8 @@ (define* (racket-vm-for-system #:optional racket-vm-cs racket-vm-bc)) -(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! +(define %zuo-version "1.0") ;; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) (define %racket-origin @@ -210,10 +215,15 @@ (define %racket-origin (url "https://github.com/racket/racket") (commit %racket-commit))) (sha256 - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-chez-scheme-bin-sh.patch" - "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-backport-8.6-cross-install.patch" + "racket-backport-8.6-docindex-write.patch" + "racket-backport-8.6-hurd.patch" + "racket-backport-8.6-zuo.patch" + "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch" + "racket-zuo-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -233,6 +243,58 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) + +(define-public zuo + (let ((revision #f)) + (package + (name "zuo") + (version (string-append %zuo-version + "-racket" + %racket-version + (if revision "-guix" "") + (or revision ""))) + (source %racket-origin) + (outputs '("out" "debug")) + (build-system gnu-build-system) + (inputs (list bash-minimal)) + (native-inputs (list bash-minimal)) + (arguments + (list + #:configure-flags + #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" + #$(file-append (this-package-input "bash-minimal") + "/bin/sh")) + #+@(if (%current-target-system) + (list #~,(string-append + "CPPFLAGS_FOR_BUILD=-DGUIX_RKTIO_BIN_SH=" + #+(file-append + (this-package-native-input "bash-minimal") + "/bin/sh"))) + '())) + #:out-of-source? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "racket/src/zuo")))))) + (home-page "https://github.com/racket/zuo") + ;; ^ This is downstream of https://github.com/racket/racket, + ;; but it's designed to be a friendly landing place + (synopsis "Tiny Racket for build scripts") + (description "You should use Racket to write scripts. But what if you +need something much smaller than Racket for some reason—or what if you're +trying to script a build of Racket itself? Zuo is a tiny Racket with +primitives for dealing with files and running processes, and it comes with a +@command{make}-like embedded DSL. + +Zuo is a Racket variant in the sense that program files start with +@code{#lang}, and the module path after @code{#lang} determines the parsing +and expansion of the file content. That's how the @command{make}-like DSL is +defined, and even the base Zuo language is defined by layers of @code{#lang}s. +One of the early layers implements macros.") + (license (list license:asl2.0 license:expat))))) + + (define (racket-vm-common-configure-flags) ;; under a lambda abstraction to avoid evaluating bash-minimal too early. #~`(,@(cond @@ -270,7 +332,8 @@ (define-public racket-vm-cgc (inputs (list ncurses ;; <- common to all variants (for #%terminal) bash-minimal ;; <- common to all variants (for `system`) libffi)) ;; <- only for BC variants - (native-inputs (list libtool)) ;; <- only for BC variants + (native-inputs (list zuo ;; <- for all variants + libtool)) ;; <- only for BC variants (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -278,6 +341,10 @@ (define-public racket-vm-cgc #:configure-flags #~(cons "--enable-cgcdefault" #$(racket-vm-common-configure-flags)) + #:make-flags + #~(list (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo")) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -637,25 +704,25 @@ (define-public racket "contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3") '(("contract-profile" "."))) (simple-racket-origin - "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55") + "data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprfisc") '("data" "data-doc" "data-enumerate-lib" "data-lib")) (simple-racket-origin "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s") '(("datalog" "."))) (simple-racket-origin - "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5") + "db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmjq") '("db" "db-doc" "db-lib")) (simple-racket-origin - "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr") + "deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y64pij489x34v") '("deinprogramm" "deinprogramm-signature")) (simple-racket-origin "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0") '("distributed-places" "distributed-places-doc" "distributed-places-lib")) (simple-racket-origin - "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92") + "draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i42635sm") '("draw" "draw-doc" "draw-lib")) (simple-racket-origin - "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz") + "drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189fn42q62") '("drracket" "drracket-plugin-lib" "drracket-tool" @@ -672,7 +739,7 @@ (define-public racket "eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n27s") '(("eopl" "."))) (simple-racket-origin - "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip") + "errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124pp6xkjyavx") '("errortrace" "errortrace-doc" "errortrace-lib")) (simple-racket-origin "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q") @@ -689,13 +756,13 @@ (define-public racket "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d") '(("games" "."))) (simple-racket-origin - "gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx") + "gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv401w") '("gui" "gui-doc" "gui-lib" "tex-table")) (simple-racket-origin "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5") '("gui-pkg-manager-lib")) (simple-racket-origin - "htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3") + "htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjykwir") '("htdp" "htdp-doc" "htdp-lib")) (simple-racket-origin "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x") @@ -719,7 +786,7 @@ (define-public racket "make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa") '(("make" "."))) (simple-racket-origin - "math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp217ac") + "math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq9ai") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -754,16 +821,16 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflzfd52hj7awafqhk") + "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin - "parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq0rj49cr8fl3") + "parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic19cj6f7rmcnj") '("parser-tools" "parser-tools-doc" "parser-tools-lib")) (simple-racket-origin "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv") + "pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq6sx") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -817,7 +884,7 @@ (define-public racket "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n") + "rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyzl7prn81") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -830,10 +897,10 @@ (define-public racket "readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w2pxkfwn") '("readline" "readline-doc" "readline-lib")) (simple-racket-origin - "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi") + "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i") + "redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852czil7") '("redex" "redex-benchmark" "redex-doc" @@ -848,7 +915,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3") + "scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9b2acvd3") '("scribble" "scribble-doc" "scribble-html-lib" @@ -880,7 +947,7 @@ (define-public racket "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc") + "typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7bdc0jfg8a18l") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -891,13 +958,13 @@ (define-public racket "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin - "string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac") + "string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6hj4az5lfbbdvqz47") '("string-constants" "string-constants-doc" "string-constants-lib")) (simple-racket-origin - "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67") + "swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbgqxvsyb") '(("swindle" "."))) (simple-racket-origin - "syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm") + "syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b8dsvbbrjyq1") '("syntax-color" "syntax-color-doc" "syntax-color-lib")) (simple-racket-origin "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia") @@ -906,7 +973,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd") + "web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxmd6r3fwcpf") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 5/6] gnu: racket: Use Racket CS on all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993904811114 (code B ref 57050); Mon, 08 Aug 2022 06:11:03 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:48 +0000 Received: from localhost ([127.0.0.1]:38942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyR-0002t6-CE for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:48 -0400 Received: from mail-qt1-f171.google.com ([209.85.160.171]:45782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyL-0002sW-Pr for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:42 -0400 Received: by mail-qt1-f171.google.com with SMTP id j17so1020132qtp.12 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=rlyMJ2HDC3VXq/4buniVDog5X+AbTWspFUQWZp9ZxgE=; b=gtbhS8cj1j0J4A4HHnQRcPr5v2mqP0iIA+ZnrNGTh77+6TbhI62bU9gPaytrKt5E55 rucWMLpfVODBEg+l4QDyX42K+kCPrb2hAffxDpW9DkibF+ch2huTN2ryB/dfd1HTLMZ/ PuJMvnrF2ZEZIDsZlstwlWe7sSyArF9Acnv9hNo+ixIDx6khzoU0d6MIx3hHLo1LiHsC vqcOp1f9vMek83g2uMX513c3Mm1CP1i78g3opkCokbom1jXhVXzZC38T6AmYpQg4EqRf yJYfW21hPvWFiJ5gNPK0YGdTzCjqsZ+3lSsA8wqdrv6jpeYv+nO9eMVZNvc5qP1WqmjK 4NPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=rlyMJ2HDC3VXq/4buniVDog5X+AbTWspFUQWZp9ZxgE=; b=g9TGZMjbt3v6y0ZKmwd7DZl3XodkboAXWPEzYjrVUTUSoUx1ayMhEv5xEnBgoukVRr s6uhnyC/xYXkK6eqLOxB8hVBz3fgs6hyOBgwtzpZPE6HYHvBuQHjc9QoJ5Dnkak7PLVo 82A+sRKlepdjmZPZtFbotlq+5RkNck6HMyr556D7Pa98dFpZtrnEvk7HdKyYG9pBDizI kINU9iCTxiNLlNkw2bue9BvarT/YHahdlU3yT8qUJS/DNq82JrPJ0u5EZM8nXqiG9aSr 4SypMQJRfXuKnxE5Rw0bdNAqQa1zS/5IYqeGscFXPqE/oRoO/iT2452Qy1rC0e3IoHOa L8Yw== X-Gm-Message-State: ACgBeo1xdi4rMUgtwQeirge7nXMVK7K4GutK1LWIoHXCoVxAq0dfaFNW 05OqWrMzRps4CcdBHxm4YIdZ26F6tRu6Xa8+ X-Google-Smtp-Source: AA6agR4d9B3k3YGyhv+mO1XAB20E2aVFVcrV3ZT01zx56Y6owRc85PjnhQBQoI20NQ+i/mF2QuFEuA== X-Received: by 2002:a05:622a:14c8:b0:342:f7fe:ab33 with SMTP id u8-20020a05622a14c800b00342f7feab33mr3374009qtx.327.1659939036163; Sun, 07 Aug 2022 23:10:36 -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 ay39-20020a05620a17a700b006a5d2eb58b2sm8431884qkb.33.2022.08.07.23.10.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:36 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:06 -0400 Message-Id: <497d143fafeb9c866e278454dd0b1235796ac68f.1659936550.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On systems for which Racket CS cannot generate native code, it can use a 'pbarch' machine type---a variant of the ``portable bytecode'' backend specialized to word size and endianness---allowing Racket CS to replace Racket BC on those systems while maintaining comparable performance. (Racket BC lacks JIT support for those systems anyway.) This patch adds 'pbarch' support to 'racket-vm-cs' and 'chez-scheme-for-racket-bootstrap-bootfiles' and changes 'racket' and 'racket-minimal' to use 'racket-vm-cs' on all systems. In the process, it also adds support for cross-compiling the bootfiles, 'racket-vm-cgc', 'racket-vm-bc', and 'racket-vm-cs'. This is not enough to cross-compile 'racket-minimal' or 'racket': that would require building and loading cross-compilation pluggins for 'racket-vm-cs', which will be much easier once we can build the package 'raco-cross'. This patch does not address 'chez-scheme-for-racket'. * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable. (racket-cs-native-supported-system): Change to return the applicable machine type instead of '#t'. (chez-scheme-for-racket-bootstrap-bootfiles)[native-inputs]: When cross-compiling, use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. [arguments]: Support cross-compilation and 'pbarch' machine types. [supported-systems]: Use '%supported-systems' instead of inheriting. * gnu/packages/racket.scm (racket-vm-for-system): Remove. (racket-vm-cgc)[native-inputs]: Add 'this-package' when cross-compiling. (racket-vm-bc)[native-inputs]: Adjust accordingly. [description]: Update. (racket-vm-cs)[description]: Likewise. [inputs]: Use 'libffi' for 'pbarch' machine types. [native-inputs]: Use 'racket-vm-cs' instead of 'racket-vm-bc' when cross-compiling. Adapt to changes to 'racket-vm-cgc'. [arguments]<#:configure-flags>: Support cross-compilation and 'pbarch' machine types. (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' with 'racket-vm-cs'. --- gnu/packages/chez.scm | 65 ++++++++++++++++++++++++++++------ gnu/packages/racket.scm | 77 ++++++++++++++++++++++------------------- 2 files changed, 97 insertions(+), 45 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index dde2c22ca5..2afef8d3bd 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -50,6 +50,7 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system racket-cs-native-supported-system? + nix-system->pbarch-machine-type unpack-nanopass+stex)) ;; Commentary: @@ -232,18 +233,41 @@ (define* (chez-upstream-features-for-system #:optional (and=> (assoc-ref %chez-features-table chez-os) (cut assoc-ref <> chez-arch)))) +(define* (nix-system->pbarch-machine-type #:optional + (system + (or (%current-target-system) + (%current-system))) + #:key (threads? #t)) + "Return a string naming the pseudo–machine type used by Racket's variant of +Chez Scheme to represent the appropriate ``pbarch'' backend for SYSTEM: that +is, the ``portable bytecode'' backend specialized for SYSTEM's word size and +endianness. The result will name the threaded machine type unless THREADS? is +provided and is #f." + (string-append (if threads? + "t" + "") + "pb" + (if (target-64bit? system) + "64" + "32") + ;; missing (guix utils) predicate target-little-endian? + (if (target-ppc32? system) + "b" + "l"))) + (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." + "Can Racket's variant of Chez Scheme generate native code for SYSTEM? If +so, return the applicable machine type as a string. Otherwise, when SYSTEM +can use only the ``portable bytecode'' backends, return #f." (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))) + (string-append "t" chez-arch chez-os)))) ;; ;; Chez Scheme: @@ -587,8 +611,12 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (name "chez-scheme-for-racket-bootstrap-bootfiles") (version (package-version chez-scheme-for-racket)) (source #f) ; avoid problematic cycle with racket.scm - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) - ;; TODO: cross compilation + (native-inputs + (cons* chez-nanopass-bootstrap + (if (%current-target-system) + (list zuo + chez-scheme-for-racket) + (list racket-vm-bc)))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme-bootstrap-bootfiles) @@ -608,11 +636,28 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles #$unpack-nanopass+stex)) (add-before 'install 'build (lambda* (#:key native-inputs inputs #:allow-other-keys) - (invoke (search-input-file (or native-inputs inputs) - "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))) - (supported-systems - (package-supported-systems chez-scheme-for-racket)) + #$(cond + ((%current-target-system) + ;; cross-compiling + #~(invoke + (search-input-file (or native-inputs inputs) + "/bin/zuo") + "makefiles/boot.zuo" + (search-input-file (or native-inputs inputs) + "/bin/scheme") + #$(or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type)))) + (else + ;; bootstrapping + #~(invoke + (search-input-file (or native-inputs inputs) + "/opt/racket-vm/bin/racket") + "rktboot/main.rkt" + #$@(if (racket-cs-native-supported-system?) + #~() + (let ((m (nix-system->pbarch-machine-type))) + #~("--machine" #$m))))))))))))) + (supported-systems %supported-systems) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, ;; but it's designed to be a friendly landing place for people diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index f1a2794164..7920d6812c 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -129,10 +129,9 @@ (define-module (gnu packages racket) ;; This file defines the packages 'racket-vm-cgc', 'racket-vm-bc', and ;; 'racket-vm-cs'. All three are in-place builds of 'racket/src/' and ;; 'racket/collects/' and are installed to 'opt/racket-vm/' in the store -;; output. The function 'racket-vm-for-system' returns the recomended Racket -;; VM package for a given system. +;; output. ;; -;; We then define the packages 'racket-minimal' and +;; Using 'racket-vm-cs', we then define the packages 'racket-minimal' and ;; 'racket'. These use Racket's support for ``layered installations'', which ;; allow an immutable base layer to be extended with additional packages. ;; They use the layer configuration directly provide ready-to-install FHS-like @@ -193,17 +192,6 @@ (define-module (gnu packages racket) ;; ;; CODE: -(define* (racket-vm-for-system #:optional - (system (or (%current-target-system) - (%current-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)) - (define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ;; defined in racket/src/zuo/zuo.c (define %racket-commit @@ -331,9 +319,12 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) bash-minimal ;; <- common to all variants (for `system`) - libffi)) ;; <- only for BC variants - (native-inputs (list zuo ;; <- for all variants - libtool)) ;; <- only for BC variants + libffi)) ;; <- for BC and non-native CS variants + (native-inputs (cons* zuo ;; <- for all variants + libtool ;; <- only for BC variants + (if (%current-target-system) + (list this-package) + '()))) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -421,8 +412,10 @@ (define-public racket-vm-bc (inherit racket-vm-cgc) (name "racket-vm-bc") (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (prepend racket-vm-cgc))) + (if (%current-target-system) + (package-native-inputs racket-vm-cgc) + (modify-inputs (package-native-inputs racket-vm-cgc) + (prepend racket-vm-cgc)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) @@ -432,10 +425,8 @@ (define-public racket-vm-bc (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written in C targeting architecture-independent bytecode, plus a JIT compiler on most -platforms. Racket BC has a different C API and supports a slightly different -set of architectures than the current default runtime system, Racket CS (based -on ``Chez Scheme''). It is the recommended implementation for architectures -that Racket CS doesn't support. +platforms. Racket BC has a different C API than the current default runtime +system, Racket CS (based on ``Chez Scheme''). This package is the normal implementation of Racket BC with a precise garbage collector, 3M (``Moving Memory Manager'').") @@ -448,15 +439,24 @@ (define-public racket-vm-cs (inherit racket-vm-bc) (name "racket-vm-cs") (inputs - (modify-inputs (package-inputs racket-vm-cgc) - (prepend zlib lz4) - (delete "libffi"))) + (let ((inputs (modify-inputs (package-inputs racket-vm-cgc) + (prepend zlib lz4)))) + (if (racket-cs-native-supported-system?) + (modify-inputs inputs + (delete "libffi")) + inputs))) (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (delete "libtool") - (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - racket-vm-bc))) + (let ((native-inputs (package-native-inputs racket-vm-cgc))) + (modify-inputs (if (%current-target-system) + (modify-inputs native-inputs + (delete "racket-vm-cgc")) + native-inputs) + (delete "libtool") + (prepend chez-scheme-for-racket + chez-nanopass-bootstrap + (if (%current-target-system) + racket-vm-cs + racket-vm-bc))))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) @@ -470,15 +470,22 @@ (define-public racket-vm-cs "--enable-libz" "--enable-lz4" (string-append "--enable-scheme=" - #$(this-package-native-input + #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") + #$@(if (racket-cs-native-supported-system?) + #~() + #~(#$(string-append "--enable-mach=" + (nix-system->pbarch-machine-type)) + "--enable-pb")) #$(racket-vm-common-configure-flags))))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM implementation since Racket 8.0. It performs better than the Racket BC -implementation for most programs. +implementation for most programs. On systems for which Racket CS cannot +generate machine code, this package uses a variant of its ``portable +bytecode'' backend specialized for word size and endianness. Using the Racket VM packages directly is not recommended: instead, install the @code{racket-minimal} or @code{racket} packages.") @@ -554,7 +561,7 @@ (define-public racket-minimal (inputs (list openssl sqlite - (racket-vm-for-system) + racket-vm-cs (racket-packages-origin "base" %racket-origin '(("base" "pkgs/base") @@ -672,7 +679,7 @@ (define-public racket unixodbc libedit ;; TODO reconsider in light of expeditor and readline-gpl racket-minimal ;; <-- TODO non-tethered layer - (racket-vm-for-system) + racket-vm-cs (simple-racket-origin "2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7") '("2d" "2d-doc" "2d-lib")) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 6/6] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 06:11:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165993904811122 (code B ref 57050); Mon, 08 Aug 2022 06:11:04 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 06:10:48 +0000 Received: from localhost ([127.0.0.1]:38944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyS-0002tI-6q for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:48 -0400 Received: from mail-qk1-f177.google.com ([209.85.222.177]:33486) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvyP-0002sh-Mv for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 02:10:46 -0400 Received: by mail-qk1-f177.google.com with SMTP id f14so5830688qkm.0 for <57050@debbugs.gnu.org>; Sun, 07 Aug 2022 23:10:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=YzilF9zyhdFXx64R4lDSMRLhRzWY8AyGWoBbhI0uEdQ=; b=knEakOQj+xRQHg3gJKGrF2tmQoLozpmxHhBUykuZ3FLUk6qYG3ffAjKd4CWskZgiEo 3x/hdcoGFS+gXGheYksay7vHtNBybAkyvxNdw3b1ZNkwuZVZBFf1apdqErPqMGBvJ5db Z4Xb21AAU0SxJFRgus3stuncqSEKNkOAxI5tNkb6X3YVZYB0pd9errENYG5faVP98M0B vsYqdESRyC0jUW4zPv5+Op1Ac2Lww0Ov3NOgVSHv225TFeEQxRAmKGNCALwkozSdpUbQ qKs9QhZiBQWWTQLjTjDs3ml7aF7mk6ZNWCvpYeeSLQ2OdUjd6forMKqjYa4jzivyK3PT dxUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=YzilF9zyhdFXx64R4lDSMRLhRzWY8AyGWoBbhI0uEdQ=; b=IoSB7CPz67IxNxrGyREpZbHdOvmug78shKabdq+MMkFbpvOW8kC3m6rYkCHsNMdFk6 bPAkCZ3rbpUpeEZ8yY+B7jwTJ6aX/v8Nv5lkctyoo0ZS8Uao8lCTVJv2u84jpPjciA1y WInzKdi4YtT8doDL3pXbUlTsie4LN4amyT8R3ZyOKkSU3+T18hRa9l4WUXFopXW9JeuW oKS0p+LXw+cu4Ijc8n6KJ7kvqo3wUpAsUFbE0tDuvbaHhD/HeMUzsvqeI8vLJuwKyUII cWXLPG/EUJ3hPc1ERMwcDW99LyLymzgsZWL9TyNOhDGtjC/KsOZrgB/Okv93wxNWuoBw 25XQ== X-Gm-Message-State: ACgBeo2wGjbXskunYMVTaMM2MCLPiBNs03C61+vG16R2t/m1zDomzh1F KceSPYxR1Pu1nC6zOHbAis5nj8Vn4dt1ni+q X-Google-Smtp-Source: AA6agR6G2isKwZWcB3k0V7CEUHe0HZh9OnS3xUMYEy2FnB3CabPkpTFHsqps7BilhIeDSfYPlH415Q== X-Received: by 2002:a05:620a:4899:b0:6b8:fe02:8609 with SMTP id ea25-20020a05620a489900b006b8fe028609mr12780933qkb.721.1659939040098; Sun, 07 Aug 2022 23:10:40 -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 j7-20020ac86647000000b0031f0485aee0sm7257874qtp.88.2022.08.07.23.10.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:10:39 -0700 (PDT) From: Philip McGrath Date: Mon, 8 Aug 2022 02:10:07 -0400 Message-Id: <00975c823227acd41fc714d237449834f88d1530.1659936550.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On systems for which 'chez-scheme-for-racket' cannot generate native code, use the applicable 'pbarch' machine type as with 'racket-vm-cs'. In the process, this commit adds support for cross-compiling 'chez-scheme-for-racket', though not support for compiling it as a cross-compiler to use in cross-compiling other Scheme programs. * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move 'chez-scheme-bootstrap-bootfiles' to ... [inputs]: ... this field. [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. (chez-scheme-for-racket)[native-inputs]: Add 'this-package' when cross-compiling. Move 'chez-scheme-for-racket-bootstrap-bootfiles' to ... [inputs]: ... this field. Add 'libffi' for 'pbarch' machine types. [arguments]: Support cross-compilation and 'pbarch' machine types. [supported-systems]: Use '%supported-systems'. [description]: Update. --- gnu/packages/chez.scm | 93 ++++++++++++++++++++++++++++++++----------- 1 file changed, 70 insertions(+), 23 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 2afef8d3bd..0ab82ef8bf 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -38,6 +38,7 @@ (define-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages netpbm) #:use-module (gnu packages racket) @@ -318,6 +319,7 @@ (define-public chez-scheme (build-system gnu-build-system) (inputs (list + chez-scheme-bootstrap-bootfiles `(,util-linux "lib") ;<-- libuuid zlib lz4 @@ -326,8 +328,7 @@ (define-public chez-scheme ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 libx11)) - (native-inputs (list chez-scheme-bootstrap-bootfiles - chez-nanopass-bootstrap + (native-inputs (list chez-nanopass-bootstrap stex-bootstrap)) (native-search-paths (list (search-path-specification @@ -366,7 +367,7 @@ (define-public chez-scheme (when (directory-exists? "boot") (delete-file-recursively "boot")) (copy-recursively - (search-input-directory (or native-inputs inputs) + (search-input-directory inputs "lib/chez-scheme-bootfiles") "boot"))) ;; NOTE: The custom Chez 'configure' script doesn't allow @@ -476,13 +477,21 @@ (define-public chez-scheme-for-racket ;; When updating, remember to also update %racket-version in racket.scm. (source #f) ; avoid problematic cycle with racket.scm (inputs - (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib"))) + (let ((inputs (modify-inputs (package-inputs chez-scheme) + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles) + (delete "libx11" "util-linux:lib")))) + (if (racket-cs-native-supported-system?) + inputs + (modify-inputs inputs + (append libffi))))) (native-inputs - (modify-inputs (package-native-inputs chez-scheme) - (append zuo) - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) + (append zuo)))) + (if (%current-target-system) + (modify-inputs native-inputs + (append this-package)) + native-inputs))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) @@ -496,6 +505,21 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate + #$(string-append "-m=" (or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type))) + ;; ^ could skip -m= for non-cross non-pbarch builds + #$@(if (racket-cs-native-supported-system?) + #~() + ;; not inferred on non-native platforms: see + ;; https://racket.discourse.group/t/950/9 + #~("--enable-libffi" + "CFLAGS=-g -O2 -D_REENTRANT -pthread" + "LIBS=-lm -ldl -lrt -lffi -lncurses")) + #$@(if (%current-target-system) + (list (string-append "--toolprefix=" + (%current-target-system) + "-")) + '()) ,@(let* ((chez+version (strip-store-file-name #$output)) (doc-prefix (assoc-ref %outputs "doc")) (doc-dir (string-append doc-prefix @@ -518,25 +542,46 @@ (define-public chez-scheme-for-racket #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) - (unpack (assoc-ref those-phases 'unpack))) + (gnu:unpack (assoc-ref those-phases 'unpack)) + (gnu:build (assoc-ref those-phases 'build))) (modify-phases those-phases + (replace 'build + ;; need to override target for cross-compilation + ;; https://racket.discourse.group/t/950/19 + (lambda* (#:key target (make-flags '()) (parallel-build? #t) + #:allow-other-keys) + (gnu:build #:make-flags (if target + (cons "kernel" make-flags) + make-flags) + #:parallel-build? parallel-build?))) (replace 'install-docs - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key native-inputs (make-flags '()) + #:allow-other-keys) + ;; The tests for 'native-inputs' are cross-compilation + ;; workarounds that would be better to address upstream: + ;; see . + (when native-inputs + (substitute* "Makefile" + (("install-docs: build \\$[(]ZUO[)]") + "install-docs: $(ZUO)"))) (apply invoke "make" "install-docs" - make-flags))) + (if native-inputs + (cons (string-append + "Scheme=" + (search-input-file native-inputs + "/bin/scheme")) + make-flags) + make-flags)))) (replace 'unpack (lambda args - (unpack #:source #$(or (package-source this-package) - (package-source racket-vm-bc))))) + (gnu:unpack #:source #$(or (package-source this-package) + (package-source racket-vm-bc))))) (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) - ;; 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)) + (supported-systems %supported-systems) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, ;; but it's designed to be a friendly landing place for people @@ -549,13 +594,17 @@ (define-public chez-scheme-for-racket Main additions to Chez Scheme in the Racket variant: @itemize @bullet @item -AArch64 support +AArch64 code generation @item -Portable bytes (@code{pb}) support, which is mainly useful for bootstrapping -a build on any supported platform +Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a +build on any platform, but can also be used on platforms without native-code +generation, compiled via Emscripten, linked with @code{libffi}, or used with +bytecode partially compiled to C @item Unboxed floating-point arithmetic and flvectors @item +Faster multiplication and division for large exact numbers +@item Type reconstruction during optimization (especially for safe code) @item Continuation attachments @@ -566,8 +615,6 @@ (define-public chez-scheme-for-racket @item Ordered finalization, immobile (but collectable) objects, weak/ephemeron generic hash tables, and reference bytevectors -@item -Faster multiplication and division for large exact numbers @end itemize") (license asl2.0))) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 08:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165994883227267 (code B ref 57050); Mon, 08 Aug 2022 08:54:02 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 08:53:52 +0000 Received: from localhost ([127.0.0.1]:39167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKyWF-00075i-Dg for submit@debbugs.gnu.org; Mon, 08 Aug 2022 04:53:52 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:11461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKyWB-00075X-0w for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 04:53:50 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M1VNl2hDHz3wV0; Mon, 8 Aug 2022 10:53:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1659948823; bh=0rPGzw2ALIzS2fJ05fp08B5T/L9IauUbLS/YD9Czo6A=; h=Subject:From:To:Date:In-Reply-To:References; b=oHjnbMrlk78sRE73Ky6XTzKegoG56VWhC5doONzeY5vwxxmpmO9XjsmIvimNVYnBv wnvxYPqweDKOSxGSLG6AW4D3aszHpe7z0+9OM2/oSDvgBBkYDifA/SUqoh+oFch5Ay PEszQGGoSBnk+u3tbKeWG1xoAbXb6faZCsSH/AU8= Message-ID: <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Mon, 08 Aug 2022 10:53:42 +0200 In-Reply-To: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> References: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -0.4 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Montag, dem 08.08.2022 um 02:10 -0400 schrieb Philip McGrath: > The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's > 'process' > function seems to have caused parts of the Chez Scheme test suite to > have been silently skipped. The issue was exposed by the upcoming > changes to Racket's build system. > > * gnu/packages/patches/chez-scheme-bin-sh.patch, > gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches. > * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to > ... > * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, refresh > with > upstream, and shorten the macro name. > * gnu/local.mk (dist_patch_DATA): Update accordingly. > * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. > (racket-vm-common-configure-flags): Likewise. > * gnu/packages/chez.scm (chez-scheme)[origin]: Likewise. > [inputs]: Add bash-minimal. > [arguments]<#:configure-flags>: Set CPPFLAGS to enable new patches. > --- >  gnu/local.mk                                  |  4 +- >  gnu/packages/chez.scm                         |  5 ++ >  gnu/packages/patches/chez-scheme-bin-sh.patch | 66 > +++++++++++++++++++ >  .../patches/racket-chez-scheme-bin-sh.patch   | 66 > +++++++++++++++++++ >  ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 ++++---- >  gnu/packages/racket.scm                       |  5 +- >  6 files changed, 158 insertions(+), 16 deletions(-) >  create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch >  create mode 100644 gnu/packages/patches/racket-chez-scheme-bin- > sh.patch >  rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => > racket-rktio-bin-sh.patch} (79%) > > diff --git a/gnu/local.mk b/gnu/local.mk > index 234f21ad33..e827feed36 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -940,6 +940,7 @@ dist_patch_DATA > =                                           \ >    %D%/packages/patches/ceph-boost-compat.patch                 \ >    %D%/packages/patches/ceph-rocksdb-compat.patch               \ >    %D%/packages/patches/cheese-vala- > update.patch                        \ > +  %D%/packages/patches/chez-scheme-bin- > sh.patch                        \ >    %D%/packages/patches/chmlib-inttypes.patch                   \ >    %D%/packages/patches/cl-asdf-config- > directories.patch                \ >    %D%/packages/patches/clamav-config-llvm-libs.patch           \ > @@ -1769,7 +1770,8 @@ 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-minimal-sh-via-rktio.patch       \ > +  %D%/packages/patches/racket-chez-scheme-bin-sh.patch         \ > +  %D%/packages/patches/racket-rktio-bin-sh.patch               \ >    %D%/packages/patches/remake-impure- > dirs.patch                        \ >    %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ >    %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch      \ > diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm > index 4c253effa0..66098c7a24 100644 > --- a/gnu/packages/chez.scm > +++ b/gnu/packages/chez.scm > @@ -34,6 +34,7 @@ (define-module (gnu packages chez) >    #:use-module (guix build-system copy) >    #:use-module (guix build-system gnu) >    #:use-module (guix build-system copy) > +  #:use-module (gnu packages bash) >    #:use-module (gnu packages compression) >    #:use-module (gnu packages ncurses) >    #:use-module (gnu packages ghostscript) > @@ -269,6 +270,7 @@ (define-public chez-scheme >                 (base32 >                  > "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) >                (file-name (git-file-name name version)) > +              (patches (search-patches "chez-scheme-bin-sh.patch")) >                (snippet #~(begin >                             (use-modules (guix build utils)) >                             ;; TODO: consider putting this in a (guix > ...) or > @@ -287,6 +289,7 @@ (define-public chez-scheme >        `(,util-linux "lib") ;<-- libuuid >        zlib >        lz4 > +      bash-minimal ;<-- for process >        ncurses ;<-- for expeditor >        ;; for X11 clipboard support in expeditor: >        ;; > https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 > @@ -313,6 +316,8 @@ (define-public chez-scheme >                          (cut memq 'threads <>)) >                   #~("--threads") >                   #~()) > +          ,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" > +                          #$(file-append bash-minimal "/bin/sh")) >            "ZLIB=-lz" >            "LZ4=-llz4" >            "--libkernel" > diff --git a/gnu/packages/patches/chez-scheme-bin-sh.patch > b/gnu/packages/patches/chez-scheme-bin-sh.patch > new file mode 100644 > index 0000000000..e6228e3264 > --- /dev/null > +++ b/gnu/packages/patches/chez-scheme-bin-sh.patch > @@ -0,0 +1,66 @@ > +From c170f0f3a326f293ee1f460a70303382966ca41b Mon Sep 17 00:00:00 > 2001 > +From: Philip McGrath > +Date: Thu, 19 May 2022 13:41:56 -0400 > +Subject: [PATCH] patch s_process for "/bin/sh" on Guix > + > +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` > +from a previous patch. > + > +If: > + > +    1. The `GUIX_RKTIO_BIN_SH` macro is defined; and > + > +    2. The path specified by `GUIX_RKTIO_BIN_SH` exists; > + > +then `s_process` will call `execl` with the file specified by > +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". > + > +This patch does not change the behavior of `s_system`, which relies > +on `system` from the C library. > +--- > + c/prim5.c | 20 +++++++++++++++++++- > + 1 file changed, 19 insertions(+), 1 deletion(-) > + > +diff --git a/c/prim5.c b/c/prim5.c > +index 5a07893..926d68d 100644 > +--- a/c/prim5.c > ++++ b/c/prim5.c > +@@ -746,6 +746,22 @@ static ptr s_process(char *s, IBOOL stderrp) { > + > +     INT tofds[2], fromfds[2], errfds[2]; > +     struct sigaction act, oint_act; > ++    /* BEGIN PATCH for Guix */ > ++#if defined(GUIX_RKTIO_BIN_SH) > ++# define GUIX_AS_a_STR_HELPER(x) #x > ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) > ++    /* A level of indirection makes `#` work as needed: */ > ++    struct stat guix_stat_buf; > ++    char *guix_sh = > ++      (0 == stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf)) > ++      ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) > ++      : "/bin/sh"; > ++# undef GUIX_AS_a_STR > ++# undef GUIX_AS_a_STR_HELPER > ++#else /* GUIX_RKTIO_BIN_SH */ > ++    char *guix_sh = "/bin/sh"; > ++#endif > ++    /* END PATCH for Guix */ /* BEGIN PATCH for Guix */ and /* END PATCH for Guix */ is in my humble opinion superfluous (though apparently also present in the already exsting patch, whose author might disagree). Also, I think this could easily be submitted upstream if you named it RKTIO_SHELL and rktio_shell respectively, with the default to "/bin/sh". Then, we'd simply have to -DRKTIO_SHELL=/path/to/bin/sh in our #:make-flags. > ++        /* BEGIN PATCH for Guix */ > ++        execl(guix_sh, guix_sh, "-c", s, NULL); > ++        /* END PATCH for Guix */ Likewise. As for absorbing racket-specific patches into chez-scheme itself, I'm not too sure if I agree with that approach. Maybe a different prefix rather than RKTIO should be used here – one that fits chez. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 09:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165994929928285 (code B ref 57050); Mon, 08 Aug 2022 09:02:01 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 09:01:39 +0000 Received: from localhost ([127.0.0.1]:39197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKydn-0007M7-EV for submit@debbugs.gnu.org; Mon, 08 Aug 2022 05:01:39 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:37855) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKydj-0007Lw-VE for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 05:01:36 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M1VYm3CYkz1LXt2; Mon, 8 Aug 2022 11:01:32 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4M1VYm3CYkz1LXt2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1659949292; bh=hjjXCdR3v3niXQGftyNiFMTBAa37WO7XMH8I6vYPt4c=; h=Subject:From:To:Date:In-Reply-To:References:From; b=iXAgb+FTg3RRxBlJftqtvnmhKTL1fsZqsEHcVC6vl7VeDTeJ0l52Cst8nvnYjJ0KI LTv9r56d8WyWqSpt66f5mVddu6Nelx2168Tsz5uJYr1Mq9V/3ZwpONgmWBMe+YzYMj /pZcdbIvvcMCKGxKdpTB33KKdb09pVxKozWzzxoU= Message-ID: <96f3cec04fae1abefe2e4273b1aed941e3159752.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Mon, 08 Aug 2022 11:01:31 +0200 In-Reply-To: <0d47e0372925c83fb72ff37c0f00c8196327c636.1659936550.git.philip@philipmcgrath.com> References: <0d47e0372925c83fb72ff37c0f00c8196327c636.1659936550.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) You should really split this into two patches. One to add Zuo, one to upgrade the Racket stuff. Maybe you need even more steps if Zuo depends on parts of the racket bootstrap. You will probably have to parameterize the Racket origin in a bunch of packages to get things going. As an upside, this added flexibility hopefully comes in handy with the next Racket upgrade. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 5/6] gnu: racket: Use Racket CS on all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 09:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165994981129119 (code B ref 57050); Mon, 08 Aug 2022 09:11:02 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 09:10:11 +0000 Received: from localhost ([127.0.0.1]:39202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKym3-0007Zb-DA for submit@debbugs.gnu.org; Mon, 08 Aug 2022 05:10:11 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:53936) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKym0-0007ZM-Fo for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 05:10:09 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M1Vlc3DCfz3wfF; Mon, 8 Aug 2022 11:10:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1659949804; bh=OWi4hfOrM3xHvaQoZjXSoxUoryi2YHDJN0jfjs5z4tE=; h=Subject:From:To:Date:In-Reply-To:References; b=WmIhHxWve2ohWaBRPIyTqHQjC36noNX0UkYu9CYXDKwNebhZ3P3drlhpoARNMVyVj I7QuJcqSFUHPNvZdu22e7W1zfRD8ZuV7JoWgNfGhNoRKF6Lj+TN3OVkE9cv3Z29hvo nDkxi6rNjVW7Uy3q7mIWGWFNZdugE+iFANZXPl5U= Message-ID: <3e75d0e60cb79ca6c8762f6afba9395e98ce3741.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Mon, 08 Aug 2022 11:10:03 +0200 In-Reply-To: <497d143fafeb9c866e278454dd0b1235796ac68f.1659936550.git.philip@philipmcgrath.com> References: <497d143fafeb9c866e278454dd0b1235796ac68f.1659936550.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Montag, dem 08.08.2022 um 02:10 -0400 schrieb Philip McGrath: > On systems for which Racket CS cannot generate native code, it can > use a 'pbarch' machine type---a variant of the ``portable bytecode'' > backend specialized to word size and endianness---allowing Racket CS > to replace Racket BC on those systems while maintaining comparable > performance. (Racket BC lacks JIT support for those systems anyway.) > > This patch adds 'pbarch' support to 'racket-vm-cs' and > 'chez-scheme-for-racket-bootstrap-bootfiles' and changes 'racket' and > 'racket-minimal' to use 'racket-vm-cs' on all systems. > > In the process, it also adds support for cross-compiling the > bootfiles, 'racket-vm-cgc', 'racket-vm-bc', and 'racket-vm-cs'. This > is not enough to cross-compile 'racket-minimal' or 'racket': that > would require building and loading cross-compilation pluggins for > 'racket-vm-cs' which will be much easier once we can build the > package 'raco-cross'. > > This patch does not address 'chez-scheme-for-racket'. This patch still does a lot. I'd suggest splitting it into at least two parts: one to build pbarch, possibly one to address cross-compiling (i.e. the adding of this-package to native-inputs), and one to use it everywhere. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 6/6] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 09:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.165995011929680 (code B ref 57050); Mon, 08 Aug 2022 09:16:01 +0000 Received: (at 57050) by debbugs.gnu.org; 8 Aug 2022 09:15:19 +0000 Received: from localhost ([127.0.0.1]:39217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKyr1-0007ie-Bm for submit@debbugs.gnu.org; Mon, 08 Aug 2022 05:15:19 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:30106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKyqz-0007iW-5V for 57050@debbugs.gnu.org; Mon, 08 Aug 2022 05:15:17 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M1VsZ4M3wz3wR8; Mon, 8 Aug 2022 11:15:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1659950114; bh=5bKDo84sq36yf4Jchil/u6pxnOp/3ZtzCeMmg7ixgjo=; h=Subject:From:To:Date:In-Reply-To:References; b=ee+7UJN6rOTyAA7F4xKHPujtqJ43Mfr2YmpO80nra7Qyel5EvvD5XY8flhqZqLAfy eTcObuRdOUXCxS/RqX/L7odE42ynQ6h5ZavQx7nZ/iPfEEI2FIIoD69EHdH2vqbaa5 SZ/yly1zQJMUb67MvlfuxFxRR5vxDArOBYbdlvnc= Message-ID: <1b4362544ff95c3868d84bce4822afaede9b155a.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Mon, 08 Aug 2022 11:15:13 +0200 In-Reply-To: <00975c823227acd41fc714d237449834f88d1530.1659936550.git.philip@philipmcgrath.com> References: <00975c823227acd41fc714d237449834f88d1530.1659936550.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Montag, dem 08.08.2022 um 02:10 -0400 schrieb Philip McGrath: > On systems for which 'chez-scheme-for-racket' cannot generate native > code, use the applicable 'pbarch' machine type as with 'racket-vm- > cs'. > > In the process, this commit adds support for cross-compiling > 'chez-scheme-for-racket', though not support for compiling it as a > cross-compiler to use in cross-compiling other Scheme programs. > > * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move > 'chez-scheme-bootstrap-bootfiles' to ... > [inputs]: ... this field. > [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. > (chez-scheme-for-racket)[native-inputs]: Add 'this-package' when > cross-compiling. Move 'chez-scheme-for-racket-bootstrap-bootfiles' to > ... > [inputs]: ... this field. Add 'libffi' for 'pbarch' machine types. > [arguments]: Support cross-compilation and 'pbarch' machine types. > [supported-systems]: Use '%supported-systems'. > [description]: Update. > --- Also split into three: 1. move the bootfiles and unpack them correctly (I suspect this is a noop because cross-compilation is not supported atm), 2. add the machine types and update %supported-systems, 3. cross- compile. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 20:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org, Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16600767847098 (code B ref 57050); Tue, 09 Aug 2022 20:27:02 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 20:26:24 +0000 Received: from localhost ([127.0.0.1]:45190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLVo0-0001qP-2P for submit@debbugs.gnu.org; Tue, 09 Aug 2022 16:26:24 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:47301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLVnx-0001q9-A2 for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 16:26:22 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 24ABB5C0246; Tue, 9 Aug 2022 16:26:15 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Tue, 09 Aug 2022 16:26:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660076775; x= 1660163175; bh=hetiSWDKqG4nYXQCuD/4IzXCkiYLD7/99+ApAj3xj7M=; b=c 8sydSBbjZxUXI8M69g/yg8L1AbRI74AfLMK8KIjlUcftErTx6qXPcnmmByMZbp58 WZV0mG2S4vsFZMwdLI9DD/xuY++noJ+te3IEIvriz1TGZv99NxhYqrhU5xfn0dyc aAD5mXGivWuo37Jqtu6DH+Vs+USWIocd8GlUAa2ewoRT8waeH+XQ8nMXZn6QHkUG yXTdld7jJLLXqwIfBKtZ8BzMfx7iaS3kQde5wcaij277d1PFaehJzHxpn5B+7W7a deCHHKsO7Wdq58MjIab9u1tDrM9RW/mi64MzL6aqKSOACTAUvitaNzCFXH+z1fXn NLWiPspiFlt9OMjq7/YWg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660076775; x=1660163175; bh=hetiSWDKqG4nYXQCuD/4IzXCkiYL D7/99+ApAj3xj7M=; b=S8eoim3RbyDzCFqfWGR/4+WlBIus/m//7e7MzNWkvfqJ QhAaaEFi2lLmi/+oj2RWSAH7PEd0LC4ZZqaJsHk3gv2QEiNeKO+LyqFLohin/QnT 1M/QFXbX1IbNppz0sEOY8o0qdqDbbgShBNC8/TeoBUiG+zOBYcRBkvbzAfZCsG/S gpUp25rhZTC5d/3FLYCAdMsGckSApfmcP9Nw9KtrQY1sS8EaJFQK5wWTHOchFKjB NkynWeTRWe51sxi5JmTYlO5ieBHEuaheRZMAqB3egcnzZr6ZN1FlDgyfOsyQSPcx 8vJz2DMqDzVhwP06/QScUgEm+ZeW4U4dov4pFB1v1w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegtddgudehtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkjghfgggtsehgtderredttdejnecuhfhrohhmpefrhhhilhhi phcuofgtifhrrghthhcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh eqnecuggftrfgrthhtvghrnhepkefhheetjeegleelheffvdevjeeludeufeffteelheev gfffvdehhedvffejueejnecuffhomhgrihhnpehgnhhurdhorhhgpdhgihhtlhgrsgdrtg homhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehp hhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 9 Aug 2022 16:26:14 -0400 (EDT) From: Philip McGrath Date: Tue, 09 Aug 2022 16:25:54 -0400 Message-ID: <10947119.NyiUUSuA9g@avalon> In-Reply-To: <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> References: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart4728651.usQuhbGJ8B"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --nextPart4728651.usQuhbGJ8B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Philip McGrath Subject: Re: [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Date: Tue, 09 Aug 2022 16:25:54 -0400 Message-ID: <10947119.NyiUUSuA9g@avalon> Hi, On Monday, August 8, 2022 4:53:42 AM EDT Liliana Marie Prikler wrote: > Am Montag, dem 08.08.2022 um 02:10 -0400 schrieb Philip McGrath: > > +diff --git a/c/prim5.c b/c/prim5.c > > +index 5a07893..926d68d 100644 > > +--- a/c/prim5.c > > ++++ b/c/prim5.c > > +@@ -746,6 +746,22 @@ static ptr s_process(char *s, IBOOL stderrp) { > > + > > + INT tofds[2], fromfds[2], errfds[2]; > > + struct sigaction act, oint_act; > > ++ /* BEGIN PATCH for Guix */ > > ++#if defined(GUIX_RKTIO_BIN_SH) > > ++# define GUIX_AS_a_STR_HELPER(x) #x > > ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) > > ++ /* A level of indirection makes `#` work as needed: */ > > ++ struct stat guix_stat_buf; > > ++ char *guix_sh =3D > > ++ (0 =3D=3D stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf= )) > > ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) > > ++ : "/bin/sh"; > > ++# undef GUIX_AS_a_STR > > ++# undef GUIX_AS_a_STR_HELPER > > ++#else /* GUIX_RKTIO_BIN_SH */ > > ++ char *guix_sh =3D "/bin/sh"; > > ++#endif > > ++ /* END PATCH for Guix */ >=20 > /* BEGIN PATCH for Guix */ and /* END PATCH for Guix */ is in my humble > opinion superfluous (though apparently also present in the already > exsting patch, whose author might disagree). My goal here originally was making it clear in `guix build --source` exactl= y=20 what we'd changed from upstream. (That's less relevant for the patches with= =20 "backport" in the name, which have all been merged upstream.) It certainly = is=20 debatable, given that "guix" is mentioned in the variable/macro names, but,= =20 given that it's currently there, I'm not inclined to change the status quo. > Also, I think this could easily be submitted upstream if you named it > RKTIO_SHELL and rktio_shell respectively, with the default to > "/bin/sh". Then, we'd simply have to -DRKTIO_SHELL=3D/path/to/bin/sh in > our #:make-flags. >=20 I'm not strongly opposed to sending these patches upstream. The main reason= I=20 haven't, and also the reason that, were I a Racket committer (which I'm not= ),=20 I'd be slightly hesitant to merge them, is that I can't think of a=20 circumstance other than Guix for which these patches would be useful: even = Nix=20 apparently provides "/bin/sh" and "/bin/env" in build containers. If the patches are indeed specific to Guix, they haven't been a burden to=20 maintain=E2=80=94this is the only time they've been changed at all=E2=80=94= and keeping them=20 ourselves gives us maximum flexibility to change them if we do want to for = any=20 reason. In any case, even if we do upstream them, we'd still need the patches until= =20 8.7. >=20 > As for absorbing racket-specific patches into chez-scheme itself, I'm > not too sure if I agree with that approach. Maybe a different prefix > rather than RKTIO should be used here =E2=80=93 one that fits chez. >=20 I can understand the hesitation, but I think on balance these are not "Rack= et- specific patches". First, just in case this wasn't clear, the issue affects= both=20 variants of Chez Scheme: see the end of this email for an example. More=20 generally, any programming language that provides a way to run shell comman= ds=20 will need to deal with this issue: that includes libc's `system` function (= I=20 haven't looked at what we do there), and it also came up with SML/NJ: https= :// lists.gnu.org/archive/html/help-guix/2021-11/msg00036.html =46or the packages that are developed in the main Racket Git repository, I = would=20 be loathe to use more than one preprocessor macro for this purpose. While a= t=20 the moment it works nicely for us to control all of the intermediate build= =20 steps explicitly as Guix packages, many build modes handle some of those st= eps=20 automatically, and it would be very unpleasant to have to configure with th= ree=20 different flags, potentially in both CPPFLAGS and CPPFLAGS_FOR_BUILD. The question, then, comes down to upstream Chez Scheme, and to me the benef= its=20 of using the same macro for these two very closely related projects far=20 outweighs the downside. (For one metric of their interrelationship, over 10= %=20 of the commits to upstream Chez since it became free software in 2016 have= =20 come from Racket contributors=E2=80=94though this metric badly undercounts = the c.=20 375,000 lines of code developed by Dybvig et al. since 1984.) I guess another possibility would be to call the macro something like=20 GUIX_BIN_SH. That would make sense if we intended to adopt this approach mo= re=20 broadly, as I suggested in the email linked above about SML/NJ, but I think= =20 we'd need some consensus in that case to reserve a concise name that would= n't=20 conflict with other uses in Guix. =2DPhilip =2D-8<---------------cut here---------------start------------->8--- philip@avalon:~$ guix shell --container chez-scheme -- scheme Chez Scheme Version 9.5.8 Copyright 1984-2022 Cisco Systems, Inc. > (get-string-all (car (process "echo $BASH"))) "/bin/sh\n" >=20 philip@avalon:~$ guix shell --container chez-scheme-for-racket -- scheme Chez Scheme Version 9.5.7.6 Copyright 1984-2021 Cisco Systems, Inc. > (get-string-all (car (process "echo $BASH"))) "/bin/sh\n" >=20 philip@avalon:~$ philip@avalon:~$ guix time-machine --url=3Dhttps://gitlab.com/philip1/guix-= patches --commit=3D5e5e8f491c7cbee3ef7a21437a52675dd47d186e --disable- authentication -- shell --container chez-scheme -- scheme Updating channel 'guix' from Git repository at 'https://gitlab.com/philip1/ guix-patches'... guix time-machine: warning: channel authentication disabled Computing Guix derivation for 'x86_64-linux'... - Chez Scheme Version 9.5.8 Copyright 1984-2022 Cisco Systems, Inc. > (get-string-all (car (process "echo $BASH"))) "/gnu/store/chfwin3a4qp1znnpsjbmydr2jbzk0d6y-bash-minimal-5.1.8/bin/sh\n" >=20 philip@avalon:~$ guix time-machine --url=3Dhttps://gitlab.com/philip1/guix-= patches --commit=3D5e5e8f491c7cbee3ef7a21437a52675dd47d186e --disable- authentication -- shell --container chez-scheme-for-racket -- scheme Updating channel 'guix' from Git repository at 'https://gitlab.com/philip1/ guix-patches'... guix time-machine: warning: channel authentication disabled Computing Guix derivation for 'x86_64-linux'... - Chez Scheme Version 9.5.7.6 Copyright 1984-2021 Cisco Systems, Inc. > (get-string-all (car (process "echo $BASH"))) "/gnu/store/chfwin3a4qp1znnpsjbmydr2jbzk0d6y-bash-minimal-5.1.8/bin/sh\n" >=20 =2D-8<---------------cut here---------------end--------------->8--- --nextPart4728651.usQuhbGJ8B Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmLywtIACgkQygNjjfo/ HHprphAAtObMqsomh1epZIg2h/O/j1gKZkGOTpcHxZVdBOoLdgSwhAt8lXo/Vvo8 p6ig3b9L7tYgRY37BJPo2L5TBWiMo/vwIT4MTmaU46f9Zl8dnOJrX04yv4X4L1zu gtoBll5UWoLB4E6A6KPgBEh5ZvARwTXQ8tdmrM8nq73nWM5bWCwS79gf62xRQOxL /9twly4clqqZ4CgYJYr9ISZfj6/jwLWXRBnmPlyTiP+UU44OP9w+WKQUQVzssIc5 cHKECptyy1Cqz++AzkXVHdUIg67JMufRYrKGmeW0JfgkH9C2E1UzlM0keQdlha6G /oz9r/JcUBH1JLNsFAUe7rkZrXtADBehuQwchs1YLuuG+uYiCksNHVBI4+sGnni6 //Rhqvbro0becNHHpz6xgLDGfN/kxE5hVbSV5n48ibf0IiE7c+CSfsTTbBYZX5Vp 0RoVz5wzJDXqma8Sk9JRZBJUAJ3Wz2SX4o/Cc12YMIKoz8aBgTCQ4drcJFlaRItc aFVc7ru4SIogLSJIgXQki0o1Xso48AUcI8AMzZf/DaRAVpD0EBl2j3qJkVnYH2GH y2if+mx52aS6CDIIEHHeqnUjrGkI/wMsBHHA+bH8x6YR5UJz8gGwiAE/9BEmV8vD jiCgT1NExFwmiBerpgDjgmUTmEtCB3UV6OlQVfJH9H5v6hFL0Ic= =6Ozx -----END PGP SIGNATURE----- --nextPart4728651.usQuhbGJ8B-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 20:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org, Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166007862719630 (code B ref 57050); Tue, 09 Aug 2022 20:58:01 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 20:57:07 +0000 Received: from localhost ([127.0.0.1]:45244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWHj-00056Y-EZ for submit@debbugs.gnu.org; Tue, 09 Aug 2022 16:57:07 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:37823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWHd-00055q-PA for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 16:57:05 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 8D9925C0248; Tue, 9 Aug 2022 16:56:56 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 09 Aug 2022 16:56:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660078616; x= 1660165016; bh=QxBYnuPs2YwkjHMhyVhzixQ7iJ6bdAK7t46DVFMVgKU=; b=F P9Wu9zpppz66I5hVzMEFZsCdq0xLHIADhJ6IaMVHOAHgxKLtDRmfs2EPJEUDvDay SvVUWn3nGno1MQvjZX+WoytmNnwlegT02iONdBdWyJ01TdW8ZUqfMnYNkLlbxqHL Vyy7y4hN+qZ6zgN2kuVpyJbTke1y19vOE3Vf1VzMieaEDlBZvPSIhso6jOBTGBgW eDE52stGHZCbnVtjnvj1LvXXUVSiEDfQHoFQU+8ZlMYVF9O9T2VeyG+KFA0W4qBQ qqKCB33AM/tgItoBDHcMD65dCBI6xzdw4nihQwItIwcL/tCdT1Iyh2boaDowOO8r u/0CNxmWEF4N2Dbd0Kheg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660078616; x=1660165016; bh=QxBYnuPs2YwkjHMhyVhzixQ7iJ6b dAK7t46DVFMVgKU=; b=rxdEW55OceiPl5kmd4ul1o6pepFNn75MO3u+hmxJRlru L6tcGDVfQvq4ePi9UR4AmpmdXMW/YoY74gaEsZnn6+0awdm3mkne/vBP3CzvUQ6M cMborudO3SXmBk6S4G1eEzZBSR8bYQio2sR6Hffb8roEu8ldTRh+rg/skgxyfC2o QJTyJI0HpzjyW2Fz23iANTeD4O0VkURa401GWHPgJ5l+2b9lvPsrjSSJIE5BJwtP x8spjwVhgIeJ6UT4Y6Z7xAJJ303W8VGmZwQzDHoYUYX9wU0B9t9ipafIYlEl6fE5 iszMeBeuUoZGnfgaHRatgG44r09Ys2jVOYMlgRkThA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegtddgudehiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkjghfgggtsehgtderredttddvnecuhfhrohhmpefrhhhilhhi phcuofgtifhrrghthhcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh eqnecuggftrfgrthhtvghrnhepieeifeehueetuddtgffftdehheettdduveettdfgledu leelkefgudetjeekgffgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 9 Aug 2022 16:56:56 -0400 (EDT) From: Philip McGrath Date: Tue, 09 Aug 2022 16:56:45 -0400 Message-ID: <8096362.Sb9uPGUboI@avalon> In-Reply-To: <96f3cec04fae1abefe2e4273b1aed941e3159752.camel@ist.tugraz.at> References: <0d47e0372925c83fb72ff37c0f00c8196327c636.1659936550.git.philip@philipmcgrath.com> <96f3cec04fae1abefe2e4273b1aed941e3159752.camel@ist.tugraz.at> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart4719820.yKVeVyVuyW"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --nextPart4719820.yKVeVyVuyW Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii"; protected-headers="v1" From: Philip McGrath Subject: Re: [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo. Date: Tue, 09 Aug 2022 16:56:45 -0400 Message-ID: <8096362.Sb9uPGUboI@avalon> Hi, On Monday, August 8, 2022 5:01:31 AM EDT Liliana Marie Prikler wrote: > You should really split this into two patches. One to add Zuo, one to > upgrade the Racket stuff. Maybe you need even more steps if Zuo > depends on parts of the racket bootstrap. > > You will probably have to parameterize the Racket origin in a bunch of > packages to get things going. As an upside, this added flexibility > hopefully comes in handy with the next Racket upgrade. > I am especially reluctant to split this patch apart. If I had to, I could make one patch adding the Zuo package with an origin inheriting from the previous %racket-origin, but adjusting the patches, commit, file name, and checksum to make the %racket-origin in this patch. (As I wrote in the patch, Zuo has no dependencies, it's just `cc -o zuo zuo.c`.) Then, a second patch would make %racket-origin as it is in this package, change Zuo to use it, and update the other packages. But I do not see the benefit in doing so. I would still need a commit changing the same set of packages, short of leaving some of them broken. And adding, then immediately removing, a temporary origin for Zuo would seem to me to make reviewing this harder, not easier, both now and when reviewing these changes in the future. The packages developed in the main Racket Git repository are very tightly linked. They are developed there precisely to make sure they are all always at consistent versions. Fighting against that is just going to cause difficulty with every Racket update. For example, there is no commitment that the version of Zuo released with Racket 8.5 will be able to build Racket 8.6. I think this patch is better as a single commit, and at lease as justified as commits like b97f549b14402421fcfb360ddd4cff7de93b9af0. -Philip --nextPart4719820.yKVeVyVuyW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmLyyg0ACgkQygNjjfo/ HHqLzRAAs5ACsXRHCCBY9QdVpq76mNqTv6+Ilw5kztDvJwPUDT8bawGFNkEi1LZ5 frOZKOfzxY5pP/s4uXKvqUkGvI3AAdQ9luWE72NrwNaddb1Qu4xPceRwDXP1Kg6d 07qwjdQrlinaEWk08wEQ1Ic2wT8IOzdBs+EbltuHtKRTPOnX8iLjefTlGPJAE6oI /hG66AGG06es7FF4Gz1daMT64L411WkC07oeLmjkXhjL/h+RbVihSkwlcIFgjO/Q u/Gqdj8zaJTY1H6zoKOhDdXx21Ow4vpxbxZ6An5lfB6m79eVEYpUbXCNYW2K+BvV TviGkW7oaSzkrCksrKMw5i7Zd7IDjvdyT75H8MtrYg1JfZwV9cSudZ2Dkg0s7Kwq 5hxsWb+GRZX+GIR/UO4psZ3/8ym36EmxIXrqP4gHqiufaHLMQyWlbJA4zyEclS2Y Zf9CSX6+3XLAMdekeVSpm/WI5LfqN1mpNTHJES7ZL9niMcqX2+nARBN9fzamrFAT E+JW+v5lYfgFNBWwQFuq+UrVlyistt2sZULnEoNEEbQ1qQkbW4thhhrDJPBkUlBk ipy+MXu5JnNz7jDgLuFuEsEGjgZygnkvvpEB0zORuUmaOF/vvQtVAJoRG3+nvZcP tSkeKzl/L6Ou+TcwHxzPN5TOSzd1Z8gUqcG0GmVMt/yj9HmMTFI= =+TFz -----END PGP SIGNATURE----- --nextPart4719820.yKVeVyVuyW-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 21:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org, Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16600802678360 (code B ref 57050); Tue, 09 Aug 2022 21:25:01 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 21:24:27 +0000 Received: from localhost ([127.0.0.1]:45306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWiB-0002Ak-9O for submit@debbugs.gnu.org; Tue, 09 Aug 2022 17:24:27 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:46908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWi7-0002AW-VU for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 17:24:25 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by laurent.telenet-ops.be with bizsmtp id 5ZQM2800420ykKC01ZQMF3; Tue, 09 Aug 2022 23:24:22 +0200 Message-ID: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> Date: Tue, 9 Aug 2022 23:24:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> <10947119.NyiUUSuA9g@avalon> From: Maxime Devos In-Reply-To: <10947119.NyiUUSuA9g@avalon> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------d7jEue24zuX5S9000rUmKljE" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660080262; bh=H8+mPMUNwsg3o4LIPk8/FqlX47xZpL8wbmOiATZr7pY=; h=Date:Subject:To:References:From:In-Reply-To; b=R0sGqHsvJ1giFZ7twym67RoV55kKCoYNYozjnthwI0R83bVX07W534zwUXmZo3dZ7 cJ6DVWHuj8sav13/0KBhZyc2TvSwMhpDkjf9lOzFwUxNaIQjo/Aahxe2jDVg1MCjE+ 1NI0D+23mGzhjBehnrhYaCQUmMnCvFYkYbTTO0PyTUUqd16qYUxXf5Nz6GWutN8HYA MvRbmGy2YIOw6cViaBh0QQiCevU4ULG6TQYaswS47kslvpD32SyYszNfpW4/2RPAdY 2hWNH5pMhaWrMxBeljnOyHZRpY/Xj6CFqKZzbjB8ED9VjjeZoZu/pUo2koRkqaKLje gQEPAeOjaHr0Q== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------d7jEue24zuX5S9000rUmKljE Content-Type: multipart/mixed; boundary="------------E5Kf8jgTUlJWIUeLF00xKDP0"; protected-headers="v1" From: Maxime Devos To: Philip McGrath , 57050@debbugs.gnu.org, Liliana Marie Prikler Message-ID: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> Subject: Re: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". References: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> <10947119.NyiUUSuA9g@avalon> In-Reply-To: <10947119.NyiUUSuA9g@avalon> --------------E5Kf8jgTUlJWIUeLF00xKDP0 Content-Type: multipart/mixed; boundary="------------HvP7wcmGYtV0KfONAZzMwgr3" --------------HvP7wcmGYtV0KfONAZzMwgr3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMDktMDgtMjAyMiAyMjoyNSwgUGhpbGlwIE1jR3JhdGggd3JvdGU6DQoNCj4gSSBndWVz cyBhbm90aGVyIHBvc3NpYmlsaXR5IHdvdWxkIGJlIHRvIGNhbGwgdGhlIG1hY3JvIHNvbWV0 aGluZyBsaWtlDQo+IEdVSVhfQklOX1NILiBUaGF0IHdvdWxkIG1ha2Ugc2Vuc2UgaWYgd2Ug aW50ZW5kZWQgdG8gYWRvcHQgdGhpcyBhcHByb2FjaCBtb3JlDQo+IGJyb2FkbHksIGFzIEkg c3VnZ2VzdGVkIGluIHRoZSBlbWFpbCBsaW5rZWQgYWJvdmUgYWJvdXQgU01ML05KLCBidXQg SSB0aGluaw0KPiB3ZSdkIG5lZWQgc29tZSBjb25zZW5zdXMgaW4gdGhhdCBjYXNlIHRvIHJl c2VydmUgIGEgY29uY2lzZSBuYW1lIHRoYXQgd291bGRuJ3QNCj4gY29uZmxpY3Qgd2l0aCBv dGhlciB1c2VzIGluIEd1aXguDQoNCkluIHRoZSBnbGliYyBoZWFkZXJzLCB0aGVyZSdzIHNv bWUgKFBPU0lYPykgc3RhbmRhcmQgbWFjcm8gdGhhdCBwb2ludHMgDQphdCAiL2dudS9zdG9y ZS8uLi4vYmluL3NoIiAoSSBkb24ndCByZWNhbGwgdGhlIG5hbWUpLCBhbnkgcmVhc29uIHdl IA0KYXJlbid0IHVzaW5nIHRoYXQgbWFjcm8/wqAgVGhhdCB3b3VsZCBiZSBHdWl4LWluZGVw ZW5kZW50LiBJJ20gbm90IHN1cmUgDQppZiBhIC9nbnUvc3RvcmUvLi4uIHByZWZpeCBpcyBp bmNsdWRlZCwgYnV0IGlmIG5vdCwgbWF5YmUgd2UgY291bGQgdHJ5IA0Kb3ZlcnJpZGluZyBp dCB3aXRoIC1ELi4uPSIvZ251L3N0b3JlLy4uLiIsIG9yIGZhaWxpbmcgdGhhdCwgYWRkIGEg DQpwb3N0LXVucGFjayBzdWJzdGl0dXRlKiByZXBsYWNpbmcgW3RoZSBtYWNybyBuYW1lXSAt PiANCiIvZ251L3N0b3JlLy4uLi9iaW4vc2giLg0KDQpHcmVldGluZ3MsDQpNYXhpbWUuDQoN Cg== --------------HvP7wcmGYtV0KfONAZzMwgr3 Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------HvP7wcmGYtV0KfONAZzMwgr3-- --------------E5Kf8jgTUlJWIUeLF00xKDP0-- --------------d7jEue24zuX5S9000rUmKljE Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYvLQhQUDAAAAAAAKCRBJ4+4iGRcl7iCB AP9DBr55t6OEq/UEyiqtQslPJ8FRNfMqQOyyNx0pzETFyQD/TEekp3OhcQJUlMgZ/zotDdla2tyz Mo6Jj/4BOKLjdgQ= =c6+N -----END PGP SIGNATURE----- --------------d7jEue24zuX5S9000rUmKljE-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 21:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Maxime Devos" , "Philip McGrath" , <57050@debbugs.gnu.org>, "Liliana Marie Prikler" Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166008114310909 (code B ref 57050); Tue, 09 Aug 2022 21:40:02 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 21:39:03 +0000 Received: from localhost ([127.0.0.1]:45337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWwJ-0002pr-BQ for submit@debbugs.gnu.org; Tue, 09 Aug 2022 17:39:03 -0400 Received: from knopi.disroot.org ([178.21.23.139]:50170) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLWwH-0002pN-1z for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 17:39:01 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 51F7B40D3B; Tue, 9 Aug 2022 23:38:59 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WAKRzWW198mm; Tue, 9 Aug 2022 23:38:57 +0200 (CEST) Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1660081137; bh=SeTbSq6V2la+YaXgH4CU9KME5wiI1rIWdtppe0d1n8I=; h=Date:Subject:From:To:References:In-Reply-To; b=HKG71bw9yUziDjIKqCAOkQPFwTIQ3Dy7IlUKXm+V8b5hVXD4ALjMOUJJmvyYPc1K9 +kK8dlABMLbO30MrMYvjyxDbqvA5o/BoGS7DpF+OOY9KrtFWzJqJIVIbQ3qM5xzJhy 9H3xDcRtxLfforA2IyTyDd59jSeKqRPLGKdl2sLcVUeSMPX5fjTlQWIfTB4Z/QNyiu /B/ezJjRxqZjRkYly0vVYbmkTDteYTr23vN6OS008U1Gn/eBZ+9i7zkONAdpZYAZiF qMiErYUauZ/wQgUHMqbIKK2Z9FffPnLFJsYl+UScYzQzqGp2vvolOcCpscYBlqHwrH rJQuerTUaEm1A== Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 09 Aug 2022 22:38:56 +0100 Message-Id: From: "(" References: <5e5e8f491c7cbee3ef7a21437a52675dd47d186e.1659936550.git.philip@philipmcgrath.com> <77d198cb202f2fa77ec8b54bc26a3d2e3836792c.camel@ist.tugraz.at> <10947119.NyiUUSuA9g@avalon> <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> In-Reply-To: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue Aug 9, 2022 at 10:24 PM BST, Maxime Devos wrote: > In the glibc headers, there's some (POSIX?) standard macro that points=20 > at "/gnu/store/.../bin/sh" (I don't recall the name), any reason we=20 > aren't using that macro?=C2=A0 That would be Guix-independent. I'm not su= re=20 > if a /gnu/store/... prefix is included, but if not, maybe we could try=20 > overriding it with -D...=3D"/gnu/store/...", or failing that, add a=20 > post-unpack substitute* replacing [the macro name] ->=20 > "/gnu/store/.../bin/sh". I believe you might be referring to , which defines _PATH_BSHELL. It's not standard C nor POSIX though. -- ( From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 21:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxime Devos , 57050@debbugs.gnu.org, Liliana Marie Prikler , "(" Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166008232514586 (code B ref 57050); Tue, 09 Aug 2022 21:59:01 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 21:58:45 +0000 Received: from localhost ([127.0.0.1]:45393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLXFN-0003nB-3p for submit@debbugs.gnu.org; Tue, 09 Aug 2022 17:58:45 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:47055) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLXFH-0003mb-Dg for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 17:58:44 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 65C8A5C0274; Tue, 9 Aug 2022 17:58:32 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Tue, 09 Aug 2022 17:58:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660082312; x= 1660168712; bh=I9aNYA4kpCMCjKPkq5rtSw0nWQo/caA41nouwgiGhQQ=; b=K 1rPmxHsikVQK1aJgSiUwsuXEgCtYIOrmOXCcYHmI2I+IBKFrBAzSDFu35+rzUPCW dtOZLQmX0RYS+ndjKslkoTZNnVF7EkKEEy0N6AfAzr44sNo3WxgHvJ9pYZIySJWO QJVhfUxaTG1xDs0ArRhC4ndrFAzAFvuKnJQ7Xwzu3lrV9pGdRwEfJv/F8VcszXfU FzpygIJroGTm3MY0kNSSa5PB/QGNu5Z6wQtWri2mjQu5+dWtONFaOj5PScr3uMHz Uh79hSHHOJ0LPeVOX9BmAOpijnASmBZ3qNj8W+mV1dkBO3OUKKnEgGEvnEMR288F B21HhPSowZGjYRA9hV6rA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660082312; x=1660168712; bh=I9aNYA4kpCMCjKPkq5rtSw0nWQo/ caA41nouwgiGhQQ=; b=vLzx6Y3r5pDe5ULJasL+Ey0WAZXR/WXteuUuiUaE5tlj IdT9mPXpjVTGQkbzphcxN2d6lDvyYk3chlCsJRxrs4dHbhlSvX01j1+pJUdCphF6 4m2azIcDUhqbhYgiYC/YYs6oznMwZIwSe2l3R7Zg6//fqrR49fkpvyI7/89kCAnY gA4/IsG+qayysykyx1KRViRVFaAXrvFDpcGy+QoNDWGLmIasEqo86Wej1iwpHegx p9Y57TrmwFlCx6ASfmImGT/CN73OgUqpL4kK7tL32WLNP4SK4eNzmNc+Rb68+ojU nFNk7kouPikXDw9m2KGESNb6bC/sDaSAmKkXrL96kw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeguddgtdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfgjfhggtgesghdtreertddtvdenucfhrhhomheprfhhihhlihhp ucfotgfirhgrthhhuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhmqe enucggtffrrghtthgvrhhnpefhffefjeffheeuveefleduueehvefhieegfeekgfejveef tefggeeltedtgeelheenucffohhmrghinheptghpphhrvghfvghrvghntggvrdgtohhmpd hophgvnhhgrhhouhhprdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 9 Aug 2022 17:58:31 -0400 (EDT) From: Philip McGrath Date: Tue, 09 Aug 2022 17:58:18 -0400 Message-ID: <4968242.72vocr9iq0@avalon> In-Reply-To: References: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart5363460.7s5MMGUR32"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --nextPart5363460.7s5MMGUR32 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii"; protected-headers="v1" From: Philip McGrath Date: Tue, 09 Aug 2022 17:58:18 -0400 Message-ID: <4968242.72vocr9iq0@avalon> In-Reply-To: On Tuesday, August 9, 2022 5:38:56 PM EDT ( wrote: > On Tue Aug 9, 2022 at 10:24 PM BST, Maxime Devos wrote: > > In the glibc headers, there's some (POSIX?) standard macro that points > > at "/gnu/store/.../bin/sh" (I don't recall the name), any reason we > > aren't using that macro? That would be Guix-independent. I'm not sure > > if a /gnu/store/... prefix is included, but if not, maybe we could try > > overriding it with -D...="/gnu/store/...", or failing that, add a > > post-unpack substitute* replacing [the macro name] -> > > "/gnu/store/.../bin/sh". > > I believe you might be referring to , which defines _PATH_BSHELL. > > It's not standard C nor POSIX > though. > > -- ( I'd love to be wrong, but I also can't find such a macro. In the glibc source tree, "stdlib/system.c" defines a stub implementation that always fails with ENOSYS, and "sysdeps/posix/system.c" contains: #define SHELL_PATH "/bin/sh" /* Path of the shell. */ #define SHELL_NAME "sh" /* Name to give it. */ Concretely, I think Guix's glibc currently uses /bin/sh dynamically: in my Chez example above, if you replace `process` with `system` (which uses libc's `system`), the result is always "/bin/sh\n". -Philip --nextPart5363460.7s5MMGUR32 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmLy2HoACgkQygNjjfo/ HHpaaRAApknkIY7JrOl0de5PgY5Ol6NmP9SGNOnPR4LhYcA+0cIBZkQhQrtGxatV KGaBhRAfcSwJygA8FTTA4S2cHRSOQaBKPXZRaytWJjZBJSHKv34MiBI+n0kQvRQf wb8y9p8n42tl8RafProB7iWyYhVV3XBVfNzu3IZEOD0zqAF1uY0qCQ5vGdodZ/iP +lIj0p+yJPXYRFUNMkroDiRP2brYZBGZdS9rqgM7JaYmDyo1dljwRirt49o0kXiX fxy9r5pAdhoNI0XbNDeSe0Uy++C2Ca208rQKedC56nR+uVXuICzuXJG7oaN86lby IouI1ioj+Fd4uPhTjER+4RZsIBrGU+EJ2brIxImmuBROHPTGj4t2jJkw1qDlKLCD CKez7CXPpfuZlgEieOUF5SPn+WluuWgSuz7ymrDKgqmrFziZh6ybSz6uox/aWc0s UjGXToB4enuut6RS8qbLMIWkMt5taZHg0H7am0YgXChiM8pAJbD1WgLuMQQYzXv1 54lAFhSm21zj8ifDQY2Kru9PTlgoE+dQiLpas3W14vjdKDX9pNgTSZBsSxMudzhX Z4AJymct33HmvKILq+tBR5BbrSXpNPg6cm3DZSRzCRMZzDeNUAFCR6zv/XInUPKg v2WHAjht32T+BhWC79cfLcF96OUn1UMwTVNk87rxUBvGcfx1JU0= =bmvv -----END PGP SIGNATURE----- --nextPart5363460.7s5MMGUR32-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Aug 2022 22:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Philip McGrath" , "Maxime Devos" , <57050@debbugs.gnu.org>, "Liliana Marie Prikler" Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166008297316553 (code B ref 57050); Tue, 09 Aug 2022 22:10:02 +0000 Received: (at 57050) by debbugs.gnu.org; 9 Aug 2022 22:09:33 +0000 Received: from localhost ([127.0.0.1]:45410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLXPp-0004Iv-4K for submit@debbugs.gnu.org; Tue, 09 Aug 2022 18:09:33 -0400 Received: from knopi.disroot.org ([178.21.23.139]:45572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLXPk-0004Ik-Ig for 57050@debbugs.gnu.org; Tue, 09 Aug 2022 18:09:31 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id F2A7B40DF2; Wed, 10 Aug 2022 00:09:26 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8xdt_euuOO09; Wed, 10 Aug 2022 00:09:26 +0200 (CEST) Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1660082966; bh=EUysiUk5aOYCvITv2TMvshoid7k0FjaGDzK4pPuKRok=; h=Date:Subject:From:To:References:In-Reply-To; b=mbnvJbMDdNYuSIQHtuBzaQkwIqsL/BylHIN5LL61d1yXzj0T6l9Z40yNPSxsTSVQD K4g7CnfNdvbjNAKMHazknX3rwrNdh6eTLMybtnOEgWF2G3YRnXegQIEbNhXFXsUOU1 HaR1o+pB2HZAFFHtv/KU00TR0Nog9nmbRulg6ViM7ZBzC0ttMEaAL2k6YgFjVsEKzU 7crHBObg0YA4HRCi2SiwTr0HR8AI+oy7j854sRxwl2f/E/FqxrxLa2moYQ6coiByYH ivX+WjP0zNap3O5Mk7Sx5K1Op0xIfqbRWjlUmGPhRKa5BTS6XzBF0pGv7S1mwCEdt8 DHf0/0sD6kD2A== Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 09 Aug 2022 23:09:25 +0100 Message-Id: From: "(" References: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> <4968242.72vocr9iq0@avalon> In-Reply-To: <4968242.72vocr9iq0@avalon> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue Aug 9, 2022 at 10:58 PM BST, Philip McGrath wrote: > I'd love to be wrong, but I also can't find such a macro. Have a look at sysdeps/generic/paths.h. -- ( From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Aug 2022 07:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166011686523529 (code B ref 57050); Wed, 10 Aug 2022 07:35:02 +0000 Received: (at 57050) by debbugs.gnu.org; 10 Aug 2022 07:34:25 +0000 Received: from localhost ([127.0.0.1]:45879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLgES-00067R-L7 for submit@debbugs.gnu.org; Wed, 10 Aug 2022 03:34:25 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:35658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLgEP-00067G-Sj for 57050@debbugs.gnu.org; Wed, 10 Aug 2022 03:34:23 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M2hX96LXnz1LZXK; Wed, 10 Aug 2022 09:34:17 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4M2hX96LXnz1LZXK DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660116858; bh=owapFN/JKSH4RWsuDRYj+4J5EbqKUV7LWyPQsKuc0Tc=; h=Subject:From:To:Date:In-Reply-To:References:From; b=vECP0zM+XeaM0bhBEZYKvp3Hf2hxXXtQCMue3epKE81D3EIWkeJoDLTcESFr6XlSb H8ZevjvVhTdDVPUmHnGzcAz81wkcws8SPBuvnWyj3T0uCFOWIkHcTy8AVaxYjOeiSY MHxL3okp8Xh6OT9Rcn+nk6Bp8ZG6QdMPWRJQGcLc= Message-ID: <4cc4eedb34c8fea583b2f41ed1ed52095786fe44.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Wed, 10 Aug 2022 09:34:18 +0200 In-Reply-To: <8096362.Sb9uPGUboI@avalon> References: <0d47e0372925c83fb72ff37c0f00c8196327c636.1659936550.git.philip@philipmcgrath.com> <96f3cec04fae1abefe2e4273b1aed941e3159752.camel@ist.tugraz.at> <8096362.Sb9uPGUboI@avalon> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Dienstag, dem 09.08.2022 um 16:56 -0400 schrieb Philip McGrath: > Hi, > > On Monday, August 8, 2022 5:01:31 AM EDT Liliana Marie Prikler wrote: > > You should really split this into two patches.  One to add Zuo, one > > to > > upgrade the Racket stuff.  Maybe you need even more steps if Zuo > > depends on parts of the racket bootstrap. > > > > You will probably have to parameterize the Racket origin in a bunch > > of > > packages to get things going.  As an upside, this added flexibility > > hopefully comes in handy with the next Racket upgrade. > > > > I am especially reluctant to split this patch apart. > > If I had to, I could make one patch adding the Zuo package with an > origin inheriting from the previous %racket-origin, but adjusting > the patches, commit, file name, and checksum to make the %racket- > origin in this patch. (As I wrote in the patch, Zuo has no > dependencies, it's just `cc -o zuo zuo.c`.) > Then, a second patch would make %racket-origin as it is in this > package, change Zuo to use it, and update the other packages. > > But I do not see the benefit in doing so. I would still need a commit > changing the same set of packages, short of leaving some of them > broken. And adding, then immediately removing, a temporary origin > for Zuo would seem to me to make reviewing this harder, not easier, > both now and when reviewing these changes in the future. I don't think you'd need to add an extra variable for the zuo origin, though. You can simply write (source (origin )) and once you're done switch to (source %racket-origin). That ought to be easy enough to review. As for future series, I sadly can't predict what Racket is up to next. It seems every minor release brings with it a chain of bootstrap changes and that's very exhausting (at least for me it is, but I can imagine it's not that easy for you either). We could place our hopes in the belief that the next Racket upgrade won't be that – then you simply need to bump Racket origin and that's it. But I personally fear it won't be that easy and we should prepare. > The packages developed in the main Racket Git repository are very > tightly linked.  You mean coupled. > They are developed there precisely to make sure they are all always > at consistent versions. Fighting against that is just going to cause > difficulty with every Racket update. For example, there is no > commitment that the version of Zuo released with Racket 8.5 will be > able to build Racket 8.6. > > I think this patch is better as a single commit, and at lease as > justified as commits like b97f549b14402421fcfb360ddd4cff7de93b9af0. Such commits are an exception rather than a norm, and personally, I wouldn't sign them off. Since you claim that zuo has no dependencies, this could easily be avoided, no? Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Aug 2022 11:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org, Liliana Marie Prikler , "(" Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166013200725216 (code B ref 57050); Wed, 10 Aug 2022 11:47:01 +0000 Received: (at 57050) by debbugs.gnu.org; 10 Aug 2022 11:46:47 +0000 Received: from localhost ([127.0.0.1]:46309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLkAh-0006Ye-6B for submit@debbugs.gnu.org; Wed, 10 Aug 2022 07:46:47 -0400 Received: from baptiste.telenet-ops.be ([195.130.132.51]:59720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLkAe-0006YV-Vs for 57050@debbugs.gnu.org; Wed, 10 Aug 2022 07:46:46 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by baptiste.telenet-ops.be with bizsmtp id 5nmf2800d20ykKC01nmgnt; Wed, 10 Aug 2022 13:46:42 +0200 Message-ID: <09795955-8ba6-1bd2-37e7-165105729b8f@telenet.be> Date: Wed, 10 Aug 2022 13:46:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> <4968242.72vocr9iq0@avalon> From: Maxime Devos In-Reply-To: <4968242.72vocr9iq0@avalon> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------hatQUNp59g0D9kq8asSjgyEi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660132003; bh=pjliOTmFPbqblOwi9NH7cVgKmrlamgwRSgsQvKBrB1I=; h=Date:To:References:From:Subject:In-Reply-To; b=W41wNLp9KwUrlfAM68LV8G3h5+BB+Nk6hpBQYkC/UkFpIry2toe0IsHvRFAcq4xxM tDCJT31gf8abYlgiqoAJ23Br3WPPYxr2ypRRKb9qXtixMGK20Ps8dXalozLvgsamap yM9Ikx1EPRj191FaPMabOuzPdIOPjSKDspTk86G9VZcMhDDim6piNXbY27uPjDeP/8 zBn6nzI2kaoR+1XOAsW7UlXyjdEdgBEH40oFxEsk/5TNOCxkSrM5Cq4Jdq9uDE+U1i NuARN5247LFnVFNfWv1e3qciYh3YhHpxIymhDpiglddA2y8ZSPEuPP5Lg9YvG2jRhs QCyoTRg9GiuTA== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------hatQUNp59g0D9kq8asSjgyEi Content-Type: multipart/mixed; boundary="------------fvtjBrLjEVVarzJHa4UUEj9L"; protected-headers="v1" From: Maxime Devos To: Philip McGrath , 57050@debbugs.gnu.org, Liliana Marie Prikler , "(" Message-ID: <09795955-8ba6-1bd2-37e7-165105729b8f@telenet.be> Subject: Re: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". References: <7494a36b-f80d-2365-6148-48b809607b86@telenet.be> <4968242.72vocr9iq0@avalon> In-Reply-To: <4968242.72vocr9iq0@avalon> --------------fvtjBrLjEVVarzJHa4UUEj9L Content-Type: multipart/mixed; boundary="------------d1WsoffDF7BIHXwzZDGKCLj0" --------------d1WsoffDF7BIHXwzZDGKCLj0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMDktMDgtMjAyMiAyMzo1OCwgUGhpbGlwIE1jR3JhdGggd3JvdGU6DQoNCj4gT24gVHVl c2RheSwgQXVndXN0IDksIDIwMjIgNTozODo1NiBQTSBFRFQgKCB3cm90ZToNCj4+IE9uIFR1 ZSBBdWcgOSwgMjAyMiBhdCAxMDoyNCBQTSBCU1QsIE1heGltZSBEZXZvcyB3cm90ZToNCj4+ PiBJbiB0aGUgZ2xpYmMgaGVhZGVycywgdGhlcmUncyBzb21lIChQT1NJWD8pIHN0YW5kYXJk IG1hY3JvIHRoYXQgcG9pbnRzDQo+Pj4gYXQgIi9nbnUvc3RvcmUvLi4uL2Jpbi9zaCIgKEkg ZG9uJ3QgcmVjYWxsIHRoZSBuYW1lKSwgYW55IHJlYXNvbiB3ZQ0KPj4+IGFyZW4ndCB1c2lu ZyB0aGF0IG1hY3JvPyAgVGhhdCB3b3VsZCBiZSBHdWl4LWluZGVwZW5kZW50LiBJJ20gbm90 IHN1cmUNCj4+PiBpZiBhIC9nbnUvc3RvcmUvLi4uIHByZWZpeCBpcyBpbmNsdWRlZCwgYnV0 IGlmIG5vdCwgbWF5YmUgd2UgY291bGQgdHJ5DQo+Pj4gb3ZlcnJpZGluZyBpdCB3aXRoIC1E Li4uPSIvZ251L3N0b3JlLy4uLiIsIG9yIGZhaWxpbmcgdGhhdCwgYWRkIGENCj4+PiBwb3N0 LXVucGFjayBzdWJzdGl0dXRlKiByZXBsYWNpbmcgW3RoZSBtYWNybyBuYW1lXSAtPg0KPj4+ ICIvZ251L3N0b3JlLy4uLi9iaW4vc2giLg0KPj4gSSBiZWxpZXZlIHlvdSBtaWdodCBiZSBy ZWZlcnJpbmcgdG8gPHBhdGhzLmg+LCB3aGljaCBkZWZpbmVzIF9QQVRIX0JTSEVMTC4NCj4+ DQo+PiBJdCdzIG5vdCBzdGFuZGFyZCBDIDxodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20v dy9jL2hlYWRlcj4gbm9yIFBPU0lYDQo+PiA8aHR0cHM6Ly9wdWJzLm9wZW5ncm91cC5vcmcv b25saW5lcHVicy85Njk5OTE5Nzk5L2lkeC9oZWFkLmh0bWw+IHRob3VnaC4NCj4+DQo+PiAg ICAgIC0tICgNCg0KTG9va2luZyBhdCB0aGUgInBhdGhzLmgiIGhlYWRlciwgaXQgYXBwZWFy cyB0byBiZSBhIEJTRGlzbS4gTm90IHJlYWxseSBzdGFuZGFyZCBidXQgc3RpbGwgYmV0dGVy IHRoYW4gYSBHdWl4LWlzbS4NCg0KPiBJJ2QgbG92ZSB0byBiZSB3cm9uZywgYnV0IEkgYWxz byBjYW4ndCBmaW5kIHN1Y2ggYSBtYWNyby4gSW4gdGhlIGdsaWJjIHNvdXJjZQ0KPiB0cmVl LCAic3RkbGliL3N5c3RlbS5jIiBkZWZpbmVzIGEgc3R1YiBpbXBsZW1lbnRhdGlvbiB0aGF0 IGFsd2F5cyBmYWlscyB3aXRoDQo+IEVOT1NZUywgYW5kICJzeXNkZXBzL3Bvc2l4L3N5c3Rl bS5jIiBjb250YWluczoNCj4NCj4gICAgICAjZGVmaW5lCVNIRUxMX1BBVEgJIi9iaW4vc2gi CS8qIFBhdGggb2YgdGhlIHNoZWxsLiAgKi8NCj4gICAgICAjZGVmaW5lCVNIRUxMX05BTUUJ InNoIgkvKiBOYW1lIHRvIGdpdmUgaXQuICAqLw0KPg0KPiBDb25jcmV0ZWx5LCBJIHRoaW5r IEd1aXgncyBnbGliYyBjdXJyZW50bHkgdXNlcyAvYmluL3NoIGR5bmFtaWNhbGx5OiBpbiBt eQ0KPiBDaGV6IGV4YW1wbGUgYWJvdmUsIGlmIHlvdSByZXBsYWNlIGBwcm9jZXNzYCB3aXRo IGBzeXN0ZW1gICh3aGljaCB1c2VzIGxpYmMncw0KPiBgc3lzdGVtYCksIHRoZSByZXN1bHQg aXMgYWx3YXlzICIvYmluL3NoXG4iLg0KDQpJZiBzbywgdGhhdCdzIGEgYnVnLsKgIEkgZG8g bm90IGtub3cgd2hhdCByZXN1bHQgeW91IGFyZSByZWZlcnJpbmcgdG8uDQoNCkFueXdheSwg dGhlIEd1aXggcGFja2FnZSBkZWZpbml0aW9uIG9mIGdsaWJjIHN1YnN0aXR1dGVzIF9QQVRI X0JTSEVMTCANCmFuZCBTSEVMTF9QQVRILCBzbyB1bmxlc3MgdGhlcmUncyBhIGJ1ZywgaXQg ZG9lc24ndCBkZXBlbmQgb24gL2Jpbi9zaC4NCg0KR3JlZXRpbmdzLA0KTWF4aW1lLg0KDQo= --------------d1WsoffDF7BIHXwzZDGKCLj0 Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------d1WsoffDF7BIHXwzZDGKCLj0-- --------------fvtjBrLjEVVarzJHa4UUEj9L-- --------------hatQUNp59g0D9kq8asSjgyEi Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYvOanwUDAAAAAAAKCRBJ4+4iGRcl7hKz AQCsuj76oN+5ixipqZ8Zoo1IcAKZvE37JCuZTWywUh8ECQEAp/rCSQL4iDInmQI/BqKmJXdkfY8O rPec24Pr2gSDEgQ= =8dAV -----END PGP SIGNATURE----- --------------hatQUNp59g0D9kq8asSjgyEi-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Thiago Jung Bauermann Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 02:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166018339925146 (code B ref 57050); Thu, 11 Aug 2022 02:04:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 02:03:19 +0000 Received: from localhost ([127.0.0.1]:51021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLxXb-0006XW-69 for submit@debbugs.gnu.org; Wed, 10 Aug 2022 22:03:19 -0400 Received: from mx.kolabnow.com ([212.103.80.153]:62146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLxXZ-0006XE-On for 57050@debbugs.gnu.org; Wed, 10 Aug 2022 22:03:18 -0400 Received: from localhost (unknown [127.0.0.1]) by mx.kolabnow.com (Postfix) with ESMTP id C448146B76; Thu, 11 Aug 2022 04:03:10 +0200 (CEST) Authentication-Results: ext-mx-out003.mykolab.com (amavisd-new); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-transfer-encoding:content-type:content-type:mime-version :message-id:in-reply-to:date:date:subject:subject:from:from :references:received:received:received; s=dkim20160331; t= 1660183390; x=1661997791; bh=xdO0OHnA97JKboe+Z7UAIZ7ANvvJngQGKAD x6sx/RDw=; b=e5YDQ5+c65IF4hgIe/GqQHWHKJ5pE5GpMCRizSZQojaj+fmrEV0 NpIevrB0QVOIq1U+j/iuzPGFTX7iAoMqwl0QwF6HqLFSA4LDqVDexBvRhwtPBI7c 1nVJ+Y1jmQQK/1e3a47b7AJJIAqtngFEp1MND3x5kGWHBO+HVsKK1R8RuJ/O1JOK vNkCckZs81yUoRwW+n17YSrF95ygiQ+dZmgtHbSHPucQWDE790vfUkFoUBBI8a+0 adxknpaUExxWYztVf3sJpBRe83FNYhKzGRImJvHDSZQt4zQRAlq5A2YnLL1ooxmt A4qiKseWN9sS/rcLQoaV+w6faKM8DOalMUUqzrqkHytTtqKlzJjPHTSvuypG4DMV XhtO3sUxAtEO9Y5VWm1yd/7Qcu7ZjbFUf23S5g4yBNXOnYLQc0BuDrMX3yRDEP8T I1wpXpPBGAff0h7AkdoA3oGCRR7n3P/tgqn4NrFeOP6Bz/uix0Bsa0KACmfdVUdp dKxE9BEqhEpc/9eDdMIprC27t4DgNCuwTUukhhs19fiEFRgUMhqoJ5wjnretgkg1 A78+l6UWUIlrY+iLhIDHuBJ2c2dLvjU/ULEIpynfdnLHGMV2EkGc3/done3PtRwZ BNoaIyYzcmEp1s2G2IJLXBXOpetDcCKl6etv1kqJz4jVPoFFI5zlilIY= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: -0.357 X-Spam-Level: X-Spam-Status: No, score=-0.357 tagged_above=-10 required=5 tests=[BAYES_00=-1.9, DATE_IN_PAST_06_12=1.543] autolearn=no autolearn_force=no Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out003.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t10Fqlkp--DH; Thu, 11 Aug 2022 04:03:10 +0200 (CEST) Received: from int-mx002.mykolab.com (unknown [10.9.13.2]) by mx.kolabnow.com (Postfix) with ESMTPS id 8FB1041908; Thu, 11 Aug 2022 04:03:09 +0200 (CEST) Received: from ext-subm002.mykolab.com (unknown [10.9.6.2]) by int-mx002.mykolab.com (Postfix) with ESMTPS id 4F2D3297A; Thu, 11 Aug 2022 04:03:09 +0200 (CEST) References: From: Thiago Jung Bauermann Date: Wed, 10 Aug 2022 12:30:47 -0300 In-reply-to: Message-ID: <87ilmzk04q.fsf@kolabnow.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Philip, Philip McGrath writes: > This patch series contains the Racket 8.6 release, including updating Racket's > variant of Chez Scheme and adding a package for Zuo, the new tiny Racket-like > language used for build scripts start [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.1 DATE_IN_PAST_06_12 Date: is 6 to 12 hours before Received: date -0.0 SPF_PASS SPF: sender matches SPF record X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.1 (/) Hello Philip, Philip McGrath writes: > This patch series contains the Racket 8.6 release, including updating Rac= ket's > variant of Chez Scheme and adding a package for Zuo, the new tiny Racket-= like > language used for build scripts starting with this release. > > (If you've been waiting for the release announcement, this cycle upstream= is > delaying sending it until the new Racket has finished rebuilding all > of , which can take a few days---but the re= lease > itself is live at already, and I've be= en > told distribution packagers should update now.) > > As I mentioned on the mailing list in [1], this release lets us use Racke= t CS > and Racket's variant of Chez Scheme on all systems, even those for which = the > compiler can not yet generate native code, such as powerpc64le-linux and > riscv64-linux. (See the relevant patches for more details.) In particular, > this means that we can now provide some Chez Scheme package for every sys= tem > Guix supports. I tried building the zuo branch from your gitlab repo (commit 00975c823227 =E2=80=9Cgnu: chez-scheme-for-racket: Suport all systems.=E2= =80=9D from August 8th) on powerpc64le-linux and had this build failure in chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2: --8<---------------cut here---------------start------------->8--- starting phase `build' Assuming current directory has Chez Scheme sources Use /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv-= 0/source/racket/src/ChezScheme/rktboot/. Use /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv-= 0/source/racket/src/ChezScheme/nanopass Use /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv-= 0/source/racket/src/ChezScheme/s Check /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.dr= v-0/source/racket/src/ChezScheme/boot/tpb64l Load nanopass Apply nanopass patch Load cmacros parts Load enum Load cprep Load expander Install evaluator Load cmacros using expander Continue loading expander Initialize system libraries Load nanopass using expander Load priminfo and primvars Load expander using expander Initialize system libraries in bootstrapped expander Declare nanopass in bootstrapped expander Load some io.ss declarations Load some strip.ss declarations Load some 7.ss declarations Load most front.ss declarations Define $filter-foreign-type Load mkheader Generate headers Load mkgc Generate GC Load ftype.ss Load fasl.ss Load reloc.ss Load format.ss Load cp0.ss Load cpvalid.ss Load cpcheck.ss Load cpletrec.ss Load cpcommonize.ss Load cpnanopass.ss error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "/gnu/store/f72x3mdyagp67ybwdy9cqqsid9v= 8jk9l-racket-vm-bc-8.6/opt/racket-vm/bin/racket" arguments: ("rktboot/main.= rkt" "--machine" "tpb64l") exit-status: 1 term-signal: #f stop-signal: #f>= =20 phase `build' failed after 707.9 seconds command "/gnu/store/f72x3mdyagp67ybwdy9cqqsid9v8jk9l-racket-vm-bc-8.6/opt/r= acket-vm/bin/racket" "rktboot/main.rkt" "--machine" "tpb64l" failed with st= atus 1 --8<---------------cut here---------------end--------------->8--- I didn't have the chance yet to dig into why rktboot/main.rkt is failing. If you have any tips on how to find more details on what is going on (e.g., is there some verbose flag that can be passed to it?) I can try to investigate. --=20 Thanks Thiago From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 04:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Thiago Jung Bauermann" Cc: 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16601904404020 (code B ref 57050); Thu, 11 Aug 2022 04:01:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 04:00:40 +0000 Received: from localhost ([127.0.0.1]:51124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLzN9-00012l-Hd for submit@debbugs.gnu.org; Thu, 11 Aug 2022 00:00:40 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:51883) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLzN6-00012Y-4R for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 00:00:37 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 0042D5C0220; Thu, 11 Aug 2022 00:00:30 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 00:00:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660190429; x=1660276829; bh=U7d4wDb7Ic fg1GdKWtT7HEJlyG2MohkSo+tkBbOR08Q=; b=pdP1Hj4iR7mqO83RREoekbTcd2 ZALz7bhA12ivvWHfpyVJqTwNlRN1DaLT/hSV7VN0xUSAtLiPcepGsLBirDlNg79E Y+2DtRbjE8PZ4MByQYEwrTsCetPTAu54XL9NXM8hXCNf1cCRrxqyaGCc7o6Fggg5 UR49GoO7qoPG2KQw+iDkuis55IFFfOFdauhlBv28cRaaj8sMC/slPpoVjzRyOAzq tmnIc+C6Ac1T5mYSLRuQLj75TRSt4ZLNdALV/2059MkkXAP3uOqeLh5OG4szYu/T B9dfbJHDT0hW/WPT1UFTd2iY+61DBaVHZ2jWOkaKakQfYvoFkXbayi3snKnQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660190429; x= 1660276829; bh=U7d4wDb7Icfg1GdKWtT7HEJlyG2MohkSo+tkBbOR08Q=; b=C tXnQwNF0q9cY14MUoGo6EkPeM+sq11W8nskpldAHPlWDNDEP8Xs3cQVAnfO5o5p0 XUzn4qeHSL/T4YJba+ECWqkXNFpRVSX+lYqKGb+kF4ZQ8vTPnuIXOlmzrJ6YCngQ SAuEitZO/CD2+GJ9RDZDJiX3PeNWEo+oCYlRHhj6ltUDeLFlEoXPnYZo6iwUfKMA RxXnQqqrvbtZGujsSSLIyIb2SkOnjhWC43gWb9AYY5+gl/awZAmDmklx6K2hB2Ez lV+4ftbrpPEYk/MMH25UHtRGui0tEvJWKlow76KU8AEF4k1gcOxnYLz/QMb4zmB9 WPPAZjU8HOALrSaJfejkg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegfedgjeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeeitdehfffghffhheelkeeileffveetueej vdelveejhfefteeggeevffeuveethfenucffohhmrghinheprhgrtghkvghtqdhlrghngh drohhrghdpughishgtohhurhhsvgdrghhrohhuphdpghhithhhuhgsrdgtohhmnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphhhihhlihhpse hphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 6C1E3C60091; Thu, 11 Aug 2022 00:00:29 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> In-Reply-To: <87ilmzk04q.fsf@kolabnow.com> References: <87ilmzk04q.fsf@kolabnow.com> Date: Thu, 11 Aug 2022 00:00:08 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Thiago, On Wed, Aug 10, 2022, at 11:30 AM, Thiago Jung Bauermann wrote: > Hello Philip, > > Philip McGrath writes: > >> This patch series contains the Racket 8.6 release, including updating= Racket's >> variant of Chez Scheme and adding a package for Zuo, the new tiny Rac= ket-like >> language used for build scripts starting with this release. >> >> (If you've been waiting for the release announcement, this cycle upst= ream is >> delaying sending it until the new Racket has finished rebuilding all >> of , which can take a few days---but th= e release >> itself is live at already, and I'v= e been >> told distribution packagers should update now.) >> >> As I mentioned on the mailing list in [1], this release lets us use R= acket CS >> and Racket's variant of Chez Scheme on all systems, even those for wh= ich the >> compiler can not yet generate native code, such as powerpc64le-linux = and >> riscv64-linux. (See the relevant patches for more details.) In partic= ular, >> this means that we can now provide some Chez Scheme package for every= system >> Guix supports. > > I tried building the zuo branch from your gitlab repo (commit > 00975c823227 =E2=80=9Cgnu: chez-scheme-for-racket: Suport all systems.= =E2=80=9D from > August 8th) on powerpc64le-linux and had this build failure in > chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2: > > --8<---------------cut here---------------start------------->8--- > starting phase `build' > Assuming current directory has Chez Scheme sources > Use=20 > /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv= -0/source/racket/src/ChezScheme/rktboot/. > Use=20 > /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv= -0/source/racket/src/ChezScheme/nanopass > Use=20 > /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv= -0/source/racket/src/ChezScheme/s > Check=20 > /tmp/guix-build-chez-scheme-for-racket-bootstrap-bootfiles-9.5.9.2.drv= -0/source/racket/src/ChezScheme/boot/tpb64l > Load nanopass > Apply nanopass patch > Load cmacros parts > Load enum > Load cprep > Load expander > Install evaluator > Load cmacros using expander > Continue loading expander > Initialize system libraries > Load nanopass using expander > Load priminfo and primvars > Load expander using expander > Initialize system libraries in bootstrapped expander > Declare nanopass in bootstrapped expander > Load some io.ss declarations > Load some strip.ss declarations > Load some 7.ss declarations > Load most front.ss declarations > Define $filter-foreign-type > Load mkheader > Generate headers > Load mkgc > Generate GC > Load ftype.ss > Load fasl.ss > Load reloc.ss > Load format.ss > Load cp0.ss > Load cpvalid.ss > Load cpcheck.ss > Load cpletrec.ss > Load cpcommonize.ss > Load cpnanopass.ss > error: in phase 'build': uncaught exception: > %exception #<&invoke-error program:=20 > "/gnu/store/f72x3mdyagp67ybwdy9cqqsid9v8jk9l-racket-vm-bc-8.6/opt/rack= et-vm/bin/racket"=20 > arguments: ("rktboot/main.rkt" "--machine" "tpb64l") exit-status: 1=20 > term-signal: #f stop-signal: #f>=20 > phase `build' failed after 707.9 seconds > command=20 > "/gnu/store/f72x3mdyagp67ybwdy9cqqsid9v8jk9l-racket-vm-bc-8.6/opt/rack= et-vm/bin/racket"=20 > "rktboot/main.rkt" "--machine" "tpb64l" failed with status 1 > --8<---------------cut here---------------end--------------->8--- > > I didn't have the chance yet to dig into why rktboot/main.rkt is > failing. If you have any tips on how to find more details on what is > going on (e.g., is there some verbose flag that can be passed to it?) I > can try to investigate. > Thanks very much for this report! I am going to report this upstream at , because I don't know much I can do to pin down what's going wrong. When = cross-compiling, the bootfiles are built with Chez Scheme rather than bo= otstrapped via Racket BC (because it is 10x faster), but I just tried ma= nually running rktboot for tpb64l from my x86_64-linux machine, and it w= orked for me. One thing that would help is if you can try to reproduce this outside of= the Guix build environment. You can get the source either checking out = at the v8.6 tag or by downloading and= unpacking . Navigate to the Chez Scheme source directory, = which is "racket/src/ChezScheme" in the Git repository or just "src/Chez= Scheme" in the tarball. You can run rktboot even with an old Racket, so = try something like: guix shell --container racket-minimal -- racket rktboot/main.rkt --m= achine tpb64l If it works, you could try building Racket and/or Chez Scheme, if you wa= nt. Even if it doesn't work, you may be able to build Racket and/or Chez= Scheme, because Racket distributes "pb" bootfiles (not specialized to w= ord size and endianness) that can be used for bootstrapping. To build Ch= ez Scheme, you probably will need to configure with: -m=3Dtpb64l --threads --enable-libffi "CFLAGS=3D-g -O2 -D_REENTRANT = -pthread" "LIBS=3D-lm -ldl -lrt -lffi -lncurses" Racket is built from the parent of the Chez Scheme source directory, and= you will probably need to configure with: --enable-pb --enable-mach=3Dtpb64l If you are trying to build Chez Scheme or Racket (as opposed to just the= bootfiles) from the Git repository and "rktboot" doesn't work, you'll n= eed to run `make pb-fetch` in the root directory of the checkout to get = the "pb" bootfiles. More details about options for building from the Git= repository are documented at , which is also rendered to "build.md" in the root directory of = the Git repository itself. Thanks again for trying this! -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 00/13] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021613024896 (code B ref 57050); Thu, 11 Aug 2022 11:09:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:08:50 +0000 Received: from localhost ([127.0.0.1]:51813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63V-0006TR-Qp for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:50 -0400 Received: from mail-qt1-f177.google.com ([209.85.160.177]:47090) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63S-0006TA-0j for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:48 -0400 Received: by mail-qt1-f177.google.com with SMTP id cr9so9960295qtb.13 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:08:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=aYARW/ndvpTQu4BUmbzkTMAWkIHGDC9pmX9wysFxgPA=; b=VBxYsStl/5WXijxZXOpbDfzmRllyzsX0jnQkfCz6BYhdMjjCXBOp+VA7QVVN6t74eU dgC7qD/ruA6YAyV4sTSJjHj32rZgYPM//h47GoRBkaU+XmYrzkxgY1pEtoj+sL+0qCXU pt1UYGNWDCLdcTYZXsntfrZ488JDc82+EqiFe8ASQ3RSW/r+zTEyHBmkdFDQymYGBPLY RLUd7cQs1ztlmaV9FQ+D2BBahAZeNTwAcdkQVrOUz4+KNkFrziZy9K2CXwW6wFIyB+TD 31NGnuqImfXNxfRlaCueFKxFKaKOwJ0ovOPi+utl/025/d5dhNfVCGEFCTYdYYsrz3KF 3oXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=aYARW/ndvpTQu4BUmbzkTMAWkIHGDC9pmX9wysFxgPA=; b=vBsY/NKGRM8bYieEXvEcbfFpUzYK97GAzNY+dsn9DzsCxEfa60AC4wu7vdDDKBv9Ss djGvvuXbNYhTc/ev24uEPz3ARLebNd978f8jPlu9h/z1uZ0pw9I4EI31BOA/I6aG7jnY wmeTGh5dwv8Xo+4eAGi5W/YGtPBNx+6sIqGX/fck1nh0YwXxsRRJR6OqYCAhqIsuhJwj aNmeeMzBFkcGf3Al/TpRlSEJ1MxUskIE502fFU3jr5agYPU8h0ePVutM6spSJTpTN9W+ m2lLwqu8fksxhFQMWOTV/uNNKUnhWrqDrSqNqk1oAvrT44DZ9wX8+VLnX9BmfR8fnFuk BBWg== X-Gm-Message-State: ACgBeo0X8TOgpidOkZYgBfyDaSh8dIqtoVs8sf3I/eetmNiigFxcaLnl Of85A1vPr5UPvUGVxwoUzigKZK9xhba2vFcL X-Google-Smtp-Source: AA6agR51mQ0/WY+LgZjRxAjaiZkCwHYji4GCZh6HNIsyzTzfpQVvo5tgTgvENlJeMI35MWeNYdyHDw== X-Received: by 2002:ac8:7d95:0:b0:31e:e0d3:60a4 with SMTP id c21-20020ac87d95000000b0031ee0d360a4mr28096934qtd.106.1660216120423; Thu, 11 Aug 2022 04:08:40 -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 w22-20020ac857d6000000b0031f287f58b4sm1538826qta.51.2022.08.11.04.08.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:08:40 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:10 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, Here is a v2 of this series, split up as Liliana requested. Thiago, Matthew Flatt suggested a workaround for powerpc64le-linux in , and I've added it in patch 10/13. Can you give it a try? I'm also trying it via QEMU. For convienience, I've updated the 'zuo' branch at https://gitlab.com/philip1/guix-patches to point to this v2 (commit aaa95de8c6cff1ba749a9dd0365dedb822ffa625) and tagged it as guix-issue-57050-v2; I've tagged the previous version as guix-issue-57050. (Note that you need at least patch 11/13 for 'racket-minimal' or 'racket' to use CS on powerpc64le-linux.) -Philip Philip McGrath (13): gnu: stex: Update to 1.2.2-2.afa6075. gnu: stex: Fix read-only gifs and math directories. gnu: chez-scheme: Fix use of "/bin/sh". gnu: Add Zuo. gnu: racket: Update to 8.6. gnu: chez-scheme: Bootfiles should not be native inputs. gnu: chez-scheme-for-racket: Support cross-compilation. gnu: racket: Support cross-compiling the VM packages. gnu: chez-scheme-for-racket: Suport all systems. gnu: racket-vm-bc: Add workaround for ppc64le. gnu: racket: Use Racket CS on all systems. etc: teams: Add racket team. etc: teams: Add entry for Philip McGrath. etc/teams.scm.in | 12 + gnu/local.mk | 7 +- gnu/packages/chez.scm | 215 +++++-- gnu/packages/patches/chez-scheme-bin-sh.patch | 66 ++ .../racket-backport-8.6-cross-install.patch | 32 + .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 66 ++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 72 +++ .../stex-copy-from-immutable-store.patch | 41 ++ gnu/packages/racket.scm | 246 ++++--- 13 files changed, 1782 insertions(+), 129 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (79%) create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch base-commit: f030ae422b6d13a7a21158d9a37c9760597d1573 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 01/13] gnu: stex: Update to 1.2.2-2.afa6075. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021613424912 (code B ref 57050); Thu, 11 Aug 2022 11:09:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:08:54 +0000 Received: from localhost ([127.0.0.1]:51816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63a-0006Tj-9A for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:54 -0400 Received: from mail-qv1-f46.google.com ([209.85.219.46]:43529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63X-0006TI-6i for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:51 -0400 Received: by mail-qv1-f46.google.com with SMTP id j11so13005947qvt.10 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:08:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=KF9AOL2R+98OnOU4U4LfUbiro+PAzQSGwMatDigpHGjiJFYjT22vaA2GLDj7aZaB46 4k2ypjjEKBZPK1CBioH8mzuPhKq3PeOInZH91FA+IgD0gYGxP4DQFKRJ6JxrDPur1upI eo5xEOUUsREqG58iOnWYlMgKsQkmCmLebcjasinqIr8/t4PuXqamkfLXe+Q0hyxGmF+u sUww2Ztin1wjQQV2belYMW8dNZHOPyYWJa8cO9F62pJ+0RBUYV6N61HHUAbow/R7Ypz3 htLVG0V+2FuOdHENMWinKvI+HEn0Ppf4Qwuq0PyBCmJCkgxnVeKPn8NcEW02cd4QxGdT W20A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=p10ZlET+HekLXqaMRPHlWb7lHUo2UkwKzhVEH8sigoj23rJnLEnTGEOqF2J9HJKTtb VBlE2p8o7GTZ+hezpr3G4NkE+nvW1/vQfH+ovbeS3R1ptUWHq3JGIMlef0p+/KtdJYj+ mT+bzDLiBPiOvM+EBMk6/k6aKB/d6rZtJgsaSAwQ76u2RKjc/YrnlVLuxBdufZfl5KAz Vbz3Hyp5i2uu0k7dxWjOonT41tZwt65lD7Y676lXMpEd+my5WiC3Vvy/XOtt2jhPgHdd dWlmlt6uQ9j0/Om4ff5Em0Qsj9bZbfDz+TAWzA/JS8KkQCA6EurA2N8dKf/74fXdRb0r 73OA== X-Gm-Message-State: ACgBeo23HJMb2oVMKCXmi4JOmxV1/ZdV4DG1+ENYtMnkJFHjIm/0cosR HYL1sJerAiwPgm+Tgm7iTxQH5T0ieslHuB/w X-Google-Smtp-Source: AA6agR4Uu1On4iDm3vBUem8Q0McMDVSkU3EaWWTIpTg+UQM3i2HSBd8Aof9Wk23QYurio1KSlkSmcA== X-Received: by 2002:ad4:5be2:0:b0:476:7e0d:815f with SMTP id k2-20020ad45be2000000b004767e0d815fmr26840450qvc.57.1660216125707; Thu, 11 Aug 2022 04:08:45 -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 x12-20020a05620a258c00b006b942110644sm1792786qko.102.2022.08.11.04.08.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:08:45 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:11 -0400 Message-Id: <672555b265c88be3e84db33a5744ffc7e302c6ad.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (stex-bootstrap): Update to 1.2.2-2.afa6075. --- gnu/packages/chez.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b037efe8d4..043f2ae47a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -594,8 +594,8 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. - (let ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") - (revision "1")) + (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") + (revision "2")) (hidden-package (package (name "stex") @@ -611,7 +611,7 @@ (define-public stex-bootstrap (url "https://github.com/dybvig/stex") (commit commit))) (sha256 - (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d")) + (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) (snippet #~(for-each delete-file -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 02/13] gnu: stex: Fix read-only gifs and math directories. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021613724927 (code B ref 57050); Thu, 11 Aug 2022 11:09:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:08:57 +0000 Received: from localhost ([127.0.0.1]:51819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63c-0006Ty-KZ for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:57 -0400 Received: from mail-qt1-f180.google.com ([209.85.160.180]:34393) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63b-0006TT-49 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:08:55 -0400 Received: by mail-qt1-f180.google.com with SMTP id e28so5152433qts.1 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:08:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=mZtilo21zyXTOq4oexMEWqjGZ0JRbIL705SOoM9uDjQ=; b=WAApdAKkS9wmqD8jX+BOaeYgmdaUPBQjhvplnrsdXKNAt++RdYQPB3wYrLpbvjcJHO 9IigLWLna3sduGsYheI2akIqGCCyWDfS91kR361J3i0SRS2yzuXL9doKFu/5Woh5fEaQ 1KMxJyTNJ4MlL7P6S4ld7RvNHUhEH5ozpW0YBo0QIhj7Eln5eWeQbOpK6+6cMiYyhQAS IH9ybox75cfoUy+K4Vmcf5zXxPhArJ5kImSGWg4z4S1D71KNCSvo1HPhukR8nygQD1Dw aXxTM0DOTqwwO4eqWavegLwb7vjdsLngjk1DmNxclSMCmAcpmjdI6vS2NSvkeDEUOPNh vZiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=mZtilo21zyXTOq4oexMEWqjGZ0JRbIL705SOoM9uDjQ=; b=hrVu4MJ0NvHdcmJF8YWJR3z+SsZYTwPgDFtJ0SDN0GmV2lKi7i3xJU0iUrSQ9ZPPYR C1dzSTrHLnLsNJcSlEgEFKL+Qr51D39KTWnVALQHUv6iik5+JEEurdEDRad/2t91MDm/ 6medrjyh3pmEi1CEBBEIX1ju5v2blu9gcph7+sD7K6wIKhYg5KEThx5b0Om6zEwag5ur jL7g6pxQuCXc+j2JoryfEq/Ba0qQU6oIO/QWtIA8b2lHtZ4ynjAh8X4Hzjn/EyvsYlD0 wHhuhdpBYryekrApcYnCPEqTXPVHb1XzyNxEI2m0Oqvwg8EmXd5Zne+8cT7c+3izCPHR h2nA== X-Gm-Message-State: ACgBeo07wss6nq+QRoZu6w1d0UTuxkZiAWBJpG8xGP63PVJr3hfRAlXu blGTK+stciArq4yvswm0ws+CDvZBZenz+JDj X-Google-Smtp-Source: AA6agR6jpfSg930+/YYeIJavURIyF3xrgX+7Gcq4jVMQziPzFQrYNhjdySgVSpxGW/IzoouZMGjLVg== X-Received: by 2002:ac8:7ec1:0:b0:343:6789:1939 with SMTP id x1-20020ac87ec1000000b0034367891939mr1296838qtj.419.1660216129614; Thu, 11 Aug 2022 04:08:49 -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 br26-20020a05622a1e1a00b003435f947d9fsm1483757qtb.74.2022.08.11.04.08.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:08:49 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:12 -0400 Message-Id: <3cbb1636a31c0896f85e3a6f04ddef096a6be29a.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Excplicitly set the user write bit when initializing the gifs or math directories from the skeletons installed in the store. See also upstream discussion at . This problem would be exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it. [version]: Increment revision to 1.2.2-3.afa6075. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 5 ++- .../stex-copy-from-immutable-store.patch | 41 +++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1bd791fb0c..d35c6748c9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1826,6 +1826,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ + %D%/packages/patches/stex-copy-from-immutable-store.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 043f2ae47a..4c253effa0 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -595,7 +595,7 @@ (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") - (revision "2")) + (revision "3")) (hidden-package (package (name "stex") @@ -613,6 +613,9 @@ (define-public stex-bootstrap (sha256 (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) + (patches + ;; submitted upstream in https://github.com/dybvig/stex/pull/6 + (search-patches "stex-copy-from-immutable-store.patch")) (snippet #~(for-each delete-file '("sbin/install" "doc/stex.pdf" "doc/stex.html"))))) diff --git a/gnu/packages/patches/stex-copy-from-immutable-store.patch b/gnu/packages/patches/stex-copy-from-immutable-store.patch new file mode 100644 index 0000000000..4562e431c1 --- /dev/null +++ b/gnu/packages/patches/stex-copy-from-immutable-store.patch @@ -0,0 +1,41 @@ +From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 28 Apr 2022 22:56:20 -0400 +Subject: [PATCH] fix read-only gifs and math directories + +An installed copy of stex might have all write permission bits removed, +even for the owner of the installed files: this is the case with Guix +package of stex, for example. If such an installation is used to +initialize the gifs or math directories (e.g. for an out-of-source +build), tar likewise creates them without write permissions, preventing +subdirectories from being created later. Set the user write bit +explicitly to avoid this problem. + Mf-stex + +Related to https://github.com/racket/racket/pull/4203 +--- + +Submitted upstream in https://github.com/dybvig/stex/pull/6 + + Mf-stex | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Mf-stex b/Mf-stex +index 09ec6f3..11fb214 100644 +--- a/Mf-stex ++++ b/Mf-stex +@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles) + + gifs: + (cd $(STEXLIB); tar -cf - gifs) | tar -xpf - ++ chmod u+w gifs + + math: + (cd $(STEXLIB); tar -cf - math) | tar -xpf - ++ chmod u+w math + + $(mathfiles): $(x).hthirdrun $(figps) + echo -n gifs= > $(mathfiles) +-- +2.32.0 + -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 03/13] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021614424988 (code B ref 57050); Thu, 11 Aug 2022 11:10:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:04 +0000 Received: from localhost ([127.0.0.1]:51825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63j-0006Ux-2W for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:03 -0400 Received: from mail-qt1-f174.google.com ([209.85.160.174]:38401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63g-0006Tx-Th for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:01 -0400 Received: by mail-qt1-f174.google.com with SMTP id y18so3119087qtv.5 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=WZi0to89y3NPvYFIgIMj+l4Yp+huzp884wWv9GqSlr0=; b=fD4aGNxXeNbvn6Db79V6/xoKFjjmwQ1N0wF+gLyv6FgerWF6+ILFdvsq3t0ujmZOq3 F21QaEoo4CdkJhVJFkLeBKnUOKRqg3kp8wOpdE2uVmioD3D03r2VbLZ/tWmhmpP1mf7h Z7dpjWpKP555IlEQCxNIp4bMtGPaxfYL9rmHKvtHSh0EOK+cfsJwBxNAtKmntwvlkAJ1 f55ptSbYiC/Q2M5Tw5Jp7mavZurk2xhTc4dReZg/wMhxHvWPFyBexOts6/1eXquniFz3 5oNGB919SJTJ0CO7+q8j6ctX0Vqac6rZoPZu8m0JV26dmqFa5q6d/WQsNpai/+Qo5U9K dzXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=WZi0to89y3NPvYFIgIMj+l4Yp+huzp884wWv9GqSlr0=; b=0cq6X1XjaGo0CWibpK0kvGiyLwzbjkUnzmiX21EpBO1Om0wc8Nr37eWR5APnqhEcLq NjDmUdiMuFbDXL+wemhZbxtuCZM2LLHsxGNTxC++vIwv6rTwobAL8BRwyAC9q5cJJyj9 J6gOeyyWFAIkejZJz7bBD8yjcgiSgmaLsmBqq/s+fvrk0dmqKNY5fbcuvtcUY+lWHu+9 eez5AOC/P2UCuJEe2N/IJWeqlYqNDRMkHv/pTrQkeHUAo++W5Brh2Ijm4om4l1s/vPEM KNs/neOpZzbESTWRpdW1rqe3R71B3gcYIZE3wRYikvzNE8+ESrdXEp5EyYH1fuemqF7s NZQg== X-Gm-Message-State: ACgBeo3E64LASYQpySQ5NH/HJKPTeGB0r/K4Yo5oBOlJ3rwNRN6TAQiu jA3gOW9w2Z1tx1Q/xIu6bfl+RDUgSYIrruT2 X-Google-Smtp-Source: AA6agR6MSD10L6vFTO6sbCYJ+K2bz9hWPAPvJaHAPRETEo4ko2UMyhc2zWBd2A6g0vl0GUimzOqA9A== X-Received: by 2002:a05:622a:4d1:b0:343:6be3:add with SMTP id q17-20020a05622a04d100b003436be30addmr609171qtx.561.1660216133838; Thu, 11 Aug 2022 04:08:53 -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 cr23-20020a05622a429700b00342f960d26esm1424875qtb.15.2022.08.11.04.08.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:08:53 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:13 -0400 Message-Id: <86c1205b1144c03620cce866e7d22c67d1e9c47d.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process' function seems to have caused parts of the Chez Scheme test suite to have been silently skipped. The issue was exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/chez-scheme-bin-sh.patch, gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches. * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ... * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, refresh with upstream, and shorten the macro name. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. (racket-vm-common-configure-flags): Likewise. * gnu/packages/chez.scm (chez-scheme)[origin]: Likewise. [inputs]: Add bash-minimal. [arguments]<#:configure-flags>: Set CPPFLAGS to enable new patches. --- gnu/local.mk | 4 +- gnu/packages/chez.scm | 5 ++ gnu/packages/patches/chez-scheme-bin-sh.patch | 66 +++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 66 +++++++++++++++++++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 ++++---- gnu/packages/racket.scm | 5 +- 6 files changed, 158 insertions(+), 16 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (79%) diff --git a/gnu/local.mk b/gnu/local.mk index d35c6748c9..076fa341e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -941,6 +941,7 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-rocksdb-compat.patch \ %D%/packages/patches/cheese-vala-update.patch \ + %D%/packages/patches/chez-scheme-bin-sh.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ @@ -1773,7 +1774,8 @@ 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-minimal-sh-via-rktio.patch \ + %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ + %D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 4c253effa0..66098c7a24 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -34,6 +34,7 @@ (define-module (gnu packages chez) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system copy) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) @@ -269,6 +270,7 @@ (define-public chez-scheme (base32 "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) (file-name (git-file-name name version)) + (patches (search-patches "chez-scheme-bin-sh.patch")) (snippet #~(begin (use-modules (guix build utils)) ;; TODO: consider putting this in a (guix ...) or @@ -287,6 +289,7 @@ (define-public chez-scheme `(,util-linux "lib") ;<-- libuuid zlib lz4 + bash-minimal ;<-- for process ncurses ;<-- for expeditor ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 @@ -313,6 +316,8 @@ (define-public chez-scheme (cut memq 'threads <>)) #~("--threads") #~()) + ,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" + #$(file-append bash-minimal "/bin/sh")) "ZLIB=-lz" "LZ4=-llz4" "--libkernel" diff --git a/gnu/packages/patches/chez-scheme-bin-sh.patch b/gnu/packages/patches/chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..e6228e3264 --- /dev/null +++ b/gnu/packages/patches/chez-scheme-bin-sh.patch @@ -0,0 +1,66 @@ +From c170f0f3a326f293ee1f460a70303382966ca41b Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] patch s_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `s_process` will call `execl` with the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + c/prim5.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/c/prim5.c b/c/prim5.c +index 5a07893..926d68d 100644 +--- a/c/prim5.c ++++ b/c/prim5.c +@@ -746,6 +746,22 @@ static ptr s_process(char *s, IBOOL stderrp) { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf)) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) ++ : "/bin/sh"; ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#else /* GUIX_RKTIO_BIN_SH */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -771,7 +787,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9df56e7b25bc523663eac3da24be33afc5f76c84 +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..df2eb671b3 --- /dev/null +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -0,0 +1,66 @@ +From 5f3fc12bf123f30485800960b0493f5dd538d107 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `s_process` will call `execl` with the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + racket/src/ChezScheme/c/prim5.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index f5e3e345be..9db2989138 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -856,6 +856,22 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH), &guix_stat_buf)) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) ++ : "/bin/sh"; ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#else /* GUIX_RKTIO_BIN_SH */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -881,7 +897,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch b/gnu/packages/patches/racket-rktio-bin-sh.patch similarity index 79% rename from gnu/packages/patches/racket-minimal-sh-via-rktio.patch rename to gnu/packages/patches/racket-rktio-bin-sh.patch index 6bc2ee8331..4f7f2da083 100644 --- a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch +++ b/gnu/packages/patches/racket-rktio-bin-sh.patch @@ -1,7 +1,7 @@ -From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001 +From 070abbcc0d880ca4f97f997e096ac66650ccaaa0 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 4 Mar 2021 04:11:50 -0500 -Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix +Subject: [PATCH] rktio: patch rktio_process for "/bin/sh" on Guix Racket provides the functions `system` and `process`, which execute shell commands using `sh` (or `cmd` on Windows). @@ -13,17 +13,17 @@ the C function that implements the core of `system`, `process`, and related Racket functions. Guix should enable the special case by defining the C preprocessor -macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store. +macro `GUIX_RKTIO_BIN_SH` with the path to `sh` in the store. If: - 1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and 2. `rktio_process` is called with the exact path "/bin/sh"; and - 3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists; + 3. The file specified by `GUIX_RKTIO_BIN_SH` exists; then `rktio_process` will execute the file specified -by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh". +by `GUIX_RKTIO_BIN_SH` instead of "/bin/sh". Compared to previous attempts to patch the Racket sources, making this change at the C level is both: @@ -39,10 +39,10 @@ making this change at the C level is both: 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c -index 89202436c0..465ebdd5c5 100644 +index fafaf728c1..0a319b381a 100644 --- a/racket/src/rktio/rktio_process.c +++ b/racket/src/rktio/rktio_process.c -@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) +@@ -1301,12 +1301,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) /*========================================================================*/ rktio_process_result_t *rktio_process(rktio_t *rktio, @@ -58,19 +58,19 @@ index 89202436c0..465ebdd5c5 100644 rktio_process_result_t *result; intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2]; int pid; -@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, +@@ -1333,6 +1335,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, int i; #endif +/* BEGIN PATCH for Guix */ -+#if defined(GUIX_RKTIO_PATCH_BIN_SH) ++#if defined(GUIX_RKTIO_BIN_SH) +# define GUIX_AS_a_STR_HELPER(x) #x +# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) + /* A level of indirection makes `#` work as needed: */ + command = + ((0 == strcmp(_guix_orig_command, "/bin/sh")) -+ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH))) -+ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH) ++ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH))) ++ ? GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH) + : _guix_orig_command; +# undef GUIX_AS_a_STR +# undef GUIX_AS_a_STR_HELPER @@ -82,6 +82,8 @@ index 89202436c0..465ebdd5c5 100644 /* avoid compiler warnings: */ to_subprocess[0] = -1; to_subprocess[1] = -1; + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f -- -2.21.1 (Apple Git-122.3) +2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 3399bcc3fe..cddb617232 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -212,7 +212,8 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-minimal-sh-via-rktio.patch")) + (patches (search-patches "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -248,7 +249,7 @@ (define (racket-vm-common-configure-flags) (list (string-append "--enable-racket=" racket)))) (else '())) - ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" + ,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" #$(file-append bash-minimal "/bin/sh")) "--disable-strip" ;; Using --enable-origtree lets us distinguish the VM from subsequent -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021615125019 (code B ref 57050); Thu, 11 Aug 2022 11:10:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:11 +0000 Received: from localhost ([127.0.0.1]:51829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63p-0006VL-1d for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:11 -0400 Received: from mail-qt1-f174.google.com ([209.85.160.174]:38401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63k-0006Tx-86 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:07 -0400 Received: by mail-qt1-f174.google.com with SMTP id y18so3119301qtv.5 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=UAlttYJoj/PGU3tozmZk7twml4DQ0h8KwvCRTyPmxsQ=; b=clwtD3CUgINfyn8murO2IE9DNLTCh17w0C3jlA8CN7PaaSYXkdN1R7hIRSoq2Q3SYF StH1bmC6nh3EoaRLeLMeiFiLdP9aDHIl94eSWhAVEgHMS1aawYuOu6vlHAuuyKRWH9zO BqiA2vgVLZGDndFCB8jgD+Kn1oza9gaX97H07dVJO5chl1Vl68BXncWkc1HWlaipxokp vZOqFjQJc3dvVeHHmEzfBa1ckb76APvxzGopk55cz4Ni6/5t8voMw8BQq5wJ1A+gBYTr Xvbu/BZMmUQYzqbMfD/YFGtoaUdgkdHRTUu4oU7m/OY+XXOtQaRzMuIeYS+y7RymeKu1 LQvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=UAlttYJoj/PGU3tozmZk7twml4DQ0h8KwvCRTyPmxsQ=; b=WFLpsJDnmF38MxBMDET9z+oJe7TAVGp0IwCPHHO0fp8j8f9pO7/Mtl5/YpaBZq2tOW LvXnGj7VnL9/GC/byD5SgMvOK47OynGAhh80lrMOV8luwVag7Fc7KpT8o+As7XRGFqSt ZM2H25UwAFNg6k0AHXxRoMPyhpMilCWXI9rIxAbAX2g1IwUO5v/oTCFaIDwVFCiH4rYZ ROAXcz6GpH1+Pab3MyhHgqP5aeN54CBtpre69HBAOCcpScBZfnRjdgGFZRwUZIV8kkwr ox8o2vABSw5JGcu0RCTd0KyKlDkG8VrxFcWip/jIKOlHzJw0PuoTLAHzssHzxZc31lOf sw3A== X-Gm-Message-State: ACgBeo1BSsFD1e+PzP/yZOHH+gbc7/+e/E+bInV7BDSAeK7/iH3SlEBt DzvDDnQuHgQvxedv98V0MNvSQDLXont4kpOD X-Google-Smtp-Source: AA6agR5JllerHC4e3lRW0ILd3xxEITMbJaadf0v/YgXNYE4mog9/FeOPKmlEDvxf4E96kiGQZBZAhA== X-Received: by 2002:ac8:5c49:0:b0:343:5628:5fe with SMTP id j9-20020ac85c49000000b00343562805femr6675664qtj.250.1660216142151; Thu, 11 Aug 2022 04:09:02 -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 l3-20020a05620a28c300b006b9a24dc9d7sm1853516qkp.7.2022.08.11.04.09.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:01 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:15 -0400 Message-Id: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Also, update 'chez-scheme-for-racket' to 9.5.9.2. * gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch. * gnu/packages/patches/racket-backport-8.6-cross-install.patch, gnu/packages/patches/racket-backport-8.6-docindex-write.patch, gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the patches for Zuo. (%racket-version): Update to 8.6. (zuo)[version]: Refer to '%racket-version'. [origin]: Use '%racket-origin'. (racket-vm-cgc)[native-inputs]: Add 'zuo'. [arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'. (racket)[inputs]: Update checksums. * gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX. (%chez-features-table): Likewise. (chez-scheme-for-racket): Update to 9.5.9.2. [native-inputs]: Add 'zuo'. [arguments]<#:out-of-source?>: Use out-of-source build. <#:tests?>: Skip them due to ongoing problems. <#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='. <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here, rather than in a phase. <#:phases>: Replace 'install-docs' using new 'make' target. --- gnu/packages/chez.scm | 52 +- .../racket-backport-8.6-cross-install.patch | 32 + .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 16 +- gnu/packages/racket.scm | 121 ++-- 6 files changed, 794 insertions(+), 72 deletions(-) create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 66098c7a24..dde2c22ca5 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -116,7 +116,7 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ((target-linux? system) "le") ((target-hurd? system) - #f) + "gnu") ((target-mingw? system) "nt") ;; missing (guix utils) predicates @@ -132,6 +132,8 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ;; Nix says "x86_64-solaris", but accommodate "-solaris2" ((string-contains system "solaris") "s2") + ((string-suffix? "-qnx" system) + "qnx") ;; unknown (else #f))) @@ -168,6 +170,9 @@ (define %chez-features-table ("arm32" bootstrap-bootfiles) ("arm64" . #f) ("ppc32" threads)) + ;; Hurd + ("gnu" + ("i3" . #f)) ;; FreeBSD ("fb" ("i3" threads) ;; commented out @@ -193,6 +198,9 @@ (define %chez-features-table ("s2" ("i3" threads) ;; commented out ("a6" threads)) ;; commented out + ;; QNX + ("qnx" + ("i3" . #f)) ;; Windows ("nt" ("i3" threads bootstrap-bootfiles) @@ -437,7 +445,7 @@ (define-public chez-scheme-for-racket (package (inherit chez-scheme) (name "chez-scheme-for-racket") - (version "9.5.7.6") + (version "9.5.9.2") ;; 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! @@ -448,18 +456,52 @@ (define-public chez-scheme-for-racket (delete "libx11" "util-linux:lib"))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) + (append zuo) (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) + ((#:out-of-source? _ #f) + #t) + ((#:tests? _ #t) + ;; FIXME: There have been some flaky test failures. Some have been + ;; fixed upstream post-release but have proven non-trivial to + ;; backport; at least one issue remains. Re-enable tests once + ;; https://github.com/racket/racket/issues/4359 is fixed. + #f) ((#:configure-flags cfg-flags #~'()) - #~(cons* "--disable-x11" - "--threads" ;; ok to potentially duplicate - #$cfg-flags)) + #~`("--disable-x11" + "--threads" ;; ok to potentially duplicate + ,@(let* ((chez+version (strip-store-file-name #$output)) + (doc-prefix (assoc-ref %outputs "doc")) + (doc-dir (string-append doc-prefix + "/share/doc/" + chez+version))) + (list (string-append "--installcsug=" + doc-dir + "/csug") + (string-append "--installreleasenotes=" + doc-dir + "/release_notes"))) + ,@#$cfg-flags)) + ((#:make-flags mk-flags #~'()) + #~(cons* (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo") + (string-append "STEXLIB=" + #+(this-package-native-input "stex") + "/lib/stex") + #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) (unpack (assoc-ref those-phases 'unpack))) (modify-phases those-phases + (replace 'install-docs + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke + "make" + "install-docs" + make-flags))) (replace 'unpack (lambda args (unpack #:source #$(or (package-source this-package) diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch new file mode 100644 index 0000000000..4f7849ecc6 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -0,0 +1,32 @@ +From 585215c5c42f7ee0fee05e6a637ab1bc17f5e8e0 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 30 Jul 2022 07:06:55 -0600 +Subject: [PATCH] CS makefiles: fix Unix-style install for cross compilation + +Closes #4377 + +(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5) +--- + racket/src/cs/c/build.zuo | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo +index 8d3950bb27..d8b74c509d 100644 +--- a/racket/src/cs/c/build.zuo ++++ b/racket/src/cs/c/build.zuo +@@ -1016,10 +1016,9 @@ + (define (setup) + (call-with-dest-racket + (lambda (bindir dest-racket) +- (define copytree-racket (and cross? (config-bootstrap-racket))) ++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket))) + (maybe-copytree config dest-racket copytree-racket at-dir) +- (run-raco-setup config dest-racket +- (and cross? (hash-ref (config-bootstrap-racket) 'racket)) ++ (run-raco-setup config dest-racket copytree-racket + ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`, + ;; but redundant should be ok: + (list "-MCR" (~a (at-dir "compiled") ":") +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch new file mode 100644 index 0000000000..abe1984507 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch @@ -0,0 +1,36 @@ +From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sun, 17 Jul 2022 22:51:44 -0400 +Subject: [PATCH] racket-index: set write permission when copying + `docindex.sqlite` + +Fixes https://github.com/racket/racket/issues/4357 + +(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2) +--- + pkgs/racket-index/setup/scribble.rkt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt +index 6694f0b793..e27a8fa348 100644 +--- a/pkgs/racket-index/setup/scribble.rkt ++++ b/pkgs/racket-index/setup/scribble.rkt +@@ -252,7 +252,14 @@ + (unless (file-exists? db-file) + (define-values (base name dir?) (split-path db-file)) + (make-directory* base) +- (when copy-from (copy-file copy-from db-file)) ++ (when copy-from ++ (copy-file copy-from db-file) ++ ;; we might not have write permissions for the previous layer: ++ ;; ensure that we do for the new file ++ (define orig-mode (file-or-directory-permissions db-file 'bits)) ++ (define writeable-mode (bitwise-ior user-write-bit orig-mode)) ++ (unless (= writeable-mode orig-mode) ++ (file-or-directory-permissions db-file writeable-mode))) + (doc-db-disconnect + (doc-db-file->connection db-file #t)))) + (when (or (ormap can-build*? main-docs) +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch new file mode 100644 index 0000000000..d593b01e62 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-hurd.patch @@ -0,0 +1,609 @@ +From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 3 Aug 2022 03:13:03 -0400 +Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd + +Mostly GNU/Hurd should take the same options as GNU/Linux. One +difference is that the Hurd does not define macros such as `PATH_MAX` or +`NOFILE`, because it avoids imposing arbitrary limits on such resources. +This patch provides alternatives for localized uses of those constants, +but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for +now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html. + +(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085) +--- + racket/src/ChezScheme/README.md | 1 + + racket/src/ChezScheme/c/number.c | 22 +++++++++---------- + racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++-- + racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------ + racket/src/ChezScheme/c/version.h | 7 ++++-- + racket/src/ChezScheme/configure | 17 ++++++++++----- + racket/src/ChezScheme/s/cmacros.ss | 1 + + racket/src/cs/c/configure | 14 ++++++++++-- + racket/src/cs/c/configure.ac | 14 ++++++++++-- + racket/src/cs/rumble/system.ss | 3 +++ + 10 files changed, 109 insertions(+), 39 deletions(-) + +diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md +index a4a11a5eef..25231dd9bb 100644 +--- a/racket/src/ChezScheme/README.md ++++ b/racket/src/ChezScheme/README.md +@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others): + * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * Solaris: x86, x86_64 ++ * GNU/Hurd: x86 + * Android: ARMv7, AArch64 + * iOS: AArch64 + * WebAssembly via Emscripten (bytecode interpreter only) +diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c +index ede38cc626..e2bce0d2d3 100644 +--- a/racket/src/ChezScheme/c/number.c ++++ b/racket/src/ChezScheme/c/number.c +@@ -1041,15 +1041,15 @@ floating-point operations + + #ifdef IEEE_DOUBLE + /* exponent stored + 1024, hidden bit to left of decimal point */ +-#define bias 1023 +-#define bitstoright 52 +-#define m1mask 0xf +-#ifdef WIN32 +-#define hidden_bit 0x10000000000000 +-#else +-#define hidden_bit 0x10000000000000ULL +-#endif +-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE ++# define bias 1023 ++# define bitstoright 52 ++# define m1mask 0xf ++# ifdef WIN32 ++# define hidden_bit 0x10000000000000 ++# else ++# define hidden_bit 0x10000000000000ULL ++# endif ++# ifdef LITTLE_ENDIAN_IEEE_DOUBLE + struct dblflt { + UINT m4: 16; + UINT m3: 16; +@@ -1058,7 +1058,7 @@ struct dblflt { + UINT e: 11; + UINT sign: 1; + }; +-#else ++# else + struct dblflt { + UINT sign: 1; + UINT e: 11; +@@ -1067,7 +1067,7 @@ struct dblflt { + UINT m3: 16; + UINT m4: 16; + }; +-#endif ++# endif + #endif + + double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) { +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index 124d1e049c..82bbf8d687 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -23,6 +23,10 @@ + #include + #include + ++#if defined(__GNU__) /* Hurd */ ++#include ++#endif ++ + /* locally defined functions */ + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn); + static ptr s_system(const char *s); + static ptr s_process(char *s, IBOOL stderrp); + static I32 s_chdir(const char *inpath); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + static char *s_getwd(void); + #endif + static ptr s_set_code_byte(ptr p, ptr n, ptr x); +@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(0); if (dup(tofds[0]) != 0) _exit(1); + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); ++#ifndef __GNU__ /* Hurd */ + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} ++#else /* __GNU__ Hurd: no NOFILE */ ++ { ++ INT i; ++ struct rlimit rlim; ++ getrlimit(RLIMIT_NOFILE, &rlim); ++ for (i = 3; i < rlim.rlim_cur; i++) { ++ (void)CLOSE(i); ++ } ++ } ++#endif /* __GNU__ Hurd */ + execl("/bin/sh", "/bin/sh", "-c", s, NULL); + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ +@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) { + static char *s_getwd() { + return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0))); + } ++#elif defined(__GNU__) /* Hurd: no PATH_MAX */ ++static char *s_getwd() { ++ char *path; ++ size_t len; ++ ptr bv; ++ path = getcwd(NULL, 0); ++ if (NULL == path) { ++ return NULL; ++ } else { ++ len = strlen(path); ++ bv = S_bytevector(len); ++ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len); ++ free(path); ++ return TO_VOIDP(&BVIT(bv, 0)); ++ } ++} + #endif /* GETWD */ + + static ptr s_set_code_byte(ptr p, ptr n, ptr x) { +@@ -1817,7 +1848,7 @@ void S_prim5_init(void) { + Sforeign_symbol("(cs)s_rational", (void *)S_rational); + Sforeign_symbol("(cs)sub", (void *)S_sub); + Sforeign_symbol("(cs)rem", (void *)S_rem); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + Sforeign_symbol("(cs)s_getwd", (void *)s_getwd); + #endif + Sforeign_symbol("(cs)s_chdir", (void *)s_chdir); +diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c +index ed5564540b..0c40e3eaf0 100644 +--- a/racket/src/ChezScheme/c/scheme.c ++++ b/racket/src/ChezScheme/c/scheme.c +@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char + static const char *path_last(const char *path); + static char *get_defaultheapdirs(void); + ++#ifdef PATH_MAX ++# define BOOT_PATH_MAX PATH_MAX ++#else /* hack for Hurd: better to remove the restriction */ ++# define BOOT_PATH_MAX 4096 ++#endif ++ + static const char *path_last(const char *p) { + const char *s; + #ifdef WIN32 +@@ -483,7 +489,7 @@ static const char *path_last(const char *p) { + + static char *get_defaultheapdirs() { + char *result; +- wchar_t buf[PATH_MAX]; ++ wchar_t buf[BOOT_PATH_MAX]; + DWORD len = sizeof(buf); + if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len)) + return DEFAULT_HEAP_PATH; +@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() { + * leaving the full path with name affixed in path and *sp / *dsp pointing + * past the current entry. it returns 1 on success and 0 if at the end of + * the search path. path should be a pointer to an unoccupied buffer +- * PATH_MAX characters long. either or both of sp/dsp may be empty, ++ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty, + * but neither may be null, i.e., (char *)0. */ + static IBOOL next_path(char *path, const char *name, const char *ext, + const char **sp, const char **dsp) { + char *p; + const char *s, *t; + +-#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) ++#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) + for (;;) { + s = *sp; + p = path; +@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, const char *ext, + switch (*s) { + #ifdef WIN32 + case 'x': { +- wchar_t exepath[PATH_MAX]; DWORD n; ++ wchar_t exepath[BOOT_PATH_MAX]; DWORD n; + s += 1; +- n = GetModuleFileNameW(NULL, exepath, PATH_MAX); +- if (n == 0 || (n == PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { ++ n = GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX); ++ if (n == 0 || (n == BOOT_PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { + fprintf(stderr, "warning: executable path is too long; ignoring %%x\n"); + } else { + char *tstart; +@@ -608,7 +614,7 @@ typedef struct { + iptr len; /* 0 => unknown */ + iptr offset; + IBOOL need_check, close_after; +- char path[PATH_MAX]; ++ char path[BOOT_PATH_MAX]; + } boot_desc; + + #define MAX_BOOT_FILES 10 +@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, const char *path, int c) { + static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + int fd, + IBOOL errorp) { +- char pathbuf[PATH_MAX], buf[PATH_MAX]; ++ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX]; + uptr n = 0; + INT c; + const char *path; + char *expandedpath; + + if ((fd != -1) || direct_pathp || S_fixedpathp(name)) { +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + if (boot_count == 0) { + for (;;) { + /* try to load heap or boot file this boot file requires */ +- if (get_string(fd, buf, PATH_MAX, &c) != 0) { ++ if (get_string(fd, buf, BOOT_PATH_MAX, &c) != 0) { + fprintf(stderr, "unexpected end of file on %s\n", path); + CLOSE(fd); + S_abnormal_exit(); +@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + c = get_u8(fd); + for (sep = " "; ; sep = "or ") { + if (c == ')') break; +- (void) get_string(fd, buf, PATH_MAX, &c); ++ (void) get_string(fd, buf, BOOT_PATH_MAX, &c); + fprintf(stderr, "%s%s.boot ", sep, buf); + } + fprintf(stderr, "required by %s\n", path); +@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const char *name, + int close_after) { + check_boot_file_state("Sregister_boot_file_fd"); + +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void (*custom_init)(void)) { + } + + name = path_last(kernel); +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "executable name too long: %s\n", name); + S_abnormal_exit(); + } + + #ifdef WIN32 + { /* strip off trailing .exe, if any */ +- static char buf[PATH_MAX]; ++ static char buf[BOOT_PATH_MAX]; + iptr n; + + n = strlen(name) - 4; +diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c/version.h +index a79d12621b..61751a9fad 100644 +--- a/racket/src/ChezScheme/c/version.h ++++ b/racket/src/ChezScheme/c/version.h +@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + /*****************************************/ + /* Operating systems */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) /* Hurd */ + #define NOBLOCK O_NONBLOCK + #define LOAD_SHARED_OBJECT + #define USE_MMAP +@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + #define GETPAGESIZE() getpagesize() + typedef char *memcpy_t; + #define MAKE_NAN(x) { x = 0.0; x = x / x; } +-#define GETWD(x) getcwd((x),PATH_MAX) ++#ifndef __GNU__ /* Hurd: no PATH_MAX */ ++/* n.b. don't test PATH_MAX directly: we have not yet included */ ++# define GETWD(x) getcwd((x),PATH_MAX) ++#endif + typedef int tputsputcchar; + #ifndef __ANDROID__ + # define LOCKF +diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure +index f64b639c3a..efdb6029cb 100755 +--- a/racket/src/ChezScheme/configure ++++ b/racket/src/ChezScheme/configure +@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in + installprefix=/usr + installmansuffix=share/man + ;; ++ GNU) ++ unixsuffix=gnu # the Hurd ++ installprefix=/usr ++ installmansuffix=share/man ++ ;; + QNX) + if uname -a | egrep 'x86' > /dev/null 2>&1 ; then + m32=i3qnx +@@ -591,7 +596,7 @@ fi + + # Infer flags needed for threads: + case "${flagsm}" in +- *le|*fb|*ob|*nb) ++ *le|*gnu|*fb|*ob|*nb) + threadFlags="-D_REENTRANT -pthread" + threadLibs="-lpthread" + ;; +@@ -627,7 +632,7 @@ if [ "$cflagsset" = "no" ] ; then + a6*) + CFLAGS="-m64 ${optFlags}" + ;; +- i3le) ++ i3le) # intentionally not including i3gnu, which may not support sse2 + CFLAGS="-m32 -msse2 -mfpmath=sse ${optFlags}" + ;; + i3nt) +@@ -688,7 +693,7 @@ fi + # Add automatic linking flags, unless suppressed by --disable-auto-flags + if [ "$addflags" = "yes" ] ; then + case "${flagsm}" in +- *le) ++ *le|*gnu) + LDFLAGS="${LDFLAGS} -rdynamic" + ;; + *fb|*nb) +@@ -702,7 +707,7 @@ if [ "$addflags" = "yes" ] ; then + esac + + case "${flagsm}" in +- *le) ++ *le|*gnu) + LIBS="${LIBS} -lm -ldl ${ncursesLib} -lrt" + ;; + *fb|*ob) +@@ -749,7 +754,7 @@ exeSuffix= + + # compile flags for c/Mf-unix and mats/Mf-unix + case "${flagsmuni}" in +- *le) ++ *le|*gnu) + mdcflags="-fPIC -shared" + ;; + *fb|*ob) +@@ -781,7 +786,7 @@ case "${flagsmuni}" in + i3le) + mdldflags="-melf_i386" + ;; +- *le) ++ *le|*gnu) + ;; + i3nb) + mdldflags="-m elf_i386" +diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/s/cmacros.ss +index ff2b09217b..2e79a4d8de 100644 +--- a/racket/src/ChezScheme/s/cmacros.ss ++++ b/racket/src/ChezScheme/s/cmacros.ss +@@ -385,6 +385,7 @@ + i3fb ti3fb + i3ob ti3ob + i3osx ti3osx ++ i3gnu ti3gnu + a6le ta6le + a6osx ta6osx + a6ob ta6ob +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..dab545c0b4 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4449,8 +4449,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ *linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd: must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..43e7307b1b 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -272,8 +272,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd - must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss +index 2319cbe7a5..773eb79cf3 100644 +--- a/racket/src/cs/rumble/system.ss ++++ b/racket/src/cs/rumble/system.ss +@@ -48,6 +48,8 @@ + arm32le tarm32le arm64le tarm64le + ppc32le tppc32le) + 'linux] ++ [(i3gnu ti3gnu) ++ 'gnu-hurd] + [(a6fb ta6fb i3fb ti3fb + arm32fb tarm32fb arm64fb tarm64fb + ppc32fb tppc32fb) +@@ -85,6 +87,7 @@ + i3nb ti3nb + i3fb ti3fb + i3s2 ti3s2 ++ i3gnu ti3gnu + i3qnx) + 'i386] + [(arm32le tarm32le +-- +2.32.0 + + +From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 4 Aug 2022 20:18:09 -0400 +Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd + +(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + racket/src/bc/sconfig.h | 14 +++++++++----- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ddb607b37..4ee346014d 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index deef8f3077..866851236e 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h +index 01ecb48158..8468942fcd 100644 +--- a/racket/src/bc/sconfig.h ++++ b/racket/src/bc/sconfig.h +@@ -79,12 +79,14 @@ + + #endif + +- /************** Linux with gcc ****************/ ++ /************** Linux (or Hurd) with gcc ****************/ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) + + # ifdef __ANDROID__ + # define SCHEME_OS "android" ++# elif defined(__GNU__) ++# define SCHEME_OS "gnu-hurd" + # else + # define SCHEME_OS "linux" + # endif +@@ -146,13 +148,15 @@ + # define USE_IEEE_FP_PREDS + # define USE_EXPLICT_FP_FORM_CHECK + +-# define LINUX_FIND_STACK_BASE ++# define LINUX_FIND_STACK_BASE /* also ok for Hurd */ + + # define FLAGS_ALREADY_SET + + #if defined(__i386__) +-# define MZ_USE_JIT_I386 +-# define MZ_JIT_USE_MPROTECT ++# ifndef __GNU__ /* Hurd */ ++# define MZ_USE_JIT_I386 ++# define MZ_JIT_USE_MPROTECT ++# endif + # ifndef MZ_NO_UNWIND_SUPPORT + # define MZ_USE_DWARF_LIBUNWIND + # endif +-- +2.32.0 + + +From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sat, 6 Aug 2022 22:48:40 -0400 +Subject: [PATCH 3/3] BC: repair configure script + +Hopefully this will fix the DrDr failures caused by 5c05496. + +Related to https://github.com/racket/racket/pull/4384 + +(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ee346014d..b1c5175b84 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index 866851236e..ecc3b0b579 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch index df2eb671b3..69aca3b483 100644 --- a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -1,4 +1,4 @@ -From 5f3fc12bf123f30485800960b0493f5dd538d107 Mon Sep 17 00:00:00 2001 +From 988eea0a875d570d8ec155cb0925b4586d36e8d7 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 19 May 2022 13:41:56 -0400 Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix @@ -22,10 +22,10 @@ on `system` from the C library. 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c -index f5e3e345be..9db2989138 100644 +index 82bbf8d687..307c8673a1 100644 --- a/racket/src/ChezScheme/c/prim5.c +++ b/racket/src/ChezScheme/c/prim5.c -@@ -856,6 +856,22 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { +@@ -861,6 +861,22 @@ static ptr s_process(char *s, IBOOL stderrp) { INT tofds[2], fromfds[2], errfds[2]; struct sigaction act, oint_act; @@ -48,10 +48,10 @@ index f5e3e345be..9db2989138 100644 if (pipe(tofds)) S_error("process","cannot open pipes"); if (pipe(fromfds)) { -@@ -881,7 +897,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { - CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); - CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); - {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +@@ -897,7 +913,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + } + } + #endif /* __GNU__ Hurd */ - execl("/bin/sh", "/bin/sh", "-c", s, NULL); + /* BEGIN PATCH for Guix */ + execl(guix_sh, guix_sh, "-c", s, NULL); @@ -60,7 +60,7 @@ index f5e3e345be..9db2989138 100644 /*NOTREACHED*/ } else { -base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 -- 2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 0c8b3b6bb8..31f3394fa3 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -54,7 +54,7 @@ (define-module (gnu packages racket) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:)) -;; Commentary: +;; COMMENTARY: ;; ;; Anatomy of Racket: ;; ------------------ @@ -73,14 +73,16 @@ (define-module (gnu packages racket) ;; ├── bc/ ;; ├── cs/ ;; ├── ChezScheme/ +;; ├── zuo/ ;; └── ... ;; ;; The 'racket/src/' directory contains the source of the runtime system, core ;; compiler, and primitives for the major Racket implementations: this layer -;; is called the ``Racket VM''. It is basically a normal autotools -;; project. (Even when Racket VM implementations use components implemented in -;; Racket, they are compiled in special modes to produce VM primitives.) -;; (There are or have been experimental Racket VM implementations elsewhere, +;; is called the ``Racket VM''. It is basically a normal Autoconf project, +;; except that the makefiles just run Zuo to do the real work. (Even when +;; Racket VM implementations use components implemented in Racket, they are +;; compiled in special modes to produce VM primitives.) (There are or have +;; been experimental Racket VM implementations elsewhere, ;; e.g. .) ;; ;; The 'racket/collects/' directory contains ``built in'' Racket libraries @@ -101,10 +103,10 @@ (define-module (gnu packages racket) ;; ;; The top-level 'Makefile' is more like a directory of scripts: it has ;; convienience targets for developing Racket, and it cooperates with the -;; 'distro-build' package to assemble custom Racket distributions. It is not -;; part of Racket source distributions: the root of a source distribution is -;; basically 'racket/src' with some extra package sources and configuration -;; added. +;; 'distro-build' package to assemble custom Racket distributions. (Again, +;; the makefile just delegates to Zuo.) It is not part of Racket source +;; distributions: the root of a source distribution is basically 'racket/src' +;; with some extra package sources and configuration added. ;; ;; A ''minimal Racket'' installation includes two packages: 'base', which is a ;; sort of bridge between the current ``built-in'' collections and the package @@ -130,12 +132,12 @@ (define-module (gnu packages racket) ;; output. The function 'racket-vm-for-system' returns the recomended Racket ;; VM package for a given system. ;; -;; The file 'racket.scm' builds on these packages to define 'racket-minimal' -;; and 'racket' packages. These use Racket's support for ``layered -;; installations'', which allow an immutable base layer to be extended with -;; additional packages. They use the layer configuration directly provide -;; ready-to-install FHS-like trees, rather than relying on the built in -;; ``Unix-style install'' mechanism. +;; We then define the packages 'racket-minimal' and +;; 'racket'. These use Racket's support for ``layered installations'', which +;; allow an immutable base layer to be extended with additional packages. +;; They use the layer configuration directly provide ready-to-install FHS-like +;; trees, rather than relying on the built in ``Unix-style install'' +;; mechanism. ;; ;; Bootstrapping Racket: ;; --------------------- @@ -178,16 +180,18 @@ (define-module (gnu packages racket) ;; However, other Racket subsystems implemented in Racket for Racket CS ;; use older C implementations for Racket BC, whereas the reader, expander, ;; and module system were completely replaced with the Racket implementation -;; as of Racket 7.0. +;; as of Racket 7.0. See also . ;; ;; For Racket BC, the compiled "linklet" s-expressions (primitive modules) ;; are embeded in C as a static string constant. Eventually, they are further ;; compiled by the C-implemented Racket BC bytecode and JIT compilers. -;; (On platforms where Racket BC's JIT is not supported, yet another compiler -;; instead compiles the linklets to C code, but this is not a bootstrapping -;; issue.) ;; -;; Code: +;; Zuo is notably *not* a problem for bootstrapping. The implementation is a +;; single hand-written C file designed to build with just `cc -o zuo zuo.c`, +;; even with very old or limited compilers. (We use the Autoconf support for +;; convienience.) +;; +;; CODE: (define* (racket-vm-for-system #:optional (system (or (%current-target-system) @@ -200,7 +204,7 @@ (define* (racket-vm-for-system #:optional racket-vm-cs racket-vm-bc)) -(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) @@ -211,10 +215,15 @@ (define %racket-origin (url "https://github.com/racket/racket") (commit %racket-commit))) (sha256 - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-chez-scheme-bin-sh.patch" - "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-backport-8.6-cross-install.patch" + "racket-backport-8.6-docindex-write.patch" + "racket-backport-8.6-hurd.patch" + "racket-backport-8.6-zuo.patch" + "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch" + "racket-zuo-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -241,21 +250,10 @@ (define-public zuo (name "zuo") (version (string-append %zuo-version "-racket" - "8.6" + %racket-version (if revision "-guix" "") (or revision ""))) - (source - (origin - (inherit %racket-origin) - (uri (git-reference - (url "https://github.com/racket/racket") - (commit "v8.6"))) - (sha256 - (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) - (patches (append (origin-patches %racket-origin) - (search-patches "racket-backport-8.6-zuo.patch" - "racket-zuo-bin-sh.patch"))) - (file-name (git-file-name "racket" "8.6")))) + (source %racket-origin) (outputs '("out" "debug")) (build-system gnu-build-system) (inputs (list bash-minimal)) @@ -334,7 +332,8 @@ (define-public racket-vm-cgc (inputs (list ncurses ;; <- common to all variants (for #%terminal) bash-minimal ;; <- common to all variants (for `system`) libffi)) ;; <- only for BC variants - (native-inputs (list libtool)) ;; <- only for BC variants + (native-inputs (list zuo ;; <- for all variants + libtool)) ;; <- only for BC variants (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -342,6 +341,10 @@ (define-public racket-vm-cgc #:configure-flags #~(cons "--enable-cgcdefault" #$(racket-vm-common-configure-flags)) + #:make-flags + #~(list (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo")) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -701,25 +704,25 @@ (define-public racket "contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3") '(("contract-profile" "."))) (simple-racket-origin - "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55") + "data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprfisc") '("data" "data-doc" "data-enumerate-lib" "data-lib")) (simple-racket-origin "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s") '(("datalog" "."))) (simple-racket-origin - "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5") + "db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmjq") '("db" "db-doc" "db-lib")) (simple-racket-origin - "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr") + "deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y64pij489x34v") '("deinprogramm" "deinprogramm-signature")) (simple-racket-origin "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0") '("distributed-places" "distributed-places-doc" "distributed-places-lib")) (simple-racket-origin - "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92") + "draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i42635sm") '("draw" "draw-doc" "draw-lib")) (simple-racket-origin - "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz") + "drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189fn42q62") '("drracket" "drracket-plugin-lib" "drracket-tool" @@ -736,7 +739,7 @@ (define-public racket "eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n27s") '(("eopl" "."))) (simple-racket-origin - "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip") + "errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124pp6xkjyavx") '("errortrace" "errortrace-doc" "errortrace-lib")) (simple-racket-origin "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q") @@ -753,13 +756,13 @@ (define-public racket "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d") '(("games" "."))) (simple-racket-origin - "gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx") + "gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv401w") '("gui" "gui-doc" "gui-lib" "tex-table")) (simple-racket-origin "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5") '("gui-pkg-manager-lib")) (simple-racket-origin - "htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3") + "htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjykwir") '("htdp" "htdp-doc" "htdp-lib")) (simple-racket-origin "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x") @@ -783,7 +786,7 @@ (define-public racket "make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa") '(("make" "."))) (simple-racket-origin - "math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp217ac") + "math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq9ai") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -818,16 +821,16 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflzfd52hj7awafqhk") + "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin - "parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq0rj49cr8fl3") + "parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic19cj6f7rmcnj") '("parser-tools" "parser-tools-doc" "parser-tools-lib")) (simple-racket-origin "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv") + "pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq6sx") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -881,7 +884,7 @@ (define-public racket "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n") + "rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyzl7prn81") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -894,10 +897,10 @@ (define-public racket "readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w2pxkfwn") '("readline" "readline-doc" "readline-lib")) (simple-racket-origin - "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi") + "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i") + "redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852czil7") '("redex" "redex-benchmark" "redex-doc" @@ -912,7 +915,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3") + "scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9b2acvd3") '("scribble" "scribble-doc" "scribble-html-lib" @@ -944,7 +947,7 @@ (define-public racket "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc") + "typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7bdc0jfg8a18l") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -955,13 +958,13 @@ (define-public racket "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin - "string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac") + "string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6hj4az5lfbbdvqz47") '("string-constants" "string-constants-doc" "string-constants-lib")) (simple-racket-origin - "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67") + "swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbgqxvsyb") '(("swindle" "."))) (simple-racket-origin - "syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm") + "syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b8dsvbbrjyq1") '("syntax-color" "syntax-color-doc" "syntax-color-lib")) (simple-racket-origin "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia") @@ -970,7 +973,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd") + "web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxmd6r3fwcpf") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021615325032 (code B ref 57050); Thu, 11 Aug 2022 11:10:03 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:13 +0000 Received: from localhost ([127.0.0.1]:51832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63r-0006VU-LY for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:13 -0400 Received: from mail-qk1-f170.google.com ([209.85.222.170]:45983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63k-0006UA-1S for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:08 -0400 Received: by mail-qk1-f170.google.com with SMTP id b2so455404qkh.12 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=89ugusxRb+YJzfP0tV0/+ntHX5gkqDx7zwX3JNmJsuw=; b=MNZLfzmtv3T1OjZSZJn4TCUUdJzNoCk7P0Ig/aHAbGoQK8MCzEHn+lTLuKjtG7r3Uk 38DbYkhjogVuPJqS3iMxLe7qMP0djtqC/wYz77HSltDE9b9p9SjyAitbquApjzAkBl1i hHnyZJgPwi8DvOSAAOwu/aje3D0EoZ8np4k5bnjhu39ge2ZVBTCo3ENV7lcEH/UP7S3g 7kl6vW15AUskisDaFy+SVP5UO5jHzBzKwQaTplWk7TiwlduKWKbSIxzatRTOiynmQeJ7 qw7pqw82BeLw3XKAV8mXT+FInThKF8fm1PG8cbOCfIh1m2w9NNWM5EWk+0PNTWZwBIsr 9hAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=89ugusxRb+YJzfP0tV0/+ntHX5gkqDx7zwX3JNmJsuw=; b=ZIIsQdE8zIC4pIrZxD/swErUJu6wdutZB/EQhhyVgUp90H2m5TWd4cnfjgXgHpaLY+ 8VdNvmvBwMllORwh4QKWGWRosWtK5+B5CCnzV5JG3WVA5XeAl09Hl8o7LX6S6ZtqBkje AoK4aXG6T5ZFIRBnAO3G0x625xC2qtUD2y7bDmgNVHXQCMjZI8C8+BvHvNvFTVGAJ6Q2 GWSJ5b0SRIaypzjftA5sf02BoDHeoLcPw69Au8Bf9UtcoHHD1v3cFIJIJtM7bZrT37cj wGfyzWN0+XKTGW74fOJLzORrq9wrHKAvW6FxGk0Psz5Ssu4B1VmTjwY//s4wjd67CiL9 W6OQ== X-Gm-Message-State: ACgBeo11jxXp+SWtLjnXaS3iOESpdnRpHKML94laoFgGN2cXEjAefkDn 10y+sS4Repe1/HbOjqmA8CTUYMRoMp1HUjOx X-Google-Smtp-Source: AA6agR4KwZR8IAaSZtU89Edh88lQPndUkUWCZFo3G7U/9cs++FcRXo7fnmP1sIxNmO93gbUDc8Z+uw== X-Received: by 2002:a05:620a:4454:b0:6b9:6ee4:2267 with SMTP id w20-20020a05620a445400b006b96ee42267mr10958480qkp.451.1660216137992; Thu, 11 Aug 2022 04:08:57 -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 ga25-20020a05622a591900b0034361fb2f75sm1507854qtb.22.2022.08.11.04.08.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:08:57 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:14 -0400 Message-Id: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/patches/racket-backport-8.6-zuo.patch, gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%zuo-version): New variable. (zuo): New variable. --- gnu/local.mk | 2 + .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++++++ gnu/packages/patches/racket-zuo-bin-sh.patch | 72 +++ gnu/packages/racket.scm | 64 +++ 4 files changed, 619 insertions(+) create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index 076fa341e9..4a87380350 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1774,8 +1774,10 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-backport-8.6-zuo.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ + %D%/packages/patches/racket-zuo-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch b/gnu/packages/patches/racket-backport-8.6-zuo.patch new file mode 100644 index 0000000000..b86679b7ec --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch @@ -0,0 +1,481 @@ +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:10:58 -0600 +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and + `CC_FOR_BUILD` + +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) +--- + racket/src/zuo/Makefile.in | 7 ++++++- + racket/src/zuo/README.md | 10 ++++++++++ + racket/src/zuo/configure | 15 +++++++++++++++ + racket/src/zuo/configure.ac | 11 +++++++++++ + 4 files changed, 42 insertions(+), 1 deletion(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 5d16e145bf..747b584c5c 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ ++LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ ++ + EMBED_LIBS = @EMBED_LIBS@ + + .PHONY: zuos-to-run-and-install +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS) ++ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md +index 17c88ee9ec..3aad504b7e 100644 +--- a/racket/src/zuo/README.md ++++ b/racket/src/zuo/README.md +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a stand-alone file or + embedded in `.c` source. + + ++Cross Compiling ++--------------- ++ ++If you use `./configure --host=...` to cross compile, then you will ++also need to add something like `CC_FOR_BUILD=cc` as a `./configure` ++argument to specify the compiler for a `zuo` to use on the build ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. ++ ++ + Embedding Zuo in Another Application + ------------------------------------ + +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 1fa34a3fe8..575ce07d96 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -589,6 +589,10 @@ enable_embed="zuo" + ac_subst_vars='LTLIBOBJS + LIBOBJS + EMBED_LIBS ++LIBS_FOR_BUILD ++LDFLAGS_FOR_BUILD ++CFLAGS_FOR_BUILD ++CC_FOR_BUILD + OBJEXT + EXEEXT + ac_ct_CC +@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++ ++ ++ ++ ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 89b3c6391d..598ff79629 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno], + AC_PROG_MAKE_SET() + AC_PROG_CC + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) ++AC_SUBST(LIBS_FOR_BUILD) ++ + AC_SUBST(EMBED_LIBS) + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) + +-- +2.32.0 + + +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:47:03 -0600 +Subject: [PATCH 2/4] Zuo: sort hash keys + +Printing in a sorted order is helpful to make things more +deterministic independent of symbol inputs. Making `hash-keys` +produce a sorted list generalizes that determinism. + +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) +--- + racket/src/zuo/build.zuo | 5 ++- + racket/src/zuo/tests/hash.zuo | 8 ++-- + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- + racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++- + 4 files changed, 78 insertions(+), 10 deletions(-) + +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo +index c1b5e8ce66..129240120a 100644 +--- a/racket/src/zuo/build.zuo ++++ b/racket/src/zuo/build.zuo +@@ -47,7 +47,10 @@ + (target (at-dir (add-exe name)) + (lambda (path token) + (rule (list image_zuo.c +- (input-data-target 'config config) ++ (input-data-target 'config (cons ++ lib-path ++ (map (lambda (key) (hash-ref config key)) ++ '(CC CPPFLAGS CFLAGS LDFLAGS LIBS)))) + (quote-module-path)) + (lambda () + (define l (split-path path)) +diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.zuo +index a35741c730..0d3d7f3af6 100644 +--- a/racket/src/zuo/tests/hash.zuo ++++ b/racket/src/zuo/tests/hash.zuo +@@ -35,9 +35,7 @@ + + (check (hash-keys (hash)) '()) + (check (hash-keys (hash 'a 1)) '(a)) +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) +- (or (equal? keys '(a b)) +- (equal? keys '(b a))))) ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) + (check-arg-fail (hash-keys 0) "not a hash table") +@@ -50,3 +48,7 @@ + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") ++ ++;; print sorts keys alphabetically: ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 94641d041e..4605e47471 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -538,10 +538,20 @@ support to convert the textual form back into a hash table value. + + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove + hash-keys hash-count hash-keys-subset?] from @racketmodname[racket]. +-Besides being constrained to symbol keys, there is one additional +-difference: the third argument to @racket[hash-ref], when supplied, +-is always used as a value to return if a key is missing, as +-opposed to a failure thunk.} ++ ++Besides being constrained to symbol keys, there are two additional ++differences: ++ ++@itemlist[ ++ ++ @item{the third argument to @racket[hash-ref], when supplied, is ++ always used as a value to return if a key is missing, as ++ opposed to a failure thunk; and} ++ ++ @item{the @racket[hash-keys] function returns interned keys sorted ++ alphabetically.} ++ ++]} + + + @section{Procedures} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 2957d478af..88d5747326 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t *accum) { + return accum; + } + ++/*======================================================================*/ ++/* symbol-list sorting */ ++/*======================================================================*/ ++ ++/* merge sort used to make hash printing deterministic */ ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { ++ zuo_t *l, *left, *right, *first, *last; ++ zuo_uint_t len = 0, i; ++ ++ for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l)) ++ len++; ++ ++ if (len < 2) ++ return l_in; ++ ++ left = z.o_null; ++ for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--) ++ left = zuo_cons(_zuo_car(l), left); ++ right = l; ++ ++ left = zuo_symbol_list_sort(left); ++ right = zuo_symbol_list_sort(right); ++ ++ first = last = z.o_null; ++ while ((left != z.o_null) && (right != z.o_null)) { ++ zuo_t *p; ++ ++ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), ++ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) ++ < 1) { ++ p = zuo_cons(_zuo_car(left), z.o_null); ++ left = _zuo_cdr(left); ++ } else { ++ p = zuo_cons(_zuo_car(right), z.o_null); ++ right = _zuo_cdr(right); ++ } ++ ++ if (first == z.o_null) ++ first = p; ++ else ++ ((zuo_pair_t *)last)->cdr = p; ++ last = p; ++ } ++ ++ ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right); ++ ++ return first; ++} ++ ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { ++ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); ++} ++ + /*======================================================================*/ + /* terminal support */ + /*======================================================================*/ +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zuo_print_mode_t mode) { + out_string(out, "opaque"); + out_string(out, ">"); + } else if (obj->tag == zuo_trie_node_tag) { +- zuo_t *keys = zuo_trie_keys(obj, z.o_null); ++ zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null); + if (mode == zuo_print_mode) { + out_string(out, "(hash"); + if (keys != z.o_null) +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sym) { + + static zuo_t *zuo_hash_keys(zuo_t *ht) { + check_hash("hash-keys", ht); +- return zuo_trie_keys(ht, z.o_null); ++ return zuo_trie_sorted_keys(ht, z.o_null); + } + + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { +-- +2.32.0 + + +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 18:06:41 -0600 +Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol` + +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) +--- + racket/src/zuo/tests/symbol.zuo | 3 +++ + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++- + racket/src/zuo/zuo.c | 37 +++++++++++++++++---------- + 3 files changed, 29 insertions(+), 15 deletions(-) + +diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symbol.zuo +index 7775aeeb04..5600a89755 100644 +--- a/racket/src/zuo/tests/symbol.zuo ++++ b/racket/src/zuo/tests/symbol.zuo +@@ -19,3 +19,6 @@ + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) + (check-arg-fail (string->symbol 'apple) not-string) + (check-arg-fail (string->uninterned-symbol 'apple) not-string) ++ ++(check-arg-fail (string->symbol "apple\0spice") "without a nul character") ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 4605e47471..07dd5815b0 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -500,7 +500,9 @@ back into Zuo. + )]{ + + Analogous to @realracket*[symbol? symbol->string string->symbol +-string->uninterned-symbol] from @racketmodname[racket].} ++string->uninterned-symbol] from @racketmodname[racket], but ++@racket[string->symbol] accepts only strings that do not contain the ++null character.} + + + @section{Hash Tables (Persistent Maps)} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 88d5747326..17f161826d 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { + + first = last = z.o_null; + while ((left != z.o_null) && (right != z.o_null)) { +- zuo_t *p; ++ zuo_t *p, *s_left, *s_right; + + if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), + ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *start_i, zuo_t *end_i) { + return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx], e_idx - s_idx); + } + ++static int zuo_is_string_without_nul(zuo_t *obj) { ++ zuo_int_t i; ++ ++ if ((obj->tag != zuo_string_tag) ++ || ZUO_STRING_LEN(obj) == 0) ++ return 0; ++ ++ for (i = ZUO_STRING_LEN(obj); i--; ) { ++ if (((zuo_string_t *)obj)->s[i] == 0) ++ return 0; ++ } ++ ++ return 1; ++} ++ + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { +- check_string("string->symbol", obj); ++ if (!zuo_is_string_without_nul(obj)) { ++ const char *who = "string->symbol"; ++ check_string(who, obj); ++ zuo_fail_arg(who, "string without a nul character", obj); ++ } ++ + return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); + } + +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, zuo_t *envvars) + #endif + + static int zuo_is_path_string(zuo_t *obj) { +- zuo_int_t i; +- +- if ((obj->tag != zuo_string_tag) +- || ZUO_STRING_LEN(obj) == 0) +- return 0; +- +- for (i = ZUO_STRING_LEN(obj); i--; ) { +- if (((zuo_string_t *)obj)->s[i] == 0) +- return 0; +- } +- +- return 1; ++ return zuo_is_string_without_nul(obj); + } + + static zuo_t *zuo_path_string_p(zuo_t *obj) { +-- +2.32.0 + + +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 19:50:46 -0600 +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too + +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) +--- + racket/src/zuo/Makefile.in | 3 ++- + racket/src/zuo/configure | 5 ++++- + racket/src/zuo/configure.ac | 4 +++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 747b584c5c..0376c038a8 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -19,6 +19,7 @@ LIBS = @LIBS@ + + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ + +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 575ce07d96..7ac453e3bc 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -591,6 +591,7 @@ LIBOBJS + EMBED_LIBS + LIBS_FOR_BUILD + LDFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + OBJEXT +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi +@@ -2600,6 +2602,7 @@ fi + + + ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} + +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 598ff79629..051ea0beb5 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -27,12 +27,14 @@ AC_PROG_CC + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(LIBS_FOR_BUILD) + +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch b/gnu/packages/patches/racket-zuo-bin-sh.patch new file mode 100644 index 0000000000..392ea05129 --- /dev/null +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch @@ -0,0 +1,72 @@ +From 4888106cdfd80d1af925e5a485a2812d35a83b46 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Mon, 11 Apr 2022 20:43:18 -0400 +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix + +This patch reuses the C preprocessor macro `GUIX_RKTIO_BIN_SH` +from a previous patch. + +If: + + 1. The `GUIX_RKTIO_BIN_SH` macro is defined; and + + 2. `zuo_process` is called with the exact path "/bin/sh"; and + + 3. The path specified by `GUIX_RKTIO_BIN_SH` exists; + +then `zuo_process` will execute the file specified by +`GUIX_RKTIO_BIN_SH` instead of "/bin/sh". +--- + racket/src/zuo/zuo.c | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 17f161826d..10e7a2a297 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -5730,7 +5730,18 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_raw_handle_t *_w) + zuo_t *zuo_process(zuo_t *command_and_args) + { + const char *who = "process"; +- zuo_t *command = _zuo_car(command_and_args); ++ /* BEGIN PATCH for Guix */ ++ zuo_t *_guix_orig_command = _zuo_car(command_and_args); ++ zuo_t *command; ++#if defined(GUIX_RKTIO_BIN_SH) ++# define GUIX_AS_a_STR_HELPER(x) #x ++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) ++ /* A level of indirection makes `#` work as needed: */ ++ const char *guix_sh = GUIX_AS_a_STR(GUIX_RKTIO_BIN_SH); ++# undef GUIX_AS_a_STR ++# undef GUIX_AS_a_STR_HELPER ++#endif ++ /* END PATCH for Guix */ + zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null; + zuo_t *options = z.o_empty_hash, *opt; + zuo_t *dir, *l, *p_handle, *result; +@@ -5741,7 +5752,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) + void *env; + int as_child, exact_cmdline; + +- check_path_string(who, command); ++ /* BEGIN PATCH for Guix */ ++ check_path_string(who, _guix_orig_command); ++#if defined(GUIX_RKTIO_BIN_SH) ++ command = ++ ((z.o_false == zuo_string_eql(_guix_orig_command, zuo_string("/bin/sh"))) ++ || (z.o_false == zuo_stat(zuo_string(guix_sh), z.o_false, z.o_true))) ++ ? _guix_orig_command ++ : zuo_string(guix_sh); ++#else ++ command = _guix_orig_command; ++#endif ++ /* END PATCH for Guix */ ++ + for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) { + zuo_t *a = _zuo_car(l); + if (a == z.o_null) { + +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index cddb617232..0c8b3b6bb8 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -201,6 +201,7 @@ (define* (racket-vm-for-system #:optional racket-vm-bc)) (define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) (define %racket-origin @@ -233,6 +234,69 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) + +(define-public zuo + (let ((revision #f)) + (package + (name "zuo") + (version (string-append %zuo-version + "-racket" + "8.6" + (if revision "-guix" "") + (or revision ""))) + (source + (origin + (inherit %racket-origin) + (uri (git-reference + (url "https://github.com/racket/racket") + (commit "v8.6"))) + (sha256 + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) + (patches (append (origin-patches %racket-origin) + (search-patches "racket-backport-8.6-zuo.patch" + "racket-zuo-bin-sh.patch"))) + (file-name (git-file-name "racket" "8.6")))) + (outputs '("out" "debug")) + (build-system gnu-build-system) + (inputs (list bash-minimal)) + (native-inputs (list bash-minimal)) + (arguments + (list + #:configure-flags + #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" + #$(file-append (this-package-input "bash-minimal") + "/bin/sh")) + #+@(if (%current-target-system) + (list #~,(string-append + "CPPFLAGS_FOR_BUILD=-DGUIX_RKTIO_BIN_SH=" + #+(file-append + (this-package-native-input "bash-minimal") + "/bin/sh"))) + '())) + #:out-of-source? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "racket/src/zuo")))))) + (home-page "https://github.com/racket/zuo") + ;; ^ This is downstream of https://github.com/racket/racket, + ;; but it's designed to be a friendly landing place + (synopsis "Tiny Racket for build scripts") + (description "You should use Racket to write scripts. But what if you +need something much smaller than Racket for some reason—or what if you're +trying to script a build of Racket itself? Zuo is a tiny Racket with +primitives for dealing with files and running processes, and it comes with a +@command{make}-like embedded DSL. + +Zuo (作) is a Racket variant in the sense that program files start with +@code{#lang}, and the module path after @code{#lang} determines the parsing +and expansion of the file content. That's how the @command{make}-like DSL is +defined, and even the base Zuo language is defined by layers of @code{#lang}s. +One of the early layers implements macros.") + (license (list license:asl2.0 license:expat))))) + + (define (racket-vm-common-configure-flags) ;; under a lambda abstraction to avoid evaluating bash-minimal too early. #~`(,@(cond -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021615725046 (code B ref 57050); Thu, 11 Aug 2022 11:10:04 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:17 +0000 Received: from localhost ([127.0.0.1]:51835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63x-0006Vt-8u for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:17 -0400 Received: from mail-qk1-f170.google.com ([209.85.222.170]:45983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63q-0006UA-Hd for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:11 -0400 Received: by mail-qk1-f170.google.com with SMTP id b2so455707qkh.12 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=HxhcUY+za+mNFpnCVDuQEKAH0aEVOhBTm4Rup5xFZAs=; b=elaofE0KfGyWS2UrVApjRQOoijzfAyFQWO/j+PPy/giBVcpwn81njhv3iTUkdj41Un DRqix2jZh24qul5DhgtjW79whxBCNSgmH36TDNBbdC/GwBRlDyW0mHKFgtOHNEb3bOhs C4P8apaAGc4FhJAvWHANM5VWpyoHde505uhq+N9YgmuqpLYFjI59f4Q/Dj6ljY6M90aj a9Zm/xSk3IuWCua+RMhMf70fX8qUFNLAHGEKGTpm7upJFvfhsJ92rYT4eZ4ed0sqxofa 4/zSdaKEOK156o3i0pc0Vh/GVKqtXz2rw18M1UdkT203iEuRsPtgNC+TO0FuYoKc3us3 jGWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=HxhcUY+za+mNFpnCVDuQEKAH0aEVOhBTm4Rup5xFZAs=; b=C1A+h1tZGtD3gEl0x+DhjJMXvK8cxqj4JpfHnuuwmurc5Yqj0i4VzYxRJxgsx73rji YHbdok5QQ2QZXzr2z5aAvshTXCEcXoJoex3bQ5UNcy9B/AYDq6P0C00tZ1Z5LNM7sa1B VDkMgqtCAnoBVze8sqp5ebf/w3sexgtlNrdwshj+ELk7JpCEtGqWYgkhL6pyDmUrvPCX kZyHjjbp6RqIo1go7Nhcx6AVAfMHzYM4Iwz0f92c7/nLNhaJEKGRU/Fbvut1HVSao+Xj aC+8Z25UskMVTETobuuuzXkRzpDIME47ZeamwFHn2+jVdhdgiqqfudY0InMosnQ75ugN aqGQ== X-Gm-Message-State: ACgBeo3cvoomJVeSU2hsqjdKVVOwHSAfpkCYhW2cakXr+zh8QMIPKhtz DN6X1GU394GIt7RqFwCuArC5aO/U44BgizE1 X-Google-Smtp-Source: AA6agR6JP8y6PUP2QeZsMgYom0TNGfmcfYsv2r1YeOLT4rL7c99+vHWb0RFdkuFlHzjaNFRVV8+nfw== X-Received: by 2002:a05:620a:4411:b0:6b9:aded:c992 with SMTP id v17-20020a05620a441100b006b9adedc992mr4329312qkp.107.1660216150112; Thu, 11 Aug 2022 04:09:10 -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 v17-20020a05620a441100b006b5e5ebfff8sm1696670qkp.62.2022.08.11.04.09.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:09 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:17 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (racket-cs-native-supported-system): Change to return the applicable machine type instead of '#t'. (chez-scheme-for-racket)[native-inputs]: When cross-compiling, add 'this-package'. [arguments]<#:configure-flags>: When cross-compiling, supply '-m=' and '--toolprefix='. <#:phases>: Work around cross-compilation issues in 'build' and 'install-docs'. (chez-scheme-for-racket-bootstrap-bootfiles): When cross-compiling, use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. [arguments]<#:phases>: Adapt 'build' phase for cross-compilation. --- gnu/packages/chez.scm | 85 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 294edca1a4..be9884b3d2 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -236,14 +236,15 @@ (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." + "Can Racket's variant of Chez Scheme generate native code for SYSTEM? If +so, return the applicable machine type as a string. Otherwise, when SYSTEM +can use only the ``portable bytecode'' backends, return #f." (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))) + (string-append "t" chez-arch chez-os)))) ;; ;; Chez Scheme: @@ -457,8 +458,12 @@ (define-public chez-scheme-for-racket (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs - (modify-inputs (package-native-inputs chez-scheme) - (append zuo))) + (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) + (append zuo)))) + (if (%current-target-system) + (modify-inputs native-inputs + (append this-package)) + native-inputs))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) @@ -472,6 +477,15 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate + #$@(if (%current-target-system) + (list (string-append "-m=" + (racket-cs-native-supported-system?))) + '()) + #$@(if (%current-target-system) + (list (string-append "--toolprefix=" + (%current-target-system) + "-")) + '()) ,@(let* ((chez+version (strip-store-file-name #$output)) (doc-prefix (assoc-ref %outputs "doc")) (doc-dir (string-append doc-prefix @@ -494,18 +508,42 @@ (define-public chez-scheme-for-racket #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) - (unpack (assoc-ref those-phases 'unpack))) + (gnu:unpack (assoc-ref those-phases 'unpack)) + (gnu:build (assoc-ref those-phases 'build))) (modify-phases those-phases + (replace 'build + ;; need to override target for cross-compilation + ;; https://racket.discourse.group/t/950/19 + (lambda* (#:key target (make-flags '()) (parallel-build? #t) + #:allow-other-keys) + (gnu:build #:make-flags (if target + (cons "kernel" make-flags) + make-flags) + #:parallel-build? parallel-build?))) (replace 'install-docs - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key native-inputs (make-flags '()) + #:allow-other-keys) + ;; The tests for 'native-inputs' are cross-compilation + ;; workarounds that would be better to address upstream: + ;; see . + (when native-inputs + (substitute* "Makefile" + (("install-docs: build \\$[(]ZUO[)]") + "install-docs: $(ZUO)"))) (apply invoke "make" "install-docs" - make-flags))) + (if native-inputs + (cons (string-append + "Scheme=" + (search-input-file native-inputs + "/bin/scheme")) + make-flags) + make-flags)))) (replace 'unpack (lambda args - (unpack #:source #$(or (package-source this-package) - (package-source racket-vm-bc))))) + (gnu:unpack #:source #$(or (package-source this-package) + (package-source racket-vm-bc))))) (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) @@ -587,8 +625,12 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (name "chez-scheme-for-racket-bootstrap-bootfiles") (version (package-version chez-scheme-for-racket)) (source #f) ; avoid problematic cycle with racket.scm - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) - ;; TODO: cross compilation + (native-inputs + (cons* chez-nanopass-bootstrap + (if (%current-target-system) + (list zuo + chez-scheme-for-racket) + (list racket-vm-bc)))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme-bootstrap-bootfiles) @@ -608,9 +650,22 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles #$unpack-nanopass+stex)) (add-before 'install 'build (lambda* (#:key native-inputs inputs #:allow-other-keys) - (invoke (search-input-file (or native-inputs inputs) - "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))) + #$(cond + ((%current-target-system) + ;; cross-compiling + #~(invoke + (search-input-file (or native-inputs inputs) + "/bin/zuo") + "makefiles/boot.zuo" + (search-input-file (or native-inputs inputs) + "/bin/scheme") + #$(racket-cs-native-supported-system?))) + (else + ;; bootstrapping + #~(invoke + (search-input-file (or native-inputs inputs) + "/opt/racket-vm/bin/racket") + "rktboot/main.rkt")))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 06/13] gnu: chez-scheme: Bootfiles should not be native inputs. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021615825053 (code B ref 57050); Thu, 11 Aug 2022 11:10:04 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:18 +0000 Received: from localhost ([127.0.0.1]:51837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63x-0006Vv-Oo for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:18 -0400 Received: from mail-qk1-f181.google.com ([209.85.222.181]:33409) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63r-0006V7-KZ for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:12 -0400 Received: by mail-qk1-f181.google.com with SMTP id f14so13213402qkm.0 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=LPwoWqmZF2jIyAfy1wzTj3H5doONEMV1wg7yceTuFak=; b=cFFw+sYwQ/PtFfhpI+FjnFSDD1s2XGHq03fKiaSDxxnO1yvKEx3yXpK/Ab2eTafFBi XMRxml+4bsOl5KaMj9i1Iu6TJBQg/qaLppxXWBQb4oKRg718RRSzzNnHTLmD/oiIv7iL l+3ceUXrTi4cnSMEUXKljrXG/KVIp30C9CV8z1glmZsY4515+Ywag9BhC+Ytf/NZmf+a XrY3R/+C8Myn+yth4yhN9vqGFNW4DPw7iFx89Qowmi0N7Io1c/mHM8zYy5ybN9pDIbUt Ii6ot4CujIpkQ89R94B3vyovUjZdrjj46RcMiD+78t3waAAM2loljk/SZ+nJMZyOTwOW JKKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=LPwoWqmZF2jIyAfy1wzTj3H5doONEMV1wg7yceTuFak=; b=xa/NB4meC25SdSd+xvjrFFhSgGEO54MnJPLXj9AMhlPIZ0ZJDM9MaVgoFZ2UpMLQ8I h8TXdh2uBTP3JrJMoOeRQZt0gJjydqTUkLelBubmze+P95v67uMy0n7rBfa9Sp/gUtqu tfJ7e/XzJ2x+E0KaRfGHFpN24gDHnQuHMBwR3dqPN/oj8+I9l4W1aRRtunSxT7Om8sBe KHV3Q4Ucp0qf6JO6LSeq/TNzlAkjsPINagapFuCNU1dtVSP9HZhoKL67OcRDiEds9Zbt aw85yRooh/GS1vKDkU0WfRQgcFxFDJ2LzBcM+pZGAfUHQEDf1+74LZn3X7GLoSI4Rcj+ xiYw== X-Gm-Message-State: ACgBeo2HtllWnoYV2Co/xv8Nqw9V6jHXHCZ+8qtz0rV8pkP8eTSKnUyY PfTlhfHa5mQK4gLHUL5YQxGVbj8JIPOlEycB X-Google-Smtp-Source: AA6agR45g7WRdPdTmvDRHOfGhS4wYnhcjwSw/Y/oASqCpaG1D4Eeje7nYFM17RuQYpASm+8rCFqXJA== X-Received: by 2002:a05:620a:4416:b0:6b6:8101:be81 with SMTP id v22-20020a05620a441600b006b68101be81mr24610901qkp.414.1660216146101; Thu, 11 Aug 2022 04:09:06 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id k5-20020a05620a414500b006b9526cfe6bsm1771731qko.80.2022.08.11.04.09.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:05 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:16 -0400 Message-Id: <760b29c0cb071c142a637e538233a661ad4a5c87.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This makes a difference for cross-compilation. * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move 'chez-scheme-bootstrap-bootfiles' to ... [inputs]: ... this field. [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. (chez-scheme-for-racket)[native-inputs]: Move 'chez-scheme-for-racket-bootstrap-bootfiles' to ... [inputs]: ... this field. --- gnu/packages/chez.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index dde2c22ca5..294edca1a4 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -294,6 +294,7 @@ (define-public chez-scheme (build-system gnu-build-system) (inputs (list + chez-scheme-bootstrap-bootfiles `(,util-linux "lib") ;<-- libuuid zlib lz4 @@ -302,8 +303,7 @@ (define-public chez-scheme ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 libx11)) - (native-inputs (list chez-scheme-bootstrap-bootfiles - chez-nanopass-bootstrap + (native-inputs (list chez-nanopass-bootstrap stex-bootstrap)) (native-search-paths (list (search-path-specification @@ -342,7 +342,7 @@ (define-public chez-scheme (when (directory-exists? "boot") (delete-file-recursively "boot")) (copy-recursively - (search-input-directory (or native-inputs inputs) + (search-input-directory inputs "lib/chez-scheme-bootfiles") "boot"))) ;; NOTE: The custom Chez 'configure' script doesn't allow @@ -453,12 +453,12 @@ (define-public chez-scheme-for-racket (source #f) ; avoid problematic cycle with racket.scm (inputs (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib"))) + (delete "libx11" "util-linux:lib") + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) - (append zuo) - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (append zuo))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 08/13] gnu: racket: Support cross-compiling the VM packages. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021616325072 (code B ref 57050); Thu, 11 Aug 2022 11:10:04 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:23 +0000 Received: from localhost ([127.0.0.1]:51840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM643-0006WJ-5X for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:23 -0400 Received: from mail-qv1-f47.google.com ([209.85.219.47]:34772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM63z-0006Vp-Mz for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:20 -0400 Received: by mail-qv1-f47.google.com with SMTP id u8so13075572qvv.1 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=tN4aDTA3DHwgyJpiQzTQ+7Aqun8FzI4rNB2Y5gBAwLE=; b=dXuR+KBv0Uk1TSHCYIcBPbuqY2dYLXkZrKFpRFffn1usUWmSSRhsvNdoZSsob1TSOb Bax7Q5zrGSi6DDDvT+fLbcHit65/Sciv3mKlI/+QfW9Ed04ITPD8KWVatv5PFwMXugV+ u360CLX+BV3DsDM2NmK/oAbdyJOHAvpstBDSG5W1Ot5egJuwSfwqcygz7ewlQOmRH6OL WwyFnMxVMDv4UfZYHCYj4IUHMw1TP6BWKPN19YbEqiSduwRSEr/kpFlMVcvw7VZ/QEej ZerK4gus9HCcERdHaZ4rXZoXFKLb9bvQ6G6I+n9nPh8wWeU+pXB+7+jnNffhEfPmMgQF NfRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=tN4aDTA3DHwgyJpiQzTQ+7Aqun8FzI4rNB2Y5gBAwLE=; b=rn4Mpr2dyN1xqtgIkL5ThMLqKP9sSkvrFJ/RpySRXvZ8UxwAneJYNAr86WR3Glb4x8 L7XkgPP2g2mISM5HY1YjXQGc2eHTljI8Z7U0cs9DjSu3GDEkkpKOCKgd/AuvwB2KRZh1 7QiLclQ+7o8sPVYu5PNFmWOB5xKlHodJ/g4pDZ0KwepkbMH/tg1xyPya/5m4ussKa6hM vhTEQTGuJgGO1wOR8P+4PbI4COPe4xFjYjUT3pBCk3MqbpVMYAY1lXGUfIPyb8qA3bMu pp/XHT4lIj0tdNPDTNQAl9xtn+dD1rH9AhWWf4V3pISNWKE8+Ex6IFdKZmSdbs5S2Qx3 9uGw== X-Gm-Message-State: ACgBeo2IyKZykmcre16oSlt3HpsJ1FXWtxQHjs63eYeZeO8O6aVREB3V hFVWl6HXeJV23PpVFstTqYIOc/pNOx4bSsgg X-Google-Smtp-Source: AA6agR5nNGiGVf1xhLvSqFg8D/i6vkSo+/whoqNE9OSWfaaMsPdEmtPMHkH7l7lp9y4C27tJAmXIHQ== X-Received: by 2002:a05:6214:268c:b0:474:8351:5803 with SMTP id gm12-20020a056214268c00b0047483515803mr28150001qvb.23.1660216154236; Thu, 11 Aug 2022 04:09:14 -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 fv14-20020a05622a4a0e00b00342fb07944fsm1505139qtb.82.2022.08.11.04.09.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:14 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:18 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and 'racket-vm-cs'. These changes are not enough to cross-compile 'racket-minimal' or 'racket': that would require building and loading cross-compilation pluggins for 'racket-vm-cs', which will be much easier once we can build the package 'raco-cross'. * gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when cross-compiling. (racket-vm-bc)[native-inputs]: Adjust accordingly. (racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of 'racket-vm-bc' when cross-compiling. Adapt to changes to 'racket-vm-cgc'. [arguments]<#:configure-flags>: Fix '--enable-scheme' for cross-compilation. --- gnu/packages/racket.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 31f3394fa3..ef353103d6 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -332,8 +332,11 @@ (define-public racket-vm-cgc (inputs (list ncurses ;; <- common to all variants (for #%terminal) bash-minimal ;; <- common to all variants (for `system`) libffi)) ;; <- only for BC variants - (native-inputs (list zuo ;; <- for all variants - libtool)) ;; <- only for BC variants + (native-inputs (cons* zuo ;; <- for all variants + libtool ;; <- only for BC variants + (if (%current-target-system) + (list this-package) + '()))) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -421,8 +424,10 @@ (define-public racket-vm-bc (inherit racket-vm-cgc) (name "racket-vm-bc") (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (prepend racket-vm-cgc))) + (if (%current-target-system) + (package-native-inputs racket-vm-cgc) + (modify-inputs (package-native-inputs racket-vm-cgc) + (prepend racket-vm-cgc)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) @@ -452,11 +457,17 @@ (define-public racket-vm-cs (prepend zlib lz4) (delete "libffi"))) (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (delete "libtool") - (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - racket-vm-bc))) + (let ((native-inputs (package-native-inputs racket-vm-cgc))) + (modify-inputs (if (%current-target-system) + (modify-inputs native-inputs + (delete "racket-vm-cgc")) + native-inputs) + (delete "libtool") + (prepend chez-scheme-for-racket + chez-nanopass-bootstrap + (if (%current-target-system) + racket-vm-cs + racket-vm-bc))))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) @@ -470,7 +481,7 @@ (define-public racket-vm-cs "--enable-libz" "--enable-lz4" (string-append "--enable-scheme=" - #$(this-package-native-input + #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") #$(racket-vm-common-configure-flags))))) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021616725094 (code B ref 57050); Thu, 11 Aug 2022 11:10:05 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:27 +0000 Received: from localhost ([127.0.0.1]:51843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM646-0006WZ-GV for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:27 -0400 Received: from mail-qt1-f182.google.com ([209.85.160.182]:35780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM644-0006W8-1K for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:24 -0400 Received: by mail-qt1-f182.google.com with SMTP id h22so7730062qtu.2 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=7MKC3/Pnu/mtp7H3lV/Zz0rLWbz6x5gR+yWAVKjusII=; b=gRwGIXNJmuv/T+l9JguzlEjFYOw1Vw7SW92udkr8uwQYEbG3RQTQ+CSUJy/Lz76Vt1 xIcePTfQsRdNA/9ImyzXGEWDGPusc/VjBYuxiHgJEt7pCmVvcwvgRUvE6RjEgu9tD5ga UlP1noryHHUteXzr3cpabLbJ0ttzZqc5IVaOtq3eNsZ/9bAJT32owngaSzX023u14Uwr AmZxScM2tn0BlV/EfgNA++p7pTeduBz//dQJJhiNWLKXb+3+J+dg3HdDZamq3+zhQNsz sFRc9KpogUtwLrgSAwOQbAz/RQhR0tORT5L/biiqmLH72REoemKwEwVtcLknMlocOzYj VvHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=7MKC3/Pnu/mtp7H3lV/Zz0rLWbz6x5gR+yWAVKjusII=; b=W2Sesz/Z4PNVEthuzUVUQueSBpVCD0d575q5dU4zD2O31MVBtpqBM/l6DdOR0Dx+nI KWcuV1KisOEIoqcTwmX6YFhspQ2HWGCXaNvBj/LKvOB8ZvKsTFQmYmC6yGxsWUGKGFgK KIbwO4BSqLeXUUzbX7t72BAtjMVdGOZzr2XwA8299b3LWbEZkz2rTT5MdPJHqbcSyH+R 8dFdYqa878B2fU7FNc+OJqczJnNrfNVbjQ2bvxxKIfIqwRBXSA2kY8M55CZ5V5HszzCA HulvkMx6lBfRS8+a35kCMGN1df9nNyDWjADbUhaRpGkbwMJpkTqRvatPQETjLzMdwSvR aztA== X-Gm-Message-State: ACgBeo1r9El/qBfdDkiNQEFCNBAdb8Zs843to4HqWSu485NsrqZEVq5u R4BPb7pftgisrCwAIOnQ45/qgoC7S2fiBXDh X-Google-Smtp-Source: AA6agR4WBvPesoFHfZb1O9SVRjXkmWFUZsi+h+XbDuOYmzefXW06za+olp+lPhyrYWf3l3vqEfpAMg== X-Received: by 2002:ac8:57d2:0:b0:31f:1f3:b3ec with SMTP id w18-20020ac857d2000000b0031f01f3b3ecmr28000425qta.214.1660216158474; Thu, 11 Aug 2022 04:09:18 -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 u8-20020ac87508000000b0031e9ab4e4cesm1480985qtq.26.2022.08.11.04.09.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:18 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:19 -0400 Message-Id: <4d63cf22559de641440810e451b9366aa6091774.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On systems for which Racket's variant of Chez Scheme cannot generate native code, it can use a 'pbarch' machine type: a variant of the ``portable bytecode'' backend specialized to word size and endianness. This allows Racket CS to replace Racket BC on those systems while maintaining comparable performance. (Racket BC lacks JIT support for those systems anyway.) It also lets us provide a Chez Scheme package on all systems Guix supports. This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and 'racket-vm-cs', but it does not change the Racket VM implementation used for the 'racket' and 'racket-minimal' packages. * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable. (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Always supply '-m='. Add applicable flags for non-native systems. [supported-systems]: Use '%supported-systems'. [description]: Update. (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: Adapt 'build' phase for non-native systems. * gnu/packages/racket.scm (racket-vm-bc)[description]: Update. (racket-vm-cs)[description]: Likewise. [inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Add applicable flags for non-native systems. --- gnu/packages/chez.scm | 76 ++++++++++++++++++++++++++++++----------- gnu/packages/racket.scm | 26 +++++++++----- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index be9884b3d2..38b724ae5f 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -38,6 +38,7 @@ (define-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages netpbm) #:use-module (gnu packages racket) @@ -50,6 +51,7 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system racket-cs-native-supported-system? + nix-system->pbarch-machine-type unpack-nanopass+stex)) ;; Commentary: @@ -232,6 +234,28 @@ (define* (chez-upstream-features-for-system #:optional (and=> (assoc-ref %chez-features-table chez-os) (cut assoc-ref <> chez-arch)))) +(define* (nix-system->pbarch-machine-type #:optional + (system + (or (%current-target-system) + (%current-system))) + #:key (threads? #t)) + "Return a string naming the pseudo–machine type used by Racket's variant of +Chez Scheme to represent the appropriate ``pbarch'' backend for SYSTEM: that +is, the ``portable bytecode'' backend specialized for SYSTEM's word size and +endianness. The result will name the threaded machine type unless THREADS? is +provided and is #f." + (string-append (if threads? + "t" + "") + "pb" + (if (target-64bit? system) + "64" + "32") + ;; missing (guix utils) predicate target-little-endian? + (if (target-ppc32? system) + "b" + "l"))) + (define* (racket-cs-native-supported-system? #:optional (system (or (%current-target-system) @@ -453,10 +477,14 @@ (define-public chez-scheme-for-racket ;; When updating, remember to also update %racket-version in racket.scm. (source #f) ; avoid problematic cycle with racket.scm (inputs - (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib") - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (let ((inputs (modify-inputs (package-inputs chez-scheme) + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles) + (delete "libx11" "util-linux:lib")))) + (if (racket-cs-native-supported-system?) + inputs + (modify-inputs inputs + (append libffi))))) (native-inputs (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) (append zuo)))) @@ -477,10 +505,16 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate - #$@(if (%current-target-system) - (list (string-append "-m=" - (racket-cs-native-supported-system?))) - '()) + #$(string-append "-m=" (or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type))) + ;; ^ could skip -m= for non-cross non-pbarch builds + #$@(if (racket-cs-native-supported-system?) + #~() + ;; not inferred on non-native platforms: see + ;; https://racket.discourse.group/t/950/9 + #~("--enable-libffi" + "CFLAGS=-g -O2 -D_REENTRANT -pthread" + "LIBS=-lm -ldl -lrt -lffi -lncurses")) #$@(if (%current-target-system) (list (string-append "--toolprefix=" (%current-target-system) @@ -547,10 +581,7 @@ (define-public chez-scheme-for-racket (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) - ;; 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)) + (supported-systems %supported-systems) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, ;; but it's designed to be a friendly landing place for people @@ -563,13 +594,17 @@ (define-public chez-scheme-for-racket Main additions to Chez Scheme in the Racket variant: @itemize @bullet @item -AArch64 support +AArch64 code generation @item -Portable bytes (@code{pb}) support, which is mainly useful for bootstrapping -a build on any supported platform +Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a +build on any platform, but can also be used on platforms without native-code +generation, compiled via Emscripten, linked with @code{libffi}, or used with +bytecode partially compiled to C @item Unboxed floating-point arithmetic and flvectors @item +Faster multiplication and division for large exact numbers +@item Type reconstruction during optimization (especially for safe code) @item Continuation attachments @@ -580,8 +615,6 @@ (define-public chez-scheme-for-racket @item Ordered finalization, immobile (but collectable) objects, weak/ephemeron generic hash tables, and reference bytevectors -@item -Faster multiplication and division for large exact numbers @end itemize") (license asl2.0))) @@ -659,13 +692,18 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles "makefiles/boot.zuo" (search-input-file (or native-inputs inputs) "/bin/scheme") - #$(racket-cs-native-supported-system?))) + #$(or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type)))) (else ;; bootstrapping #~(invoke (search-input-file (or native-inputs inputs) "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))))) + "rktboot/main.rkt" + #$@(if (racket-cs-native-supported-system?) + #~() + (let ((m (nix-system->pbarch-machine-type))) + #~("--machine" #$m))))))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index ef353103d6..3b96cf46ef 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -331,7 +331,7 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) bash-minimal ;; <- common to all variants (for `system`) - libffi)) ;; <- only for BC variants + libffi)) ;; <- for BC and non-native CS variants (native-inputs (cons* zuo ;; <- for all variants libtool ;; <- only for BC variants (if (%current-target-system) @@ -437,10 +437,8 @@ (define-public racket-vm-bc (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written in C targeting architecture-independent bytecode, plus a JIT compiler on most -platforms. Racket BC has a different C API and supports a slightly different -set of architectures than the current default runtime system, Racket CS (based -on ``Chez Scheme''). It is the recommended implementation for architectures -that Racket CS doesn't support. +platforms. Racket BC has a different C API than the current default runtime +system, Racket CS (based on ``Chez Scheme''). This package is the normal implementation of Racket BC with a precise garbage collector, 3M (``Moving Memory Manager'').") @@ -453,9 +451,12 @@ (define-public racket-vm-cs (inherit racket-vm-bc) (name "racket-vm-cs") (inputs - (modify-inputs (package-inputs racket-vm-cgc) - (prepend zlib lz4) - (delete "libffi"))) + (let ((inputs (modify-inputs (package-inputs racket-vm-cgc) + (prepend zlib lz4)))) + (if (racket-cs-native-supported-system?) + (modify-inputs inputs + (delete "libffi")) + inputs))) (native-inputs (let ((native-inputs (package-native-inputs racket-vm-cgc))) (modify-inputs (if (%current-target-system) @@ -484,12 +485,19 @@ (define-public racket-vm-cs #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") + #$@(if (racket-cs-native-supported-system?) + #~() + #~(#$(string-append "--enable-mach=" + (nix-system->pbarch-machine-type)) + "--enable-pb")) #$(racket-vm-common-configure-flags))))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM implementation since Racket 8.0. It performs better than the Racket BC -implementation for most programs. +implementation for most programs. On systems for which Racket CS cannot +generate machine code, this package uses a variant of its ``portable +bytecode'' backend specialized for word size and endianness. Using the Racket VM packages directly is not recommended: instead, install the @code{racket-minimal} or @code{racket} packages.") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 11/13] gnu: racket: Use Racket CS on all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021617125117 (code B ref 57050); Thu, 11 Aug 2022 11:10:05 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:31 +0000 Received: from localhost ([127.0.0.1]:51847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64A-0006X1-CN for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:30 -0400 Received: from mail-qk1-f181.google.com ([209.85.222.181]:33409) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM646-0006V7-QR for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:27 -0400 Received: by mail-qk1-f181.google.com with SMTP id f14so13213845qkm.0 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=cAlwoSnviEUTVlhOjMlaO48NpqwtNpELKoMUv7d4ars=; b=hVXrNLC7JIOrZcmVt1ttFUhtgMEw3z3b3ssbz6W9SFhZmpCoKJKbVtWStD0fE2C+Jv pSDCxBxKbyT5AdtQRL2n1crn2HeeFcyEVZMjNuHQhAlI0+ga9J5bT17dmC8XjbruZx3m PcvrgtsaQyiMx+q9Q3kWwfcx8ksRaqv+XPTySnS7OyBW4U87/7AcSEYxiBoALxIiddzf NfE2aP3RWmpCayp1h3c0iRP5aOuBG7fdJ53DAZy29qCg2rzoJZhPKXHgrcV2UQTw3wPF g98aq5+tHb0Ptha8FRUoRULKFUYaoqndcWOPF45RD2ElLGbnjlCm0xCxTrfpB8x8ps2q sNkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=cAlwoSnviEUTVlhOjMlaO48NpqwtNpELKoMUv7d4ars=; b=L2bAb+4cUY9JYfORITutnem+qzgr2tLjyiYOu3/eRohg+gorEBYYFO5mG1LGTO2hzL pW+gXOqunbHWUcS0m7KawyX2/moRwTkSy2oylJJ+BcoLVLZFE1CHXyaxRa78w2QJ+etV N3ZM6HvZcniuDM95U7Rc9PxIMGNYEBJZPG7Ptm6Jgr03ducRag/N4wbrWYyEgSrLs54f Pn22M9Ql4V4HYY+hLPun9x1y4Adqtolj/LFleU7erSYZxXHHCNzO1oe8bOlHhxRCO6CI e4TUxT4DF+xWZP7A+sdkzAlx5ZPqJz6qZ4bOrGyw88oAkfcHwJ20oh7EIY4N3PsrAKIh t9nw== X-Gm-Message-State: ACgBeo3xXvZA1tHe20qjfZQlpAXHhv2LNbCjZWDI+LO4rdUx+keRxjKA xAyP17RDBqbzyv9aSxneIZmNVsMFfRfMPjXx X-Google-Smtp-Source: AA6agR6EGmB78/XUD/ujpGsAagNL4RcJLrwv7QzN47vtGm6YRcQvBmD34Yyk4jRMH2fkoW2BlRCyWw== X-Received: by 2002:a05:620a:601a:b0:6b9:3ffb:3dd2 with SMTP id dw26-20020a05620a601a00b006b93ffb3dd2mr15754411qkb.643.1660216166428; Thu, 11 Aug 2022 04:09:26 -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 z66-20020a379745000000b006b95b0a714esm1700043qkd.17.2022.08.11.04.09.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:26 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:21 -0400 Message-Id: <72d693448b5e07e8322eb3eeb302b16d20adfaf5.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This patch uses the 'pbarch' support added to 'racket-vm-cs' to make it the default Racket VM implementation on all systems. * gnu/packages/racket.scm (racket-vm-for-system): Remove. (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' with 'racket-vm-cs'. --- gnu/packages/racket.scm | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 008adcc072..b1de6cf885 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -129,10 +129,9 @@ (define-module (gnu packages racket) ;; This file defines the packages 'racket-vm-cgc', 'racket-vm-bc', and ;; 'racket-vm-cs'. All three are in-place builds of 'racket/src/' and ;; 'racket/collects/' and are installed to 'opt/racket-vm/' in the store -;; output. The function 'racket-vm-for-system' returns the recomended Racket -;; VM package for a given system. +;; output. ;; -;; We then define the packages 'racket-minimal' and +;; Using 'racket-vm-cs', we then define the packages 'racket-minimal' and ;; 'racket'. These use Racket's support for ``layered installations'', which ;; allow an immutable base layer to be extended with additional packages. ;; They use the layer configuration directly provide ready-to-install FHS-like @@ -193,17 +192,6 @@ (define-module (gnu packages racket) ;; ;; CODE: -(define* (racket-vm-for-system #:optional - (system (or (%current-target-system) - (%current-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)) - (define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit @@ -586,7 +574,7 @@ (define-public racket-minimal (inputs (list openssl sqlite - (racket-vm-for-system) + racket-vm-cs (racket-packages-origin "base" %racket-origin '(("base" "pkgs/base") @@ -704,7 +692,7 @@ (define-public racket unixodbc libedit ;; TODO reconsider in light of expeditor and readline-gpl racket-minimal ;; <-- TODO non-tethered layer - (racket-vm-for-system) + racket-vm-cs (simple-racket-origin "2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7") '("2d" "2d-doc" "2d-lib")) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 10/13] gnu: racket-vm-bc: Add workaround for ppc64le. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021617125123 (code B ref 57050); Thu, 11 Aug 2022 11:10:06 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:31 +0000 Received: from localhost ([127.0.0.1]:51849 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64A-0006X4-Pm for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:31 -0400 Received: from mail-qt1-f176.google.com ([209.85.160.176]:33598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM647-0006WI-TJ for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:28 -0400 Received: by mail-qt1-f176.google.com with SMTP id cb8so410823qtb.0 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=pQTxR4LDTZDlUrUtPMMBXtDWDwJ3UyRNwmWmjO5ITMg=; b=kEKeFQHOR/kvVShrTxnHp37gL+c6D32BwAmh/jrDQApjTlUtlduBhWLvGRK9u34fiu e/Z9epw4dDWFZl3yeWMUq0s3iUvXk9Gwjy5gkFL4JEOfbh8cGOpSmYpL/T+w2KzwNyac A1VZucNeiVGe4hmgKph+Deltj+4qAMRQA1Gx5T06EomHZpXpl/h3CedXL7mTxeJ/u0mZ uWA4T+C52UdQhuZ9qSC72F+VGyQ91EC3Wv8AF9FkXDxt9ks/4iOmkxoJVIYvXD5Gfzti w4wC1rZCuxSYEl6NDvYAUOFJzzp/69Zsm0QtmqbRyGSBa+Y6C/XeedtGYk2bPYnbH844 5y9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=pQTxR4LDTZDlUrUtPMMBXtDWDwJ3UyRNwmWmjO5ITMg=; b=vrIUKTXHDoaWCJUu640P0gtxtOj6dBzxim3gLRfYw2/4iTIOmM31WQzJQyb07DPNdF bkFP2TcaK/CZ/a+bnmfo1FESP9EgW6Gb6gME3/yI1PHY4ad9cjRDyvzGxFeENh6Bza9d ZTvNJ7LIvmp2A0iSE8+ws3KE0UgVul/dNCb2ybpA+SXRguBc4d7UbCgH2rDiYclvOaEV SIvzO4IOm1l6opLdSJkiPxH7b0wHErqr06aNPH8ECkwv6s+s0Gh3C83CKPDP1vx8bOeO EmdPe3D2ua9L4Sxsa82B91DfYYJInI26h9mi5k6OFhC93R9UR+eUlTun65zSQ4ZFXfeF 3Htg== X-Gm-Message-State: ACgBeo2OYsVCAKn0bugY4BDKimg/cpdf2cqOdPa3HAjYATpPm5yeTNbH Fll44zgLAxodSc1mU7cXMsuAhi0vXzMzhdWF X-Google-Smtp-Source: AA6agR70FXyIEqHUxAi8KLmqS9ctKwc1LshvMtNJ1w8hgAeRJgDAN4QUDqiE4U3Jz/4DHPQKJXN2Dg== X-Received: by 2002:a05:622a:44:b0:31e:d448:8746 with SMTP id y4-20020a05622a004400b0031ed4488746mr27925409qtw.664.1660216162430; Thu, 11 Aug 2022 04:09:22 -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 v6-20020a05620a0f0600b006af10bd3635sm1913526qkl.57.2022.08.11.04.09.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:22 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:20 -0400 Message-Id: <7421f7c6769f500334adeffae9a61d7b5d2e7cf0.1660215295.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This is an attempt to avoid a problem with Racket BC on ppc64 reported in that was exposed by attempting to use Racket BC to bootstrap Chez Scheme. Thanks to Matthew Flatt for the workaround: . * gnu/packages/racket.scm (racket-vm-bc)[arguments]<#:configure-flags>: Increase the number of bytes that should be available on the stack for "safety" when checking for stack overflow. --- gnu/packages/racket.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 3b96cf46ef..008adcc072 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -432,7 +432,20 @@ (define-public racket-vm-bc (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) #~(cons "--enable-bconly" - #$(racket-vm-common-configure-flags))))) + #$(cond + ((target-ppc64le?) + ;; Attempt to avoid a problem bootstrapping Chez Scheme: + ;; see + ;; and . + #~(map + (lambda (flag) + (if (string-prefix? "CPPFLAGS=" flag) + (string-append flag + " -DSTACK_SAFETY_MARGIN=200000") + flag)) + #$(racket-vm-common-configure-flags))) + (else + (racket-vm-common-configure-flags))))))) (synopsis "Racket BC [3M] implementation") (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 12/13] etc: teams: Add racket team. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021617725142 (code B ref 57050); Thu, 11 Aug 2022 11:10:06 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:37 +0000 Received: from localhost ([127.0.0.1]:51852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64H-0006XS-7V for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:37 -0400 Received: from mail-qk1-f169.google.com ([209.85.222.169]:38462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64F-0006X2-Qr for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:36 -0400 Received: by mail-qk1-f169.google.com with SMTP id b24so6771371qka.5 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=TjI/ow93wjlZsLQd8qVPjMPI/14E2Ukc++6/EjGldCM=; b=gx7nvg5fX4hvG/Q50uo40aGnJO2eIWCJKPH137eL4zdIIydzFAyQ1DN99BHktKwb3U 32FuB6yRhyYSGzYOq7kvS7VfueXyZ7WdTFaPXKYlEvtEBpPzmBhpQDHgf/NMed0JMqPR SE4b7MUS2gGmi3ddpVa0ivqwnNPd1Ygfe30IunZqaexT+eFmOMbqsil0N+RwBab8Fzw2 SN+E415v/GooZFi0nu89+eXGo0n7Gg5fmWSqCN5CcTL5w/8aXsxdqajRTtTMiGDdJYec 6BVsW9mE4zkuyraFYyHU9qnzfw6Qq9Rrk8K2oqjewl/SeEgGrnlSbYy2UNAiUuQmKnUD nKlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=TjI/ow93wjlZsLQd8qVPjMPI/14E2Ukc++6/EjGldCM=; b=GQ9g0vyPe3g6TNhLhiayKCuG7n4p9MwSGUmrTyfyz872LmLBzpgnDwoVZ+j1G1NvVh JO+R6/HuBfcVMZafBNKckoFmAHBNo/sYMqtNPhAsC8qlDbkMLvnweGj6/Vh2z5nlQ2vI WcjLR+V6PamWn7uMpMBmO+vmUvZRyp9yB2Ndklua+167PizXF1Qhftj30HepXebxNwRO Uw7/MGL4aePS5PgJrxUuNVOFl80U96UFOHoFf+Hnz8djvTheGBgJ9LawLoyqdGkFsz71 5EF30gzgUBDlkBFDDpdAMNh524IhV/u2z+5WsW1KTzfx9ajKfDyi4FE7/i5k6kYUL6Ws kb9Q== X-Gm-Message-State: ACgBeo1G0iJYqFA5T7gHLYirSmhYSvDk0hOpABE9cesyNVsP1dn6dZ4l dX4fEIp95Z2gEhbBVCfFiVlWVe6qLw7xns5j X-Google-Smtp-Source: AA6agR5ypTtLiLjZThnlemSbDYLsf0VfUyTm+JdOue8ob/TQ++2T3qqZ6bycqhcD8ykl79CU0RNopw== X-Received: by 2002:a05:620a:294e:b0:6a7:750b:abf8 with SMTP id n14-20020a05620a294e00b006a7750babf8mr23256677qkp.513.1660216170361; Thu, 11 Aug 2022 04:09:30 -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-20020ac85d89000000b00342f05defd1sm1506978qtx.66.2022.08.11.04.09.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:30 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:22 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in (racket): New team. --- etc/teams.scm.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index adee5d4356..af70f7525e 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -185,6 +185,14 @@ (define-team mozilla "Taking care about Icecat and Icedove, built from Mozilla Firefox and Thunderbird.")) +(define-team racket + (team 'racket + #:name "Racket team" + #:description + "The Racket language and Racket-based languages, Racket packages, +Racket's variant of Chez Scheme, and development of a Racket build system and +importer.")) + (define-member (person "Thiago Jung Bauermann" "bauermann@kolabnow.com") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 13/13] etc: teams: Add entry for Philip McGrath. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:10:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Liliana Marie Prikler , Philip McGrath , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021618125159 (code B ref 57050); Thu, 11 Aug 2022 11:10:06 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:09:41 +0000 Received: from localhost ([127.0.0.1]:51855 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64L-0006Xj-Hg for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:41 -0400 Received: from mail-qt1-f174.google.com ([209.85.160.174]:40834) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM64J-0006XK-M7 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:09:40 -0400 Received: by mail-qt1-f174.google.com with SMTP id w28so5028069qtc.7 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 04:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=W5nwTPbkFJneMPhj1YoI7TGor1lidjw2ar40JsTdPus=; b=NZBEMAOx/pYpQZg6nCwrjHBsuVZO1MKrfboPuZDZtcoDvW7lgIDVzhdFGgMo1Qgj1X cojRD/+el0nDT9OzNVuVJtBJNwRkz+FLnwApUX9AMwsN4DcDb7wslGlcg3fb3FVEAVPB aIVGlHnss52Mpn4sXdy8U0/sq/lmoKdd+iEucxWpcKJzLdbkS5eYGDG0Npewbz1RSHbz 04IhlPb0ku0LrtZIa3ITwpodnoPiov3tbrXQ6YLuYkQT9Ig+y99S5KQ7W94puzkNFtSi Xen/Zkll9YRxQBE/C3+jPeVMcchch00bL5C+RrUDQxLNsFzJb/gy7ZnYpNi8zFYedChy 7aLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=W5nwTPbkFJneMPhj1YoI7TGor1lidjw2ar40JsTdPus=; b=4Ee7LYkDQD2FOqTV77e15ldf3Kge8FEq2FdalMygr3RrDzu2NA77ApqDmD+9Cqtg13 dC9qXlI1Jqz71swDllXuf0Sd2qMUGu0YWaSN6jvKtcgIIMGhJ7hb7xE3Zym8rAx+h+g3 asT9WNlwGIz33Be86mWBI+JgVsuXaFmJOggjhXzahwucUelVWtHcdqzvHcGksTIhg3BA sDGrv3n5a6Ibkf6ajmQn+DYHOZIujI5wRizX7oDkZFZf3c+Il9KwGvkeMcRj30tBRW19 UswVk9Kive9BaDjlV///pjpwj5gdFFYNO4+QIsfHE1m7ic2oeI3xrz9jtxqxflbdHIpx De/A== X-Gm-Message-State: ACgBeo3lTwW4ibDuDcSIYJbABlmtRMFE3z8IdFu3FO6x5G+O8bz1uOVy CgBUtsakHS2iGi/ijhDthiJO3B3hGCjSt9bO X-Google-Smtp-Source: AA6agR52ZKny34O04Hb9+5MRe0Absfk4aFw13mwbhHrIZvO59kX0zchy5p3MhmRvbR8EmYaqEJy9rg== X-Received: by 2002:ac8:4e41:0:b0:343:5c49:951a with SMTP id e1-20020ac84e41000000b003435c49951amr5333573qtw.25.1660216174259; Thu, 11 Aug 2022 04:09:34 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id bk9-20020a05620a1a0900b006b978b521c8sm1756997qkb.69.2022.08.11.04.09.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Aug 2022 04:09:34 -0700 (PDT) From: Philip McGrath Date: Thu, 11 Aug 2022 07:08:23 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in ("Philip McGrath"): New member. --- etc/teams.scm.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index af70f7525e..8f0191f1fa 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -238,6 +238,10 @@ (define-member (person "Julien Lepiller" "julien@lepiller.eu") java ocaml translations) +(define-member (person "Philip McGrath" + "philip@philipmcgrath.com") + racket) + (define-member (person "Mathieu Othacehe" "othacehe@gnu.org") core installer) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 02/13] gnu: stex: Fix read-only gifs and math directories. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021643525636 (code B ref 57050); Thu, 11 Aug 2022 11:14:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:13:55 +0000 Received: from localhost ([127.0.0.1]:51877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM68R-0006fQ-I2 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:13:55 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:64715) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM68O-0006fF-9k for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:13:53 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3PLz6rRZz3wfF; Thu, 11 Aug 2022 13:13:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660216428; bh=6mjv3LxGMTcNJi1ZjQYEGt3C3FM3nRgFusIy7wDyt5k=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=TQDVg1XcZztX+QqIKttfOuRl+SyVdy9/XBBJo5+QL1n1fMxxfGeZzuTDrnk/YOiCc CsBOFAkKAKrf0uWXGu2FPiKQC5Zv0lwULlEYPkfeDGA4bC1p2sOufHoz+V/jDhM8pb GvP+ngH6hlUmpPxgKxjVB8PMKhq+bs7UllZn3H1g= Message-ID: <2eaf622eeaacfc9d8c4fc42437deba5d65cb5949.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:13:47 +0200 In-Reply-To: <3cbb1636a31c0896f85e3a6f04ddef096a6be29a.1660215295.git.philip@philipmcgrath.com> References: <3cbb1636a31c0896f85e3a6f04ddef096a6be29a.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > Excplicitly set the user write bit when initializing the gifs or math > directories from the skeletons installed in the store. See also > upstream > discussion at . This problem > would be exposed by the upcoming changes to Racket's build system. > > * gnu/packages/patches/stex-copy-from-immutable-store.patch: New > patch. > * gnu/local.mk (dist_patch_DATA): Add it. > * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it. > [version]: Increment revision to 1.2.2-3.afa6075. > --- >  gnu/local.mk                                  |  1 + >  gnu/packages/chez.scm                         |  5 ++- >  .../stex-copy-from-immutable-store.patch      | 41 > +++++++++++++++++++ >  3 files changed, 46 insertions(+), 1 deletion(-) >  create mode 100644 gnu/packages/patches/stex-copy-from-immutable- > store.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 1bd791fb0c..d35c6748c9 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1826,6 +1826,7 @@ dist_patch_DATA > =                                         \ >    %D%/packages/patches/slim- > reset.patch                                \ >    %D%/packages/patches/slim- > login.patch                                \ >    %D%/packages/patches/slim-display.patch                      \ > +  %D%/packages/patches/stex-copy-from-immutable-store.patch    \ >    %D%/packages/patches/syslinux-gcc10.patch                    \ >    %D%/packages/patches/syslinux-strip-gnu-property.patch       \ >    %D%/packages/patches/snappy-add-O2-flag-in- > CmakeLists.txt.patch      \ > diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm > index 043f2ae47a..4c253effa0 100644 > --- a/gnu/packages/chez.scm > +++ b/gnu/packages/chez.scm > @@ -595,7 +595,7 @@ (define-public stex-bootstrap >    ;; This commit includes a fix which we would otherwise want to use > as >    ;; patch.  Let's revert to tagged releases as soon as one becomes > available. >    (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") > -        (revision "2")) > +        (revision "3")) You don't need to bump the revision to introduce a patch. Other than that LGTM, but could you also do this with a build phase using make- file-writable? (It's fine if not, just curious where the actual issue lies) Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16602174813196 (code B ref 57050); Thu, 11 Aug 2022 11:32:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:31:21 +0000 Received: from localhost ([127.0.0.1]:51901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6PJ-0000pU-0a for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:31:21 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:60529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6PG-0000pJ-4q for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:31:19 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3Pl62tYXz1LZXw; Thu, 11 Aug 2022 13:31:14 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4M3Pl62tYXz1LZXw DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660217474; bh=poI5JKW/o1NN/b3YoBwD4sPHmn6fwOH6d9m977Nd2QI=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=a/JbyiTFBPMcafgvGPwmzCRxeGH781PDbAFPBA1eIgKKbTqaZVKu4yCAwyRZAPKLD dvvcEX9YAc/odDrhsLCixwXk0JebPbrjt0PLvM2RHwo8IL0cL38adVfIazB/v/rMQs Rsbl16JXpUDu7Xo7MKPT40h9shdbikp8k3YFO6jY= Message-ID: From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:31:12 +0200 In-Reply-To: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > [...] >   >  (define %racket-version "8.5") ; Remember to update chez-scheme-for- > racket! > +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c Is that publicly visible? >  (define %racket-commit >    (string-append "v" %racket-version)) >  (define %racket-origin > @@ -233,6 +234,69 @@ (define %racket-origin >           ;; Unbundle libffi. >           (delete-file-recursively > "racket/src/bc/foreign/libffi"))))) >   > + > +(define-public zuo > +  (let ((revision #f)) > +    (package > +      (name "zuo") > +      (version (string-append %zuo-version > +                              "-racket" > +                              "8.6" > +                              (if revision "-guix" "") > +                              (or revision ""))) Is this really needed? If we expect to maintain zuo split from racket, I'd rather go with https://github.com/racket/zuo and git-version. > +      (source > +       (origin > +         (inherit %racket-origin) > +         (uri (git-reference > +               (url "https://github.com/racket/racket") > +               (commit "v8.6"))) > +         (sha256 > +          (base32 > "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) > +         (patches (append (origin-patches %racket-origin) > +                          (search-patches "racket-backport-8.6- > zuo.patch" > +                                          "racket-zuo-bin- > sh.patch"))) > +         (file-name (git-file-name "racket" "8.6")))) > +      (outputs '("out" "debug")) > +      (build-system gnu-build-system) > +      (inputs (list bash-minimal)) > +      (native-inputs (list bash-minimal)) > +      (arguments > +       (list > +        #:configure-flags > +        #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" > +                            #$(file-append (this-package-input > "bash-minimal") > +                                           "/bin/sh")) As with chez-scheme, I do think using a Racket-agnostic macro name is helpful here. > +            #+@(if (%current-target-system) > +                   (list #~,(string-append > +                             "CPPFLAGS_FOR_BUILD=- > DGUIX_RKTIO_BIN_SH=" > +                             #+(file-append > +                                (this-package-native-input "bash- > minimal") > +                                "/bin/sh"))) > +                   '())) > +        #:out-of-source? #t > +        #:phases > +        #~(modify-phases %standard-phases > +            (add-after 'unpack 'chdir > +              (lambda args > +                (chdir "racket/src/zuo")))))) > +      (home-page "https://github.com/racket/zuo") > +      ;; ^ This is downstream of https://github.com/racket/racket, > +      ;; but it's designed to be a friendly landing place > +      (synopsis "Tiny Racket for build scripts") > +      (description "You should use Racket to write scripts. Sorry, but I prefer Guile. >   But what if you > +need something much smaller than Racket for some reason—or what if > you're > +trying to script a build of Racket itself?  Zuo is a tiny Racket > with > +primitives for dealing with files and running processes, and it > comes with a > +@command{make}-like embedded DSL. > + > +Zuo (作) is a Racket variant in the sense that program files start > with > +@code{#lang}, and the module path after @code{#lang} determines the > parsing > +and expansion of the file content.  That's how the @command{make}- > like DSL is > +defined, and even the base Zuo language is defined by layers of > @code{#lang}s. > +One of the early layers implements macros.") > +      (license (list license:asl2.0 license:expat))))) Rarely have I read a description this long, yet uninformative. Let me shorten that a little: "Zuo is a tiny Racket variant that can be used to bootstrap Racket. It comes with primitives for dealing with files and processes, as well as a @command{make}-like DSL." Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16602182964575 (code B ref 57050); Thu, 11 Aug 2022 11:45:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:44:56 +0000 Received: from localhost ([127.0.0.1]:51944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6cR-0001Bi-LH for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:44:56 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:6703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6cM-0001BV-UJ for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:44:54 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3Q2j5fGCz1LZXw; Thu, 11 Aug 2022 13:44:45 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4M3Q2j5fGCz1LZXw DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660218286; bh=qQB3fVv+SwLLX9eykXExN7GM9oC5zIeYlo0lhgqE6UA=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=RVfXW7qGCgxe8IFjKu3IMVtbmxyqMYq7Unxw/8MCH9vO/K0c4fknf6jGM2K9R7V4d Zi8xz0JwG7bZAfMxbceelD+/T5UxX+pqwWFhEbiL5a3Rsv2qR7y/oQtjPoqmtVMdpP JBk46dWhzGFCsQlKpR/GnqReLL8gj9ub6keiQCco= Message-ID: From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:44:44 +0200 In-Reply-To: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> References: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -0.4 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > Also, update 'chez-scheme-for-racket' to 9.5.9.2. As with Zuo, can this be split into a separate patch? If not, why does it get mentioned here as something noteworthy rather than just being part of the ChangeLog? > [...] > @@ -448,18 +456,52 @@ (define-public chez-scheme-for-racket >         (delete "libx11" "util-linux:lib"))) >      (native-inputs >       (modify-inputs (package-native-inputs chez-scheme) > +       (append zuo) >         (replace "chez-scheme-bootstrap-bootfiles" >           chez-scheme-for-racket-bootstrap-bootfiles))) Prefer prepend over append. >      (arguments >       (substitute-keyword-arguments (package-arguments chez-scheme) > +       ((#:out-of-source? _ #f) > +        #t) > +       ((#:tests? _ #t) > +        ;; FIXME: There have been some flaky test failures. Some have > been > +        ;; fixed upstream post-release but have proven non-trivial to > +        ;; backport; at least one issue remains. Re-enable tests once > +        ;; https://github.com/racket/racket/issues/4359 is fixed. > +        #f) Rather than skipping tests altogether, skip just the flaky ones. > @@ -130,12 +132,12 @@ (define-module (gnu packages racket) >  ;; output. The function 'racket-vm-for-system' returns the > recomended Racket >  ;; VM package for a given system. >  ;; > -;; The file 'racket.scm' builds on these packages to define 'racket- > minimal' > -;; and 'racket' packages. These use Racket's support for ``layered > -;; installations'', which allow an immutable base layer to be > extended with > -;; additional packages. They use the layer configuration directly > provide > -;; ready-to-install FHS-like trees, rather than relying on the built > in > -;; ``Unix-style install'' mechanism. > +;; We then define the packages 'racket-minimal' and > +;; 'racket'. These use Racket's support for ``layered > installations'', which > +;; allow an immutable base layer to be extended with additional > packages. > +;; They use the layer configuration directly provide ready-to- > install FHS-like > +;; trees, rather than relying on the built in ``Unix-style install'' > +;; mechanism. >  ;; >  ;; Bootstrapping Racket: >  ;; --------------------- This is a leftover from 8.6, but do the "FHS-like" installations actually adhere to the FHS or just to the bit that says "opt means we can do whatever we want 😎️"? > @@ -178,16 +180,18 @@ (define-module (gnu packages racket) >  ;; However, other Racket subsystems implemented in Racket for Racket > CS >  ;; use older C implementations for Racket BC, whereas the reader, > expander, >  ;; and module system were completely replaced with the Racket > implementation > -;; as of Racket 7.0. > +;; as of Racket 7.0. See also > . >  ;; >  ;; For Racket BC, the compiled "linklet" s-expressions (primitive > modules) >  ;; are embeded in C as a static string constant. Eventually, they > are further >  ;; compiled by the C-implemented Racket BC bytecode and JIT > compilers. > -;; (On platforms where Racket BC's JIT is not supported, yet another > compiler > -;; instead compiles the linklets to C code, but this is not a > bootstrapping > -;; issue.) >  ;; > -;; Code: > +;; Zuo is notably *not* a problem for bootstrapping. The > implementation is a > +;; single hand-written C file designed to build with just `cc -o zuo > zuo.c`, > +;; even with very old or limited compilers. (We use the Autoconf > support for > +;; convienience.) > +;; > +;; CODE: Is that something that needs be mentioned? As always, Racket contains a gazillion of updated hashes that I will simply trust you on until a build fails. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 06/13] gnu: chez-scheme: Bootfiles should not be native inputs. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021845513068 (code B ref 57050); Thu, 11 Aug 2022 11:48:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:47:35 +0000 Received: from localhost ([127.0.0.1]:51948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6f1-0003Oi-BZ for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:47:35 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:6880) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6ez-0003OX-Gc for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:47:34 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3Q5p6xwvz3wfV; Thu, 11 Aug 2022 13:47:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660218449; bh=vuSZacQ7dIxyy/+UAQQhucdg+JO2r0+PEyqfHzYop4s=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=NZMzT4ZObP/VYSpyCdeU/2zeQxAX+p+FdPUnnT/Fu66GZdwUosd9cDbNGYUG0FpPt j4FlSOFAHAQf90DbBzyIaIz3+Xwh5q43cYckfm5AYTJrFz1ie6uzbKxD8bsC0Xh+99 zTPt1Q82qKPTMNBZOjzuEfJjPyAynvPG7uY8QAr8= Message-ID: <3f5d56d42bcbcd6961b8324606adf8767c3db888.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:47:13 +0200 In-Reply-To: <760b29c0cb071c142a637e538233a661ad4a5c87.1660215295.git.philip@philipmcgrath.com> References: <760b29c0cb071c142a637e538233a661ad4a5c87.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > This makes a difference for cross-compilation. The title should be something like "Make bootfiles regular inputs". If you want to claim that this makes a difference, please offer an explanation. You do not need to restrict yourself to a line here. > * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move > 'chez-scheme-bootstrap-bootfiles' to ... > [inputs]: ... this field. > [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. > (chez-scheme-for-racket)[native-inputs]: Move > 'chez-scheme-for-racket-bootstrap-bootfiles' to ... > [inputs]: ... this field. Other than that LGTM. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 11:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021899014132 (code B ref 57050); Thu, 11 Aug 2022 11:57:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:56:30 +0000 Received: from localhost ([127.0.0.1]:51974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6ne-0003fs-37 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:56:30 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:13877) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6nc-0003fk-4Q for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:56:28 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3QJ76ybrz1LZXv; Thu, 11 Aug 2022 13:56:23 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4M3QJ76ybrz1LZXv DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660218984; bh=eJgCPDef55dDlBCKnfRPPvg2Q1nsrwjiwFnnQq0njDU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=vETVt8S6nG/w5DVcfTgmn9lC3RnKseaPsR2k4yAdOofsZ0x6ogb0mNrmuDrC64+v4 iqKdKkOYq0U1mIWjtAJqjAr7f74LA8njeCSxy5ouXFTtu3dREyinANZZjJwFEG0VQI WzYa3eDL0niaS6zbxRAA3YxiHMomaH/BD9ed65gs= Message-ID: <2729b9f4060b1e3e7aa0d0e8f22b1412b81b18eb.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:56:17 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > * gnu/packages/chez.scm (racket-cs-native-supported-system): Change > to > return the applicable machine type instead of '#t'. > (chez-scheme-for-racket)[native-inputs]: When cross-compiling, add > 'this-package'. > [arguments]<#:configure-flags>: When cross-compiling, supply '-m=' > and > '--toolprefix='. > <#:phases>: Work around cross-compilation issues in 'build' and > 'install-docs'. > (chez-scheme-for-racket-bootstrap-bootfiles): When cross-compiling, > use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. > [arguments]<#:phases>: Adapt 'build' phase for cross-compilation. I think this patch can further be split into one for the bootstrap- bootfiles and one for chez-scheme. I don't know where exactly racket- cs-native-supported-system fits into any of this and what the dependencies for it are. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 08/13] gnu: racket: Support cross-compiling the VM packages. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 12:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021914314400 (code B ref 57050); Thu, 11 Aug 2022 12:00:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 11:59:03 +0000 Received: from localhost ([127.0.0.1]:51981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6q7-0003kC-J1 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 07:59:03 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:41123) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6q4-0003jm-Tq for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 07:59:01 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3QM42wKVz3wfF; Thu, 11 Aug 2022 13:58:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660219138; bh=CtP0nPmCfLbPVTsCb5Wiej+BfOQzAnT6KahiRD0IRV8=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=DKhdj/FvbZpnZ1tCBlXHuw15MNNhPYU2cfppCjtKmOd5pGjz49QorjY4EIpzmGZ8b X2PhBTTIrYdO4lJzXKJOH4eCQPZwai+CY9Pue/q77m5sQ5v03IjfgNVu5w2Hk20II6 cmpXS8xeDdwolhzvMIXi/Bes0AYHI/gLwm52hV7E= Message-ID: <412a5cbf52798c9725eaba8575232fef75889c91.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 13:58:50 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and > 'racket-vm-cs'. These changes are not enough to cross-compile > 'racket-minimal' or 'racket': that would require building and loading > cross-compilation pluggins for 'racket-vm-cs', which will be much plugins > easier once we can build the package 'raco-cross'. > > * gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when > cross-compiling. > (racket-vm-bc)[native-inputs]: Adjust accordingly. > (racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of > 'racket-vm-bc' when cross-compiling. Adapt to changes to > 'racket-vm-cgc'. Is that needed? Can racket-vm-cs not be "cross-bootstrapped"? > [arguments]<#:configure-flags>: Fix '--enable-scheme' for > cross-compilation. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 12:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021937914858 (code B ref 57050); Thu, 11 Aug 2022 12:03:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 12:02:59 +0000 Received: from localhost ([127.0.0.1]:51986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6tv-0003rZ-4w for submit@debbugs.gnu.org; Thu, 11 Aug 2022 08:02:59 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:3257) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6tt-0003rS-H7 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 08:02:58 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3QRf3zDqz3wXB; Thu, 11 Aug 2022 14:02:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660219374; bh=ck9tS6dz17BhKb7a0+bYwHjqj5mOCAWI5TldWbkKfZY=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=Q93b3ZyALxR/7aNZzl5SV1g3WT/6xaZUrLqAu8WlXhLb4SVb+kz/eP2wHwg3hDwum pVZPfOLWngC428xdiDAgDx0B8qSybHB8M53Y4sJ9EZEc/xXwRrnDKR33I2ZL1NWke2 YQeWhLQe/uuJjyA3C4Y0UhKrzH1n6TvdjZQsJwYo= Message-ID: <4cd27ff2354ca8b109455be0cddda620f5a36486.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 14:02:53 +0200 In-Reply-To: <4d63cf22559de641440810e451b9366aa6091774.1660215295.git.philip@philipmcgrath.com> References: <4d63cf22559de641440810e451b9366aa6091774.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > On systems for which Racket's variant of Chez Scheme cannot generate > native code, it can use a 'pbarch' machine type: a variant of the > ``portable bytecode'' backend specialized to word size and > endianness. > This allows Racket CS to replace Racket BC on those systems while > maintaining comparable performance. (Racket BC lacks JIT support for > those systems anyway.) It also lets us provide a Chez Scheme package > on > all systems Guix supports. > > This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and > 'racket-vm-cs', but it does not change the Racket VM implementation > used > for the 'racket' and 'racket-minimal' packages. > > * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New > variable. > (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native > systems. > [arguments]<#:configure-flags>: Always supply '-m='. Add applicable > flags for non-native systems. > [supported-systems]: Use '%supported-systems'. As a follow-up, you could probably inline %supported-systems now, no? Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 11/13] gnu: racket: Use Racket CS on all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 12:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021942814947 (code B ref 57050); Thu, 11 Aug 2022 12:04:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 12:03:48 +0000 Received: from localhost ([127.0.0.1]:51990 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6ui-0003t1-HM for submit@debbugs.gnu.org; Thu, 11 Aug 2022 08:03:48 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:20254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM6uh-0003st-2F for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 08:03:47 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3QSc487lz3wgV; Thu, 11 Aug 2022 14:03:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660219424; bh=3KXo1WqHRSaXnHwhC+84D9HWUj5htEWpgrvcKOnwdrw=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=oIjd/sZQBWV8SdqLEuzhngt89fjUpU4NtXWJt8iGO0F2fYGbkumu52Ddi/8/oXOMF vnBhWdJ7KNzwyvcO3iWI/isZncqEx/PEa1iebZivLm2pdFIU1yFqjN1E2Y1GjxgM4e E1AlAL7twETFSqMBK7BhJMCbhdNRR+H8Hftba7ns= Message-ID: <69eea4e1c98683c6263ac7499219c7f5f77ba87f.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 14:03:43 +0200 In-Reply-To: <72d693448b5e07e8322eb3eeb302b16d20adfaf5.1660215295.git.philip@philipmcgrath.com> References: <72d693448b5e07e8322eb3eeb302b16d20adfaf5.1660215295.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > This patch uses the 'pbarch' support added to 'racket-vm-cs' to make > it > the default Racket VM implementation on all systems. > > * gnu/packages/racket.scm (racket-vm-for-system): Remove. > (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' > with 'racket-vm-cs'. LGTM From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 12/13] etc: teams: Add racket team. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 12:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166021989915715 (code B ref 57050); Thu, 11 Aug 2022 12:12:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 12:11:39 +0000 Received: from localhost ([127.0.0.1]:51995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM72J-00045P-EU for submit@debbugs.gnu.org; Thu, 11 Aug 2022 08:11:39 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:11169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM72H-00045E-Am for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 08:11:38 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3Qdf0J9Nz3wcl; Thu, 11 Aug 2022 14:11:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660219894; bh=cDKuSLX92StVtEonw6uu8nBxhm+apv06RFVhcPKDE2U=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=gqboPbo+AHIAfXmTJqlXoyiKl1jG8hZUvzoW9B2lXsVL8Phn7cv3v+7ufMmQKL7DK RNDd0mD3UTps0e8+fy9evVwbVkLhx2gK/pDNEPnZkiw9jk4JrPmT45+DfgvXphwTf1 xnYycv98WU1d7mfg8o8iJKGAnTgAl2lhd+EYXA3w= Message-ID: <73258526092d428916728fba7441bd7788e03425.camel@ist.tugraz.at> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 14:11:33 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -0.4 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: > * etc/teams.scm.in (racket): New team. This one plus the next can probably go to master regardless of the rest of this series. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 14:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166022649929061 (code B ref 57050); Thu, 11 Aug 2022 14:02:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 14:01:39 +0000 Received: from localhost ([127.0.0.1]:54699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM8kk-0007Ye-JD for submit@debbugs.gnu.org; Thu, 11 Aug 2022 10:01:39 -0400 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:43797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM8ki-0007YM-Ky for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 10:01:37 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id A046C320079B; Thu, 11 Aug 2022 10:01:28 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 10:01:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660226488; x=1660312888; bh=D7m1Hcpcgm +8j0eT0bfFEBCglPpu3Bett2c7uZVhSbQ=; b=Xdx07IKw8rOaUotocpP4YrS8QK hWGYgF6FPQ7MC7m/8UbpRex89TwsUsjnxl8tOeoVwxKO36Ijiu7h0Xjxl9AvZCnx 1R2xuDvKkud5xnlYZzn2KUg3AhEOzn6h+kRejjTpb0R36B8uUTlRf1l0/MXoBhym 8CPPKN6/A7oX3PUKJNng1wv+/Uv8kGNT1JD1TEoMFrMwm7GpJwPFXiBdyYa4ngJl ryxRg8BGlRVPlly4iq32MfR/SlVNZr/AI0usMSzs4BgqOIgT/mLcP3pcCrz9zrsg VLm79AysMnLTFnBrWhRVPm9pih0a2yCDTMYl1mZ9Jnms3Os0oPTFCiczUNJg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660226488; x= 1660312888; bh=D7m1Hcpcgm+8j0eT0bfFEBCglPpu3Bett2c7uZVhSbQ=; b=e e5ferc//7pGp0pLRi6tLvPY/xnstt8XslginQ1Xz18p66xH0c3gIR0P5buIUWavu keZyYMmjLWzXWCRNyYVCmKS/IM2tmCAtYeQUqYx5qlwjZNcUqiSySQX+EcjdQDoW S2c/jomH9zl2QUVKeJIgoh+3yWdIhkO0t8KCiPnXGox5fwZzv6lwUAptauIID0Mu Cod0kl5LL1AQYU7Oc5Ty2ui3IVNf2XkalSTGuYUlyh5HlgPbLpQBJREKLOxoZ2l1 HNZfh3LN2xnrLcK19rslz3psKMETpyN4cRyErryEN+G9Bc19HiqLMQYgTCWfKGyK n+JkkDiljbX+vn7u+wR+A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeggedgjeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeeggfejffejhefgfeekleefffeuudfhieek tdekkeelvedtveejudejvdfgkeeltdenucffohhmrghinhepughishgtohhurhhsvgdrgh hrohhuphdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr rghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtoh hm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 520B6C6008B; Thu, 11 Aug 2022 10:01:27 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> In-Reply-To: References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> Date: Thu, 11 Aug 2022 10:00:52 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 7:31 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> [...] >> =C2=A0 >> =C2=A0(define %racket-version "8.5") ; Remember to update chez-scheme= -for- >> racket! >> +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c > Is that publicly visible? For example: echo "#lang zuo (hash-ref (runtime-env) 'version)" | zuo "" See also https://racket.discourse.group/t/writing-the-zuo-version-number= /1105 I likewise have comments in the definitions of 'chez-scheme' and 'chez-s= cheme-for-racket' explaining where in the source code to find the versio= n number. >> + >> +(define-public zuo >> +=C2=A0 (let ((revision #f)) >> +=C2=A0=C2=A0=C2=A0 (package >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (name "zuo") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (version (string-append %zuo-version >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "-racket" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "8.6" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if revision "-guix" "") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (or revision ""))) > Is this really needed? If we expect to maintain zuo split from racket, > I'd rather go with https://github.com/racket/zuo and git-version. I mean, I don't think it's profoundly essential, but I've been using it = for the last four months. I don't see any harm in leaving the level of i= ndentation there so it can be used more easily if it is needed or wanted. Building from https://github.com/racket/zuo would basically never be use= ful. It is generated intermittently from https://github.com/racket/racke= t using `git subtree`. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (file-name (git-fil= e-name "racket" "8.6")))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (outputs '("out" "debug")) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (build-system gnu-build-system) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (inputs (list bash-minimal)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (native-inputs (list bash-minimal)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (arguments >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (list >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:configure-flags >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~`(,(string-append "CPPF= LAGS=3D-DGUIX_RKTIO_BIN_SH=3D" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 #$(file-append (this-package-input >> "bash-minimal") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "/bin/sh")) > As with chez-scheme, I do think using a Racket-agnostic macro name is > helpful here. I'm planning to respond in the other thread about the possibility of a t= ruly generic macro name, but I hope it doesn't need to become an issue b= locking this patch series. For now, I'm not entirely sure what "Racket-a= gnostic" means; the bottom line for my is I think it would be absurdly a= wful to have to write, e.g. if cross-compiling using `distro-build` with= the top-level Makefile: ./configure CPPFLAGS=3D"GUIX_RKTIO_BIN_SH=3D/input/bin/sh GUIX_ZUO_B= IN_SH=3D/input/bin/sh GUIX_CHEZ_BIN_SH=3D/input/bin/sh" CPPFLAGS_FOR_BUI= LD=3D"GUIX_RKTIO_BIN_SH=3D/native-input/bin/sh GUIX_ZUO_BIN_SH=3D/native= -input/bin/sh GUIX_CHEZ_BIN_SH=3D/native-input/bin/sh" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (home-page "https://github.com/racket= /zuo") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; ^ This is downstream of https://gi= thub.com/racket/racket, >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; but it's designed to be a friendly= landing place >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (synopsis "Tiny Racket for build scri= pts") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (description "You should use Racket t= o write scripts. > Sorry, but I prefer Guile. (At the risk of responding seriously to what was probably meant to be a = joke:) I've never tried to use Guile on Windows, but, given that the man= ual chapter is called "POSIX System Calls and Networking", it's not clea= r to me that Guile provides as portable and powerful "primitives for dea= ling with files and running processes" as Zuo, let alone Racket. > >> =C2=A0 But what if you >> +need something much smaller than Racket for some reason=E2=80=94or w= hat if >> you're >> +trying to script a build of Racket itself?=C2=A0 Zuo is a tiny Racket >> with >> +primitives for dealing with files and running processes, and it >> comes with a >> +@command{make}-like embedded DSL. >> + >> +Zuo (=E4=BD=9C) is a Racket variant in the sense that program files = start >> with >> +@code{#lang}, and the module path after @code{#lang} determines the >> parsing >> +and expansion of the file content.=C2=A0 That's how the @command{mak= e}- >> like DSL is >> +defined, and even the base Zuo language is defined by layers of >> @code{#lang}s. >> +One of the early layers implements macros.") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (license (list license:asl2.0 license= :expat))))) > Rarely have I read a description this long, yet uninformative. Let me > shorten that a little: "Zuo is a tiny Racket variant that can be used > to bootstrap Racket. It comes with primitives for dealing with files > and processes, as well as a @command{make}-like DSL." > This is the description from the Zuo documentation and readme file. I fi= nd your shortened version less clear than the original. The details abou= t `#lang` as a Racketeer are important to understand in what sense Zuo i= s a "Racket variant", given that it is not currently possible to run `#l= ang zuo` programs using the `racket` executable. (IIUC someone is workin= g on a Racket package implementing `#lang zuo/kernel`, at which point th= at will change.) I also think "can be used to bootstrap Racket" greatly = underplays the potential of Zuo. A number people have already taken an i= nterest in or started experimenting with Zuo outside of building Racket. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 15:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16602321085996 (code B ref 57050); Thu, 11 Aug 2022 15:36:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 15:35:08 +0000 Received: from localhost ([127.0.0.1]:54818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMADE-0001Yd-2B for submit@debbugs.gnu.org; Thu, 11 Aug 2022 11:35:08 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:37554) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMADC-0001YA-K5 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 11:35:07 -0400 Received: by mail-ed1-f68.google.com with SMTP id b16so23436734edd.4 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 08:35:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=Gv2RznMw4Iep6A2BBNkMjPt9Zql1Tww2keMdzMgO9Qo=; b=JPVBjilizTZMttfIXDtUiZLPafSZJTd3AHIppCDxnqS7eIHiXaC6yelkZgSMXsSoQW wUNgJoGMwwBG4PrharTfpOWJ16f1tcwE1vVVKs6v3aIJ+LfU73GxGEQD0lnbDd71WJMp fFlhuprSxPhw/OH9xHUcULH/hA6z1undrk8tUTJxg/ptYXl5gBuFvw+S+JkVYdFaP4Ch nKbBYJyGXMQWWbeL6urWoIT9ZhKqV9MnyE5v3ObvBdCiGPdRnu8PCm2PIUMTRAhrCQ74 aOIeQKG0nncHtQ/tVCrrz73DPcfxoZMqmIUGvNrwwrbuPl2o7tJxdcC8J1uwcpyYdzdk rIqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=Gv2RznMw4Iep6A2BBNkMjPt9Zql1Tww2keMdzMgO9Qo=; b=G+J76Q6G5XsTxlqDXQTvZ4VNB9V37OzGzf1bVwR032BW+qO4WCW09Xh8AQNgOox55G bRg58oCIsjjfmTysZEyZFw6H7svXRa7OEbaZQdZTuRiql8qeMYeQ2v9OFTLd5quhrJ3w MmHdBTiIuzFkRevczMx2GRyrnojdKAQTsL6afoeWxqaCmmxt3QgpW8crY8PM5M7w6msB 8aMPwSB7PpzKf13Hq/0/eJve5u6vzE5LNkb2orPpkBnnd64j2t5GTGDCuCIkfEe2AbUQ vjvd7S9Ufrfh6FsN3sJl9AMoneITRPcXz9VOpnvcMzZEUz4R8i/VFIdeDApfPjGTL7IR MLPA== X-Gm-Message-State: ACgBeo38Xk1rpGouxSsPiwyqICh3iDhjJ1mZ2RE0pIWNq+MF54oXxhQm /zCbVNSSQ+OjIehPae5UwCzyc7LqsQk= X-Google-Smtp-Source: AA6agR7Ng/bte9eSgv6cB7B7xr+Cr31saKQq1+qj8+ZX443pLjc3SndX06N23o98iuMOfUfB8PanWg== X-Received: by 2002:a05:6402:2547:b0:43e:4cc4:85d3 with SMTP id l7-20020a056402254700b0043e4cc485d3mr31023628edb.233.1660232100871; Thu, 11 Aug 2022 08:35:00 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b18-20020a1709063cb200b0073075122af2sm3618518ejh.225.2022.08.11.08.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Aug 2022 08:35:00 -0700 (PDT) Message-ID: <3fb8e7c9e08178a331726c1e5a303dfd5a622ca6.camel@gmail.com> From: Liliana Marie Prikler Date: Thu, 11 Aug 2022 17:34:59 +0200 In-Reply-To: <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Donnerstag, dem 11.08.2022 um 10:00 -0400 schrieb Philip McGrath: > > > If we expect to maintain zuo split from racket, I'd rather go with > > https://github.com/racket/zuo and git-version. > > I mean, I don't think it's profoundly essential, but I've been using > it for the last four months. I don't see any harm in leaving the > level of indentation there so it can be used more easily if it is > needed or wanted. > > Building from https://github.com/racket/zuo would basically never be > useful. It is generated intermittently from > https://github.com/racket/racket using `git subtree`. I don't think that matters much in the grand scheme of things (pun intended). Rather, having such subtrees available is beneficial in and of itself, because it means we don't have to split the monorepo. At the very least, it's one chdir less. Now, building from the zuo subtree is not a requirement, but imho it would make a better case for versioning. > > > > +         (file-name (git-file-name "racket" "8.6")))) > > > +      (outputs '("out" "debug")) > > > +      (build-system gnu-build-system) > > > +      (inputs (list bash-minimal)) > > > +      (native-inputs (list bash-minimal)) > > > +      (arguments > > > +       (list > > > +        #:configure-flags > > > +        #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" > > > +                            #$(file-append (this-package-input > > > "bash-minimal") > > > +                                           "/bin/sh")) > > As with chez-scheme, I do think using a Racket-agnostic macro name > > is helpful here. > > I'm planning to respond in the other thread about the possibility of > a truly generic macro name, but I hope it doesn't need to become an > issue blocking this patch series. For now, I'm not entirely sure what > "Racket-agnostic" means; the bottom line for my is I think it would > be absurdly awful to have to write, e.g. if cross-compiling using > `distro-build` with the top-level Makefile: > >     ./configure CPPFLAGS="GUIX_RKTIO_BIN_SH=/input/bin/sh > GUIX_ZUO_BIN_SH=/input/bin/sh GUIX_CHEZ_BIN_SH=/input/bin/sh" > CPPFLAGS_FOR_BUILD="GUIX_RKTIO_BIN_SH=/native-input/bin/sh > GUIX_ZUO_BIN_SH=/native-input/bin/sh GUIX_CHEZ_BIN_SH=/native- > input/bin/sh" GUIX_CHEZ_BIN_SH would semantically cover all four however, no? (Ignoring more generic options for now.) > > > +      (home-page "https://github.com/racket/zuo") > > > +      ;; ^ This is downstream of > > > https://github.com/racket/racket, > > > +      ;; but it's designed to be a friendly landing place > > > +      (synopsis "Tiny Racket for build scripts") > > > +      (description "You should use Racket to write scripts. > > Sorry, but I prefer Guile. > > (At the risk of responding seriously to what was probably meant to be > a joke:) I've never tried to use Guile on Windows, but, given that > the manual chapter is called "POSIX System Calls and Networking", > it's not clear to me that Guile provides as portable and powerful > "primitives for dealing with files and running processes" as Zuo, let > alone Racket. At the risk of responding seriously to what was probably meant to be a joke, I don't use Winblows 😉️ > > > > >   But what if you > > > +need something much smaller than Racket for some reason—or what > > > if > > > you're > > > +trying to script a build of Racket itself?  Zuo is a tiny Racket > > > with > > > +primitives for dealing with files and running processes, and it > > > comes with a > > > +@command{make}-like embedded DSL. > > > + > > > +Zuo (作) is a Racket variant in the sense that program files > > > start > > > with > > > +@code{#lang}, and the module path after @code{#lang} determines > > > the > > > parsing > > > +and expansion of the file content.  That's how the > > > @command{make}- > > > like DSL is > > > +defined, and even the base Zuo language is defined by layers of > > > @code{#lang}s. > > > +One of the early layers implements macros.") > > > +      (license (list license:asl2.0 license:expat))))) > > Rarely have I read a description this long, yet uninformative.  Let > > me > > shorten that a little: "Zuo is a tiny Racket variant that can be > > used > > to bootstrap Racket.  It comes with primitives for dealing with > > files > > and processes, as well as a @command{make}-like DSL." > > > > This is the description from the Zuo documentation and readme file. I > find your shortened version less clear than the original. The details > about `#lang` as a Racketeer are important to understand in what > sense Zuo is a "Racket variant", given that it is not currently > possible to run `#lang zuo` programs using the `racket` executable. Would it make sense to call zuo a "dialect" then? > (IIUC someone is working on a Racket package implementing `#lang > zuo/kernel`, at which point that will change.) I also think "can be > used to bootstrap Racket" greatly underplays the potential of Zuo. A > number people have already taken an interest in or started > experimenting with Zuo outside of building Racket. I have not claimed that it's use is limited to bootstrapping Racket. Rather, I think this bootstrapping capability shows that Zuo can be used to do real programming™. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 22:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166025766216267 (code B ref 57050); Thu, 11 Aug 2022 22:42:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 22:41:02 +0000 Received: from localhost ([127.0.0.1]:55160 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMGrM-0004Ds-8O for submit@debbugs.gnu.org; Thu, 11 Aug 2022 18:41:02 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:56365) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMGrH-0004Db-6V for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 18:40:59 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id B105A3200A23; Thu, 11 Aug 2022 18:40:48 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 18:40:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660257648; x=1660344048; bh=WdtRMxbM8H ayqnOJQiKLVCKnzm6QqGLLW/iyOt4OOtU=; b=sJ8SAD9u8hNxAV+uZzVyuYqJxO JMg4C9MQFMewx21VHOFFQ2PZE4lKKRJkDDFBtXt6MjAg7EM3AeO2HRoN2lVsou6g 5DeQh6t08Lzbz56UYDYf+ZBpgHAKxPEOvpPCipDnjMT9Jm2dnolhm776COQqXqP2 5TrhPLHdFA+XIgODJhjoJLfD6PHofxWGhg/u1U1CVII0d8SufY8kQcZ+KLYB8lAp mDD0dzSiOYsb4QKGTP9VS3WloZx9iQR+jevJP9pdgjhwPtR8SpeOiWQhS4sJxsto aOuMhcVfIsRAKhgUh0lSubDbNVYjg3nVBSiDqgMEM5bS2VXGuqGjczoiKLQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660257648; x= 1660344048; bh=WdtRMxbM8HayqnOJQiKLVCKnzm6QqGLLW/iyOt4OOtU=; b=d mBQcUNmFx3L7MfJ6Y1xXizrjY/flgP+gEv2qS6vCjfcQCjoX0LiJMKGFKWigmRFo zeEFcdbrlCi+odOgiog5AB66AR4h1gTmixmMUrl1FXTWu1qqMaJXTt/Zc+tHnQ2d S5LLUnGfWT4p7hlWiCxt7ydAdsa0KYpFtQ0wXy3aa0tSGZWAPougLasDJ3IYeN5i YW9EzrgjFGiZMiQyht9Vo77vUsOFH0EYvQayZ16T57g06U86F4xnZDP5E9cNwdBE pxYqBpdvhVWhqb1VO1VajhraFSl7u3ffdo88LpXXxNuWKNVMAHbqy2cGsRBbZKqS 1rMS29f0onabJQ0EFqIzw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedguddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeeuvdethfehudeuieeutdehudeffeevtdei lefhjeevgedtuedvgeejjeeftdefudenucffohhmrghinhepghhithhhuhgsrdgtohhmpd guvggsihgrnhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 93A8AC6008B; Thu, 11 Aug 2022 18:40:47 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <9c26881e-fbeb-4910-bf56-e27d9dc77359@www.fastmail.com> In-Reply-To: References: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> Date: Thu, 11 Aug 2022 18:40:26 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 7:44 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> Also, update 'chez-scheme-for-racket' to 9.5.9.2. > As with Zuo, can this be split into a separate patch? If not, why does > it get mentioned here as something noteworthy rather than just being > part of the ChangeLog? > This absolutely should not be split into more patches. While I split out= Zuo as you requested, I continue to believe that it was better as a sin= gle patch. More broadly, I hope to put together a 'racket-build-system' before the = 8.7 release. Whenever that happens, it will mean turning the inputs of t= he 'racket' and 'racket-minimal' packages into, last I counted, 203 addi= tional packages. I think it would be bad for everyone=E2=80=94patch writ= ers, patch reviewers, users, and people reading the history later=E2=80=94= to break Racket releases into a deluge of little patches, many of which = would leave the Racket universe as a whole in states no one had ever bui= lt or tested, because Racket has combinations of technical and social me= chanisms to make certain potentially problematic states difficult to fal= l into. A Racket release is an update to a family of packages that are developed= and released together. Like a TeX Live update (cf. ee25e3fcab9d2e24c282= 6b771b52d797c152193b) or the KDE Frameworks libraries (cf. 9d3965edca29f= 80667374da45214cc6f22a85be4), the contents of a Racket release should be= updated together. I wouldn't insist on one commit in all imaginable cir= cumstances, but I think it should be the norm. That's all the more true = of Racket components that share a canonical Git repository, for which Ra= cket tools take steps to warn you if not fail if you have mismatched ver= sions. I also want to emphasize that splitting up patches is not free. Splittin= g/rebasing v2 of this series took hours of work. Even specifically in sp= litting off Zuo, I made a (trivial) error in my first version of this pa= rticular patch and had to amend the commit and rebuild. Splitting this a= ny further would get farther away both from how I actually wrote and tes= ted this patch series over the past four months and from the way Racket = is developed and released. It would take a non-negligible amount of effo= rt, all to produce a result that I believe would be worse. I mention the version number for 'chez-scheme-for-racket' because it sho= ws up relatively prominently in Guix tooling and even e.g. in the path o= f the package documentation. I don't know why it would be a problem to d= o so, but I would vastly prefer to remove the mention than to split the = patch, if it really has to be a choice. The Racket release notes don't m= ention the corresponding version of Chez Scheme. >> [...] >> @@ -448,18 +456,52 @@ (define-public chez-scheme-for-racket >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete "libx11" "util-lin= ux:lib"))) >> =C2=A0=C2=A0=C2=A0=C2=A0 (native-inputs >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (modify-inputs (package-native-inputs = chez-scheme) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (append zuo) >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (replace "chez-scheme-boot= strap-bootfiles" >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 chez-scheme-fo= r-racket-bootstrap-bootfiles))) > Prefer prepend over append. > Why? >> =C2=A0=C2=A0=C2=A0=C2=A0 (arguments >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (substitute-keyword-arguments (package= -arguments chez-scheme) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((#:out-of-source? _ #f) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #t) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((#:tests? _ #t) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; FIXME: There have been= some flaky test failures. Some have >> been >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; fixed upstream post-re= lease but have proven non-trivial to >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; backport; at least one= issue remains. Re-enable tests once >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; https://github.com/rac= ket/racket/issues/4359=C2=A0is fixed. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #f) > Rather than skipping tests altogether, skip just the flaky ones. > If I knew how to do that, I absolutely would. Well, short of making the = `process` function silently fail to run `/bin/sh` again, maybe. If you l= ook at the linked issue, you'll see that I've been chasing down failures= for the last month. For a while I had cherry-picked 153ff9acb7ad63717a5= 0bb26cd5aaa053870c666, which fixed the only issue with the implementatio= n (a race condition in one mode of the garbage collector), but it didn't= seem worth carrying the patch when things were still failing. The other= issues seem to be problems with running the test suite. Probably they a= ppeared now because we hadn't actually been running as much of it as we = seemed to be. So far, I haven't had failures building with current maste= r, but there aren't any commits touching anything obviously related, and= Unicode 14 and grapheme cluster support have landed since the release b= ranch, so it wouldn't be reasonable to just sweep in all the changes ind= iscriminately. Further, it's at least possible that I may just have been= winning the race recently and that the actual problem might still be th= ere. The Chez test suite takes an hour to run (maybe more), and I haven'= t been able to reproduce the failures outside of Guix, so it's not exact= ly rapid iteration. All in all, I don't know any change to make other th= an turning off tests that I can feel confident will work reliably for Gu= ix users. For what it's worth, difficulty running the Chez tests is not unique to = Guix. In the course of adding Zuo, Matthew Flatt commented, "After this = conversion, I was able to run the Chez Scheme test suite on Windows for = the first time; it must have been possible before, but I never quite got= the right tools installed in the right way to make it work." [1] AFAICT= Debian skips the Chez test suite unless it is specifically requested [2= ]: I don't know why, maybe just because it takes so long. [1]: https://github.com/racket/racket/pull/4179#issuecomment-1094137092 [2]: https://salsa.debian.org/scheme-team/chezscheme/-/blob/fbfa9c35db18= 4f5b22ac6c0058d754e1a45f5f68/debian/rules#L66-69 >> @@ -130,12 +132,12 @@ (define-module (gnu packages racket) >> =C2=A0;; output. The function 'racket-vm-for-system' returns the >> recomended Racket >> =C2=A0;; VM package for a given system. >> =C2=A0;; >> -;; The file 'racket.scm' builds on these packages to define 'racket- >> minimal' >> -;; and 'racket' packages. These use Racket's support for ``layered >> -;; installations'', which allow an immutable base layer to be >> extended with >> -;; additional packages. They use the layer configuration directly >> provide >> -;; ready-to-install FHS-like trees, rather than relying on the built >> in >> -;; ``Unix-style install'' mechanism. >> +;; We then define the packages 'racket-minimal' and >> +;; 'racket'. These use Racket's support for ``layered >> installations'', which >> +;; allow an immutable base layer to be extended with additional >> packages. >> +;; They use the layer configuration directly provide ready-to- >> install FHS-like >> +;; trees, rather than relying on the built in ``Unix-style install'' >> +;; mechanism. >> =C2=A0;; >> =C2=A0;; Bootstrapping Racket: >> =C2=A0;; --------------------- > This is a leftover from 8.6, but do the "FHS-like" installations > actually adhere to the FHS or just to the bit that says "opt means we > can do whatever we want =F0=9F=98=8E=EF=B8=8F"? > The 'racket' and 'racket-minimal' packages follow FHS. (Pedantically, be= cause compiled Racket code may or may not be architecture specific, and = used to always be architecture-independent, some configuration modes put= things in "share" that belong in "lib", but the current upstream "Unix-= style" defaults and out packages do not do that.) Here's a comparison of the hierarchy of our non-VM Racket packages vs. a= n in-place Racket installation, with the bracketed numbers indicating ho= w the two match up: /gnu/store/xyz-racket-8.5/ =E2=94=9C=E2=94=80=E2=94=80 bin/ [1] =E2=94=9C=E2=94=80=E2=94=80 etc/ =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 racket/ =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 config.rktd [2] =E2=94=9C=E2=94=80=E2=94=80 lib/ =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 racket/ [3] =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 links.rktd =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 mans.rktd =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 pkgs/ [4] =E2=94=94=E2=94=80=E2=94=80 share/ =E2=94=9C=E2=94=80=E2=94=80 applications/ [5] =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 drracket.desktop =E2=94=9C=E2=94=80=E2=94=80 doc/ =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 racket/ [6] =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 index.html =E2=94=9C=E2=94=80=E2=94=80 man/ [7] =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 man1/ =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 racket.1.gz =E2=94=94=E2=94=80=E2=94=80 racket/ [8] =E2=94=94=E2=94=80=E2=94=80 infocache.rktd /gnu/store/xyz-racket-vm-cs-8.5/opt/racket-vm/ =E2=94=9C=E2=94=80=E2=94=80 bin/ [1] =E2=94=9C=E2=94=80=E2=94=80 collects/ [would be share/racket/collects, b= ut not duplicated in layers] =E2=94=9C=E2=94=80=E2=94=80 doc/ [6] =E2=94=9C=E2=94=80=E2=94=80 etc/ =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 config.rktd [2] =E2=94=9C=E2=94=80=E2=94=80 include/ =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 chezscheme.h =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 racketcsboot.h =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 racketcs.h =E2=94=9C=E2=94=80=E2=94=80 lib/ [3] =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 libracketcs.a =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 petite.boot =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 racket.boot =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 scheme.boot =E2=94=9C=E2=94=80=E2=94=80 man/ [7] =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 man1/ =E2=94=94=E2=94=80=E2=94=80 share/ [8] =E2=94=9C=E2=94=80=E2=94=80 applications/ [5] =E2=94=94=E2=94=80=E2=94=80 pkgs/ [4] >> =C2=A0;; >> -;; Code: >> +;; Zuo is notably *not* a problem for bootstrapping. The >> implementation is a >> +;; single hand-written C file designed to build with just `cc -o zuo >> zuo.c`, >> +;; even with very old or limited compilers. (We use the Autoconf >> support for >> +;; convienience.) >> +;; >> +;; CODE: > Is that something that needs be mentioned? > Some people have asked whether the Zuo implementation does or should sha= re things with Racket and/or Chez Scheme. It seemed worth noting that it= intentionally does not, for the sake of bootstrapping. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 06/13] gnu: chez-scheme: Bootfiles should not be native inputs. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 22:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166025794316698 (code B ref 57050); Thu, 11 Aug 2022 22:46:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 22:45:43 +0000 Received: from localhost ([127.0.0.1]:55174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMGvv-0004LG-6T for submit@debbugs.gnu.org; Thu, 11 Aug 2022 18:45:43 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:38695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMGvt-0004L4-KM for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 18:45:42 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id C785B32009F0; Thu, 11 Aug 2022 18:45:35 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 18:45:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660257935; x= 1660344335; bh=rz/8tCok+som+ItOOylYdVKlQi0qk4dvBT/xgAzwBuc=; b=P sqz9bMJcsBGVflp18ImJ6LU3VWdLIhtF1jw3sTAn+hdYC3b1hDlQb/u01QVvnunL rsgm4KUSSwizZVauu1CtE3eD3dWvGt0Co/cjJww6zr95O7Bc+YLWO6fHD76ZP3g9 a2WJEaBAz3K9cdi8dj8lGM/DHNiCz9aheWL4TMKBTlkgbQvZxodJY0qtol/SDZuN 6VVKfXO+G1p3/J5OtwPnWx/hARiUer4dJ+O++mfPhdAyR1k3SMkjTEtgE7lfWFeD 32+Uht4KeeonOZ5/q+Lkslj8k/b1ymMoV8LW7Lg9kEedVFibfSFJmCRMZ2ie77A3 Kx9HLK3UgniYKiYnkC86g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660257935; x=1660344335; bh=rz/8tCok+som+ItOOylYdVKlQi0q k4dvBT/xgAzwBuc=; b=0bM83xc5kju/0uLITmtvLvp/63DpLGzocLbYcFH9tb5H lWKtupQel1XiGR7atOxPV9tjeug491bBxGUS5z1DfVS2cBJeqN7iaXojfaKQv3GG 562wpeRwOFEfzJfMukQdNtoUn8pJPnVwdTBME8DYLyMnnpfJiSUZ2GrMa9Jxw80L TxG/9m6v/L+HJwjzZxN12qDY928waY0MI0K+cTa/A7jW6xw44xrW9Dq4aH1P6Cao Gb+lumBA+t9KoEfbDCiBQwIP8PFa1FziY31LSB0tYobglwzrJRmDrKMRpPi4gkzO xzwTZDiuSsK6ABdDQQyrYnvcHivtmODc/ecU3TmPDQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedgudefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepvdejvdetfeeghfejleduieevleekfefhteeh jeevkeetffdvtddviedvgeeghfefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 18C25C6008B; Thu, 11 Aug 2022 18:45:35 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <8201cfc8-3e39-4d1f-90d7-6eb19dc64e3a@www.fastmail.com> In-Reply-To: <3f5d56d42bcbcd6961b8324606adf8767c3db888.camel@ist.tugraz.at> References: <760b29c0cb071c142a637e538233a661ad4a5c87.1660215295.git.philip@philipmcgrath.com> <3f5d56d42bcbcd6961b8324606adf8767c3db888.camel@ist.tugraz.at> Date: Thu, 11 Aug 2022 18:45:14 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 7:47 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> This makes a difference for cross-compilation. > The title should be something like "Make bootfiles regular inputs". To me, it would not be clear what makes an input "regular". Or perhaps the unclear part is what makes an input *not* "regular". > If > you want to claim that this makes a difference, please offer an > explanation. You do not need to restrict yourself to a line here. > I'm not sure what's unclear here. If you are on x86_64 and trying to cross-compile for riscv64, you need to have generated riscv64 machine code, not x86_64. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 22:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166025821217296 (code B ref 57050); Thu, 11 Aug 2022 22:51:02 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 22:50:12 +0000 Received: from localhost ([127.0.0.1]:55180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMH0F-0004Uu-SE for submit@debbugs.gnu.org; Thu, 11 Aug 2022 18:50:12 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:35177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMH0E-0004Ud-2n for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 18:50:10 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 1DD793200A14; Thu, 11 Aug 2022 18:50:04 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 18:50:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660258203; x= 1660344603; bh=qnejgzzPjlryvHusHQgDlJjKUQkF831DDb1Y8e2RZUw=; b=T xdxk2m8TTeGd+nzIrWq8kSbY4i/a7RHN+PQtZyYNekXmqZfG9ve4C/2fq0QaIjVL dsU1/q8Nq/HUeM8Ft8V1v/3+KnYva4gZRhMPl8aRYEq8PpoSO90Yit4ajGlpm+ZV auI6Lrq+In/7Pxk6jP7uT+nuUhr/o5UISXzN4uJ7sLAwad/7QfGnAkqr46FPoXy9 OAEDOy7CFnuGFzZJeA//SqmRH5qDWy3oODDrgIRd0bRKwOXp3/tM5Jy1sg/j8O6v 7DNli01i/mNI+hPFMVsnfSIo2+tWuOx01OOfwLexIdIx4LjjDh6g50NFFgngPZiP 5L2wk5sLOy2/PnZeQ/+wA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660258203; x=1660344603; bh=qnejgzzPjlryvHusHQgDlJjKUQkF 831DDb1Y8e2RZUw=; b=LQuiN8AGq861KJ+vqezNvignnP9jDh/ccGFBwMkVx5XO SYExCNMP2PxtFeCWn1bqMOpE81RLW2Bc98L/3UkdGL8I6mV/x/xV0JVOWBiQxcl8 Pi8II6QgOFlEtg8t0+7QTgqeMjYVdHAxyq6EnWBke1JnwMvwr/RV+yT76l33D3Qp iJ9bmrEsZLbwoymP3+B5H+VPsQyKj7bcZOIJ+aBLnY8HfIDDHk/3Q8mAZTY8+biP v+miAjdGVBU87rLonTat1ak6uuJLDkVFJMjvDW2jjsn+YpyJvZdCT0QuX54uGUtv hj3TWKy8/85U57GYKv2PA/ka5aXPUyaKyOhCrjG5iQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedgudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepvdejvdetfeeghfejleduieevleekfefhteeh jeevkeetffdvtddviedvgeeghfefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5EC2AC6008B; Thu, 11 Aug 2022 18:50:03 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: In-Reply-To: <2729b9f4060b1e3e7aa0d0e8f22b1412b81b18eb.camel@ist.tugraz.at> References: <2729b9f4060b1e3e7aa0d0e8f22b1412b81b18eb.camel@ist.tugraz.at> Date: Thu, 11 Aug 2022 18:49:42 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 7:56 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> * gnu/packages/chez.scm (racket-cs-native-supported-system): Change >> to >> return the applicable machine type instead of '#t'. >> (chez-scheme-for-racket)[native-inputs]: When cross-compiling, add >> 'this-package'. >> [arguments]<#:configure-flags>: When cross-compiling, supply '-m=' >> and >> '--toolprefix='. >> <#:phases>: Work around cross-compilation issues in 'build' and >> 'install-docs'. >> (chez-scheme-for-racket-bootstrap-bootfiles): When cross-compiling, >> use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. >> [arguments]<#:phases>: Adapt 'build' phase for cross-compilation. > I think this patch can further be split into one for the bootstrap- > bootfiles and one for chez-scheme. I don't know where exactly racket- > cs-native-supported-system fits into any of this and what the > dependencies for it are. > Among other issues, if you cross-compile the bootfiles but can't compile anything that uses the cross-compiled bootfiles, there's no reasonable way to tell if the bootfiles you've built actually work. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 08/13] gnu: racket: Support cross-compiling the VM packages. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 23:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166026022620436 (code B ref 57050); Thu, 11 Aug 2022 23:24:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 23:23:46 +0000 Received: from localhost ([127.0.0.1]:55192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHWj-0005JY-J0 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 19:23:45 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:51297) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHWh-0005JI-Dt for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 19:23:44 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 39162320090D; Thu, 11 Aug 2022 19:23:37 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 19:23:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660260216; x=1660346616; bh=E8TMsswHle PsEgxoBMUObZZFKHzKKFK3s/o8aS9W4PM=; b=U/9vJhW+ruRPW1Z9NBnvL+rnF5 IWaGj2MQQb+hLowgtKOwrYL70FlFKuK16CHr0AKGOjoL9ATxylYoHtGq87HYJfa5 DSwBxKLSrHGRKZ8a9+A+KbRcnCTb7pA5JSdC1Kv1oGhMvs70v+SDUV58kNmfHdgg Q9TGcylr3Uz0TwwkYDXnmmDQ2HrOeUqb4TPqnapVd92zNKLxEToY5iiDis5G30vy 4AfrcgUKfv04dYgfWhfkwRJzgp0RDRULR+pHFxfX5F9TOLW3v7EYu5keUsdELU1I NvcUDaLv8JNYmbnz5vXNS6Z9veFxVKc59HCUiWZ6Ob4c0fo83mTCgq/bnM3Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660260216; x= 1660346616; bh=E8TMsswHlePsEgxoBMUObZZFKHzKKFK3s/o8aS9W4PM=; b=E peNAoqxSmpi8cZX4M9zAuG65PBhb74K2Dtof0cu3tb9wPpTxJ9595ODcAxjpHlW7 FxtYdHmGAdqep9G3rxGH9fI/WUEdSgNfPZSHtqObjyAyIzQqfDv8joy/xRYCjO8t PQJ/7s+wXGZySEQhuJmYftS0K5Bc1/VakGiIQA2H+yj3IupFOUEzlVZN1B4gCNjS kvV4JFOwyUzay5EU0w1/VaWRiGCbZxi2++S6aqoXkHEK2fT6kO0RQprLJ4N9pIQL 0RF3JgbcbLBKndu0yo6PXwnq1gazIFG3Y8Zzxv/mYy9Bz0jjcj5+sX2kqqiwsrZm QkX2GqK4oN3sdP61WOw+Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedgvdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreertdenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpefhheehhfejiedujeeftedtieegtedtvdfh ledtfefhueejleevheetheeghfeuhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtgho mh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5FFC0C6008B; Thu, 11 Aug 2022 19:23:36 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: In-Reply-To: <412a5cbf52798c9725eaba8575232fef75889c91.camel@ist.tugraz.at> References: <412a5cbf52798c9725eaba8575232fef75889c91.camel@ist.tugraz.at> Date: Thu, 11 Aug 2022 19:23:15 -0400 From: "Philip McGrath" Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 7:58 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and >> 'racket-vm-cs'. These changes are not enough to cross-compile >> 'racket-minimal' or 'racket': that would require building and loading >> cross-compilation pluggins for 'racket-vm-cs', which will be much > plugins >> easier once we can build the package 'raco-cross'. >>=20 >> * gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when >> cross-compiling. >> (racket-vm-bc)[native-inputs]: Adjust accordingly. >> (racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of >> 'racket-vm-bc' when cross-compiling. Adapt to changes to >> 'racket-vm-cgc'. > Is that needed? Can racket-vm-cs not be "cross-bootstrapped"? I'm not sure what "cross-bootstrapped" means. Chez Scheme is more like GCC than LLVM in that it only generates code fo= r one target at a time. Unlike GCC, you don't have a separate executable= for each backend: the C part and the pure Scheme part can be shared. Fo= r cross-compilation, you generate an "xpatch" file, a compiler plugin so= mewhat like a bootfile, for the target machine type. You use it by loadi= ng it into a running `scheme` process: AIUI it, as a side-effect, mutate= s parts of the compiler to turn it into a compiler for the target archit= ecture. Once an "xpatch" is loaded, some parts of the host functionality= are no longer accessible. Racket provides a somewhat more convenient in= terface, including the ability to run a copy of itself in a subprocess t= o drive the compilation. In keeping with Racket's overall design, the VM= layer provides only primitive hooks, leaving it up to packages to provi= de higher-level interfaces that deal with managing native- and cross-com= piled files in parallel, dependency management, and other issues. The shorter version is that I asked Matthew Flatt how he recommended man= aging cross-compilation, and he strongly suggested first getting non-cro= ss package builds working well, then reusing as much of `raco cross` as = possible. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 23:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166026036720666 (code B ref 57050); Thu, 11 Aug 2022 23:27:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 23:26:07 +0000 Received: from localhost ([127.0.0.1]:55198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHZ1-0005NG-58 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 19:26:07 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:58237) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHYz-0005Mm-BL for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 19:26:05 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 85D1632009DB; Thu, 11 Aug 2022 19:25:59 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 19:25:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1660260359; x= 1660346759; bh=Ld0KjsHHcBQgol29OO9Xf+AEmlFsj2LCD48ieuupjJo=; b=P JFzeu98h+B2T2o31iK++z1zdHeh1t8ny6AdmtDGVqe+sfvIAG04Zu4+iU4EF3egl 3pGj/2iDQstGDyFAIuNVFwjm0nM5l7DKjF9QgaGDjLTNkjx1gfek83QQK7zGLuEX lBioKAIXYZkoFQNlZw/ft3D+cnhrFZzstBzzdZvTkTXqS1DqDz2M3445qqzi4cQd m1oyLgUTz+3DkNf3zCtZcGETaVJT7nqiDVbb7EivB53H1IslqZAWNsf1RBwQrQFS uN+XN1kiWCxY5nqD/Xq3EiT4ALAtXd3Z5V+0HuDjezbXr93Yd/cxpdu3mzFWVZfR 8UjKDu+2ncJzTQ4cjQ7tg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1660260359; x=1660346759; bh=Ld0KjsHHcBQgol29OO9Xf+AEmlFs j2LCD48ieuupjJo=; b=Kc2i3/KfKIbIpglLxcQ712iqP/I5xD6Friio6KdLfFCl PzxdNbV31B8vqrZqPErl1k5NriWcJExyCMFFYT3ODLg/sOZlfkaWFpC08QF+9wBu Vvn0w929rQkI/eVSra96JjyRVRbNxwCpspJT4AhUb1Zr5aKvTPXvu3RuaEZW4o7e oe67XNIvWFpXAIvAlpL2UJ0BgVNm8+KJmZt5G3HNdkb+2wp5WWbQ3nHzNgaDD1PM a4BrOJc4T32E+DE8I4cEmsREwhp8u+Pm7V+VnWCF+LK4YNeH0AeFoW226yIW3je5 qmKpd4+5/8VmhdD5/m7JKxGUCfmwiMohUFf+diCRRQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedgvdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepvdejvdetfeeghfejleduieevleekfefhteeh jeevkeetffdvtddviedvgeeghfefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id CA66BC60091; Thu, 11 Aug 2022 19:25:58 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <1c56ce0f-f781-4e5d-953c-b0eb1742091d@www.fastmail.com> In-Reply-To: <4cd27ff2354ca8b109455be0cddda620f5a36486.camel@ist.tugraz.at> References: <4d63cf22559de641440810e451b9366aa6091774.1660215295.git.philip@philipmcgrath.com> <4cd27ff2354ca8b109455be0cddda620f5a36486.camel@ist.tugraz.at> Date: Thu, 11 Aug 2022 19:25:37 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Thu, Aug 11, 2022, at 8:02 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath: >> On systems for which Racket's variant of Chez Scheme cannot generate >> native code, it can use a 'pbarch' machine type: a variant of the >> ``portable bytecode'' backend specialized to word size and >> endianness. >> This allows Racket CS to replace Racket BC on those systems while >> maintaining comparable performance. (Racket BC lacks JIT support for >> those systems anyway.) It also lets us provide a Chez Scheme package >> on >> all systems Guix supports. >> >> This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and >> 'racket-vm-cs', but it does not change the Racket VM implementation >> used >> for the 'racket' and 'racket-minimal' packages. >> >> * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New >> variable. >> (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native >> systems. >> [arguments]<#:configure-flags>: Always supply '-m='. Add applicable >> flags for non-native systems. >> [supported-systems]: Use '%supported-systems'. > As a follow-up, you could probably inline %supported-systems now, no? > I'm not sure I understand what you mean. We need the -for-racket packages to not inherit the supported systems from upstream Chez. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Aug 2022 23:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166026078621369 (code B ref 57050); Thu, 11 Aug 2022 23:34:01 +0000 Received: (at 57050) by debbugs.gnu.org; 11 Aug 2022 23:33:06 +0000 Received: from localhost ([127.0.0.1]:55205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHfm-0005Yb-2T for submit@debbugs.gnu.org; Thu, 11 Aug 2022 19:33:06 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:37101) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMHfi-0005Y4-70 for 57050@debbugs.gnu.org; Thu, 11 Aug 2022 19:33:04 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 5417D32009F0; Thu, 11 Aug 2022 19:32:56 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 11 Aug 2022 19:32:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660260775; x=1660347175; bh=C+X7m9hRav d2J9MtAzFFvaEZj/k3aKUF3YNUQJEhL3M=; b=IOVKITl3Vygb/UKpBiHhsSbbvX k0VCDA/PuWfKw+zYqCfC/NlN8uWWCkIQj/nXF6aY4Met3PZBy82C4XcEshQbsXVc /GHpEm+M2QyDHV53T69YOfuLd+9GIqnlAaa1/zngwkefnX2T8YQ8VnWdhVctiIKf QsBu/vWzebMByYa5ZzG7UbnGWEOc37aj7NkM73bauFCgwb3VHmT+rKKCzoucOCsu VbtPM/sX4qkwenpijGZacEKzbtu22rRHxvkogBZnFMVitmI7JENnlUL4w3wWf/JY PXubi4TDNuYVok/hUdsHtxOh2jEidvfHfQ9qMaimiK6fcUtA6Y3DCmEgtL2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660260775; x= 1660347175; bh=C+X7m9hRavd2J9MtAzFFvaEZj/k3aKUF3YNUQJEhL3M=; b=y Zi2th6MB4X6IjwWIqEGEUsSm2cI+0srej4rY7vvOw/wTxrAIrj3UhVo40b7pnWHj WTtcmWwBKwv81h7tcwczRoPNI3Q5km2KZudsumyAuhL1/ru57fu22u5Z8I5WLp3t VHcrMIPu0hvIkchAYb7AvY8aV+SVwXpHjq3TXdIn8W8CcdL4aBn4T+ZRVNk2FBQs bbZTBOIurPlrxwjqSXq6/cYvpZTK574HjLusdXKefLSSJ69mE9fxJIBNCCwlsliB 9jZgkeSBfGOUv45zI/zk7FXpVgbauboqFfiKb8Bp2xejv1SlUWCYboELmcmyLsD9 wm24n50kzTQe+vNrEeVng== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeghedgvdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeevgfdtieduteetkeeljeehueejgfduieet uefgueegvddvuddvkeelteeivedvkeenucffohhmrghinhepghhithhhuhgsrdgtohhmpd hrrggtkhgvthdqlhgrnhhgrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr rghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtoh hm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8879CC6008B; Thu, 11 Aug 2022 19:32:55 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: In-Reply-To: <3fb8e7c9e08178a331726c1e5a303dfd5a622ca6.camel@gmail.com> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <3fb8e7c9e08178a331726c1e5a303dfd5a622ca6.camel@gmail.com> Date: Thu, 11 Aug 2022 19:32:34 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Thu, Aug 11, 2022, at 11:34 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 11.08.2022 um 10:00 -0400 schrieb Philip McGrath: >> I'm planning to respond in the other thread about the possibility of >> a truly generic macro name, but I hope it doesn't need to become an >> issue blocking this patch series. For now, I'm not entirely sure what >> "Racket-agnostic" means; the bottom line for my is I think it would >> be absurdly awful to have to write, e.g. if cross-compiling using >> `distro-build` with the top-level Makefile: >>=20 >> =C2=A0=C2=A0=C2=A0 ./configure CPPFLAGS=3D"GUIX_RKTIO_BIN_SH=3D/input= /bin/sh >> GUIX_ZUO_BIN_SH=3D/input/bin/sh GUIX_CHEZ_BIN_SH=3D/input/bin/sh" >> CPPFLAGS_FOR_BUILD=3D"GUIX_RKTIO_BIN_SH=3D/native-input/bin/sh >> GUIX_ZUO_BIN_SH=3D/native-input/bin/sh GUIX_CHEZ_BIN_SH=3D/native- >> input/bin/sh" > GUIX_CHEZ_BIN_SH would semantically cover all four however, no?=20 > (Ignoring more generic options for now.) > I don't think so. Zuo and Racket BC have at least as little to do with C= hez as upstream Chez has to do with rktio. >> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (home-page "https://github.com/ra= cket/zuo") >> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; ^ This is downstream of >> > > https://github.com/racket/racket, >> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; but it's designed to be a frie= ndly landing place >> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (synopsis "Tiny Racket for build = scripts") >> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (description "You should use Rack= et to write scripts. >> > Sorry, but I prefer Guile. >>=20 >> (At the risk of responding seriously to what was probably meant to be >> a joke:) I've never tried to use Guile on Windows, but, given that >> the manual chapter is called "POSIX System Calls and Networking", >> it's not clear to me that Guile provides as portable and powerful >> "primitives for dealing with files and running processes" as Zuo, let >> alone Racket. > At the risk of responding seriously to what was probably meant to be a > joke, I don't use Winblows =F0=9F=98=89=EF=B8=8F > If you want to be horrified, read . I'm very glad Racket manages all that complexity f= or me. (And in fairness, even on Unix, there are valid paths which can n= ot be represented as Scheme strings.) -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 06/13] gnu: chez-scheme: Bootfiles should not be native inputs. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 12 Aug 2022 04:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166027811717522 (code B ref 57050); Fri, 12 Aug 2022 04:22:02 +0000 Received: (at 57050) by debbugs.gnu.org; 12 Aug 2022 04:21:57 +0000 Received: from localhost ([127.0.0.1]:55313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMMBJ-0004YY-Di for submit@debbugs.gnu.org; Fri, 12 Aug 2022 00:21:57 -0400 Received: from mail-ej1-f68.google.com ([209.85.218.68]:39757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMMBG-0004YJ-OB for 57050@debbugs.gnu.org; Fri, 12 Aug 2022 00:21:55 -0400 Received: by mail-ej1-f68.google.com with SMTP id i14so11659ejg.6 for <57050@debbugs.gnu.org>; Thu, 11 Aug 2022 21:21:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=q9MfISax/pPFV9nE0TZykvIc3xSVMswo/VWq3uKz2Fo=; b=nH4Scnat9r90FWIJiYuK4EjafVswEeB1LCJCaOboY1rAiIfgemirIxW549pOkKskIW 6CBg8IXdfBcKrMcox2IPKufMaAtDt4AstHjH+hynsik/eA713HI1dNizRS/oCqUnwbtF uxz6S/S4OQr0bOdKdkvng/HZJEuWZnCwtPI64lnNBAIHozdAwVrRzEjK+eYuGLAHy/fx 6oBBPw90BF7xZ/+SXxECDd4dehoZJqw2RDDkLlDe61nnCLFuJmJb942pMHTtNLaTHSmZ KFqDMaONTDgot4gLxUirwY+GXqw1+1nElb/OdUpsebRQlR67nLI56+FZoPQ6UluONlPv nxvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=q9MfISax/pPFV9nE0TZykvIc3xSVMswo/VWq3uKz2Fo=; b=5hOazYJxfiD0w7ULsc/lhs+5dJLbx4V0NyH7tERwguQ7RN/ysHvh7t3YpPQ6bkp/Vw cImAg2I5ff3OLKaImEGz73v7oTiYUcRMARH9bx/lsjexLo+5PSWPF3yMoQDLxjvEDfMN 1o1XCrky8wQeZfeZ4k4lMpDnAA1hYpsj10bLdb1Emrrio1vt2s1Rop8UqxKHAfSgG2cY xEtm1UtpSJiM4eFadlxpbj4mQYC0ueKJyydm13+GEllssIKEwHPnykdzNm7VzxbyaB/A +sWWBH0GVB9vSd13MJ+2+FvZK8mvXFXHJIeOL9uY9LTR/yTpfR9y+KolBUyhLzwRSeS/ bMuQ== X-Gm-Message-State: ACgBeo3S4VOLMDtCSFh4SOn7ssXJH1l/GP/d9K5kl0gvB+uvcNr1TJsp i7j8jofirHH+Zm8elcM6/MI= X-Google-Smtp-Source: AA6agR4nS8TxhvnbKmIj1HCwaMaCWHXpRigAsBkSgE7y2drUTacRXgBe2iDIVLe9nD87xqidczFrFw== X-Received: by 2002:a17:906:eeca:b0:730:6880:c397 with SMTP id wu10-20020a170906eeca00b007306880c397mr1373573ejb.593.1660278108672; Thu, 11 Aug 2022 21:21:48 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id ek6-20020a056402370600b0043a61f6c389sm715948edb.4.2022.08.11.21.21.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Aug 2022 21:21:48 -0700 (PDT) Message-ID: <5725b95bb6b4a3fab3559536ac42de44397ba8bc.camel@gmail.com> From: Liliana Marie Prikler Date: Fri, 12 Aug 2022 06:21:46 +0200 In-Reply-To: <8201cfc8-3e39-4d1f-90d7-6eb19dc64e3a@www.fastmail.com> References: <760b29c0cb071c142a637e538233a661ad4a5c87.1660215295.git.philip@philipmcgrath.com> <3f5d56d42bcbcd6961b8324606adf8767c3db888.camel@ist.tugraz.at> <8201cfc8-3e39-4d1f-90d7-6eb19dc64e3a@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 11.08.2022 um 18:45 -0400 schrieb Philip McGrath: > Hi, > > On Thu, Aug 11, 2022, at 7:47 AM, Liliana Marie Prikler wrote: > > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip > > McGrath: > > > This makes a difference for cross-compilation. > > The title should be something like "Make bootfiles regular inputs". > > To me, it would not be clear what makes an input "regular". Or > perhaps the unclear part is what makes an input *not* "regular". "Regular" means "not native and not propagated", i.e. just "inputs". > > If you want to claim that this makes a difference, please offer an > > explanation.  You do not need to restrict yourself to a line here. > > > > I'm not sure what's unclear here. If you are on x86_64 and trying to > cross-compile for riscv64, you need to have generated riscv64 machine > code, not x86_64. This sentence itself is already ambiguous: ((need to) (have generated) code) vs. ((need to) have (generated code)). Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 12 Aug 2022 06:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166028608332103 (code B ref 57050); Fri, 12 Aug 2022 06:35:01 +0000 Received: (at 57050) by debbugs.gnu.org; 12 Aug 2022 06:34:43 +0000 Received: from localhost ([127.0.0.1]:55489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMOFm-0008Li-EB for submit@debbugs.gnu.org; Fri, 12 Aug 2022 02:34:43 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:37154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMOFj-0008LX-PW for 57050@debbugs.gnu.org; Fri, 12 Aug 2022 02:34:41 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4M3v6K596zz3wd4; Fri, 12 Aug 2022 08:34:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1660286074; bh=mGyAnDjPf9DIRcO7TSlFROWqTacVrGwIVwPML2oxEiI=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=LP+/WLEvZLZYCFdlnHvM5rxgRgeDQKrFCeSJhdF5BnrvN8IAecyAU+fK6NUIP36ja FGO7hGyMibAbtHTdyW6ERyPtCpB/2IQPEmaSaJxhkw/ZrzhO1hy6EB8paEhle582a4 ovZZ+hZ0Je8a4zty1tM0M70Z0WkYsCLz8UwJqWQo= Message-ID: From: Liliana Marie Prikler Date: Fri, 12 Aug 2022 08:34:32 +0200 In-Reply-To: <9c26881e-fbeb-4910-bf56-e27d9dc77359@www.fastmail.com> References: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> <9c26881e-fbeb-4910-bf56-e27d9dc77359@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -0.4 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 11.08.2022 um 18:40 -0400 schrieb Philip McGrath: > Hi, > > On Thu, Aug 11, 2022, at 7:44 AM, Liliana Marie Prikler wrote: > > Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip > > McGrath: > > > > > Also, update 'chez-scheme-for-racket' to 9.5.9.2. > > As with Zuo, can this be split into a separate patch?  If not, why > > does it get mentioned here as something noteworthy rather than just > > being part of the ChangeLog? > > > > This absolutely should not be split into more patches. While I split > out Zuo as you requested, I continue to believe that it was better as > a single patch. Belief is one thing, but I think you're cherry-picking commits to not have said beliefs questioned, which imho is a dangerous thing to do. > More broadly, I hope to put together a 'racket-build-system' before > the 8.7 release. Whenever that happens, it will mean turning the > inputs of the 'racket' and 'racket-minimal' packages into, last I > counted, 203 additional packages. That's great. I hope this will also let us unvendor some of racket itself. > I think it would be bad for everyone—patch writers, patch reviewers, > users, and people reading the history later—to break Racket releases > into a deluge of little patches Well, first of all that's debatable, second we do have wip branches for big workloads like gnome, r, and some others, and I think racket would probably fit into that category. Thus, users sitting on the main branch would only observe the "merge wip-racket into master" commit, whereas reviewers can take their time to observe each package in isolation. > combinations of technical and social mechanisms to make certain > potentially problematic states difficult to fall into. Just call it a monorepo. > A Racket release is an update to a family of packages that are > developed and released together. Like a TeX Live update (cf. > ee25e3fcab9d2e24c2826b771b52d797c152193b) or the KDE Frameworks > libraries (cf. 9d3965edca29f80667374da45214cc6f22a85be4), the > contents of a Racket release should be updated together. I wouldn't > insist on one commit in all imaginable circumstances, but I think it > should be the norm. That's all the more true of Racket components > that share a canonical Git repository, for which Racket tools take > steps to warn you if not fail if you have mismatched versions. The difference between the two commits you mention and the one you provide is that the upgrades to those derived packages mostly come for free, whereas yours doesn't. Compare > * gnu/packages/kde-frameworks.scm (extra-cmake-modules, attica, > bluez-qt, > breeze-icons, kapidox, karchive, kcalendarcore, kcodecs, kconfig, > kcoreaddons, > kdbusaddons, kdnssd, kguiaddons, kholidays, ki18n, kidletime, > kirigami, > kitemmodels, kitemviews, kplotting, ksyntaxhighlighting, > kwidgetsaddons, > kwindowsystem, modemmanager-qt, networkmanager-qt, oxygen-icons, > prison, > qqc2-desktop-style, solid, sonnet, threadweaver, kactivities, kauth, > kcompletion, kcontacts, kcrash, kdoctools, kfilemetadata, > kimageformats, > kjobwidgets, knotifications, kpackage, kpty, kunitconversion, > syndication, > baloo, kactivities-stats, kbookmarks, kcmutils, kconfigwidgets, > kdeclarative, > kded, kdesignerplugin, kdesu, kdewebkit, kemoticons, kglobalaccel, > kiconthemes, kinit, knewstuff, knotifyconfig ,kparts, kpeople, > krunner, > kservice, ktextwidgets, kwallet, kxmlgui, kxmlrpcclient, purpose, > kde-frameworkintegration, kdelibs4support, khtml, kjs, kjsembed, > kmediaplayer, > kross): Update to 5.70.0. to > (chez-scheme-for-racket): Update to 9.5.9.2. > [native-inputs]: Add 'zuo'. > [arguments]<#:out-of-source?>: Use out-of-source build. > <#:tests?>: Skip them due to ongoing problems. > <#:configure-flags>: Add '--install-csug=' and '-- > installreleasenotes='. > <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' > here, > rather than in a phase. > <#:phases>: Replace 'install-docs' using new 'make' target. > I also want to emphasize that splitting up patches is not free. I also want to emphasize that reviewing patches is not free. > Splitting/rebasing v2 of this series took hours of work. Even > specifically in splitting off Zuo, I made a (trivial) error in my > first version of this particular patch and had to amend the commit > and rebuild. Splitting this any further would get farther away both > from how I actually wrote and tested this patch series over the past > four months and from the way Racket is developed and released. It > would take a non-negligible amount of effort, all to produce a result > that I believe would be worse. As someone who's authored larger series myself, I can somewhat understand your pain. However, I don't think the development guidelines of any particular package ought to influence how we do things in Guix. Otherwise, we'd have adopted emoji commit messages for some of them by now. > I mention the version number for 'chez-scheme-for-racket' because it > shows up relatively prominently in Guix tooling and even e.g. in the > path of the package documentation. I don't know why it would be a > problem to do so, but I would vastly prefer to remove the mention > than to split the patch, if it really has to be a choice. The Racket > release notes don't mention the corresponding version of Chez Scheme. If chez and racket were that tightly coupled, you'd think they go together without mention, no? For instance, when upgrading Emacs to 28.1, I don't have to mention all the built-in packages that've been updated, you get those from the release notes. However, looking at the ChangeLog above, I don't think these two are tightly enough coupled to just say that simultaneous upgrades come for free (as they do with Emacs, but also Renpy, WebkitGTK, and a bunch of others that I'm not personally involved with). > > > [...] > > > @@ -448,18 +456,52 @@ (define-public chez-scheme-for-racket > > >         (delete "libx11" "util-linux:lib"))) > > >      (native-inputs > > >       (modify-inputs (package-native-inputs chez-scheme) > > > +       (append zuo) > > >         (replace "chez-scheme-bootstrap-bootfiles" > > >           chez-scheme-for-racket-bootstrap-bootfiles))) > > Prefer prepend over append. > > > > Why? Prepend is a cons internally, so it's both faster and more natural. Alphabetic ordering doesn't matter here and I hope neither do search paths in your use case. > > >      (arguments > > >       (substitute-keyword-arguments (package-arguments chez- > > > scheme) > > > +       ((#:out-of-source? _ #f) > > > +        #t) > > > +       ((#:tests? _ #t) > > > +        ;; FIXME: There have been some flaky test failures. Some > > > have > > > been > > > +        ;; fixed upstream post-release but have proven non- > > > trivial to > > > +        ;; backport; at least one issue remains. Re-enable tests > > > once > > > +        ;; https://github.com/racket/racket/issues/4359 is > > > fixed. > > > +        #f) > > Rather than skipping tests altogether, skip just the flaky ones. > > > > If I knew how to do that, I absolutely would. Well, short of making > the `process` function silently fail to run `/bin/sh` again, maybe. > If you look at the linked issue, you'll see that I've been chasing > down failures for the last month. For a while I had cherry-picked > 153ff9acb7ad63717a50bb26cd5aaa053870c666, which fixed the only issue > with the implementation (a race condition in one mode of the garbage > collector), but it didn't seem worth carrying the patch when things > were still failing. The other issues seem to be problems with running > the test suite. Probably they appeared now because we hadn't actually > been running as much of it as we seemed to be. So far, I haven't had > failures building with current master, but there aren't any commits > touching anything obviously related, and Unicode 14 and grapheme > cluster support have landed since the release branch, so it wouldn't > be reasonable to just sweep in all the changes indiscriminately. > Further, it's at least possible that I may just have been winning the > race recently and that the actual problem might still be there. The > Chez test suite takes an hour to run (maybe more), and I haven't been > able to reproduce the failures outside of Guix, so it's not exactly > rapid iteration. All in all, I don't know any change to make other > than turning off tests that I can feel confident will work reliably > for Guix users. There surely must be more than a single test file, no? The typical way to do this in autotools would be to specify TESTS="the tests to run", or to (substitute* "tests/Makefile.am" ((" bad-test") "")). HTH > For what it's worth, difficulty running the Chez tests is not unique > to Guix. In the course of adding Zuo, Matthew Flatt commented, "After > this conversion, I was able to run the Chez Scheme test suite on > Windows for the first time; it must have been possible before, but I > never quite got the right tools installed in the right way to make it > work." [1] AFAICT Debian skips the Chez test suite unless it is > specifically requested [2]: I don't know why, maybe just because it > takes so long. > > [1]: > https://github.com/racket/racket/pull/4179#issuecomment-1094137092 > [2]: > https://salsa.debian.org/scheme-team/chezscheme/-/blob/fbfa9c35db184f5b22ac6c0058d754e1a45f5f68/debian/rules#L66-69 That's horrible. > > > @@ -130,12 +132,12 @@ (define-module (gnu packages racket) > > >  ;; output. The function 'racket-vm-for-system' returns the > > > recomended Racket > > >  ;; VM package for a given system. > > >  ;; > > > -;; The file 'racket.scm' builds on these packages to define > > > 'racket- > > > minimal' > > > -;; and 'racket' packages. These use Racket's support for > > > ``layered > > > -;; installations'', which allow an immutable base layer to be > > > extended with > > > -;; additional packages. They use the layer configuration > > > directly > > > provide > > > -;; ready-to-install FHS-like trees, rather than relying on the > > > built > > > in > > > -;; ``Unix-style install'' mechanism. > > > +;; We then define the packages 'racket-minimal' and > > > +;; 'racket'. These use Racket's support for ``layered > > > installations'', which > > > +;; allow an immutable base layer to be extended with additional > > > packages. > > > +;; They use the layer configuration directly provide ready-to- > > > install FHS-like > > > +;; trees, rather than relying on the built in ``Unix-style > > > install'' > > > +;; mechanism. > > >  ;; > > >  ;; Bootstrapping Racket: > > >  ;; --------------------- > > This is a leftover from 8.6, but do the "FHS-like" installations > > actually adhere to the FHS or just to the bit that says "opt means > > we > > can do whatever we want 😎️"? > > > > The 'racket' and 'racket-minimal' packages follow FHS. (Pedantically, > because compiled Racket code may or may not be architecture specific, > and used to always be architecture-independent, some configuration > modes put things in "share" that belong in "lib", but the current > upstream "Unix-style" defaults and out packages do not do that.) > > Here's a comparison of the hierarchy of our non-VM Racket packages > vs. an in-place Racket installation, with the bracketed numbers > indicating how the two match up: > > /gnu/store/xyz-racket-8.5/ > ├── bin/ [1] > ├── etc/ > │   └── racket/ > │       └── config.rktd [2] > ├── lib/ > │   └── racket/ [3] > │       ├── links.rktd > │       ├── mans.rktd > │       └── pkgs/ [4] > └── share/ >     ├── applications/ [5] >     │       └── drracket.desktop >     ├── doc/ >     │       └── racket/ [6] >     │           └── index.html >     ├── man/ [7] >     │       └── man1/ >     │           └── racket.1.gz >     └── racket/ [8] >              └── infocache.rktd > > /gnu/store/xyz-racket-vm-cs-8.5/opt/racket-vm/ > ├── bin/ [1] > ├── collects/ [would be share/racket/collects, but not duplicated in > layers] > ├── doc/ [6] > ├── etc/ > │   └── config.rktd [2] > ├── include/ > │   ├── chezscheme.h > │   ├── racketcsboot.h > │   └── racketcs.h > ├── lib/ [3] > │   ├── libracketcs.a > │   ├── petite.boot > │   ├── racket.boot > │   └── scheme.boot > ├── man/ [7] > │   └── man1/ > └── share/ [8] >     ├── applications/ [5] >     └── pkgs/ [4] Your [8] seems broken. But understanding this correctly, we'd have to move vm collects to lib or share and man+doc to share? This doesn't look too bad, but I bet there's some complication with layers. > > > >  ;; > > > -;; Code: > > > +;; Zuo is notably *not* a problem for bootstrapping. The > > > implementation is a > > > +;; single hand-written C file designed to build with just `cc -o > > > zuo > > > zuo.c`, > > > +;; even with very old or limited compilers. (We use the Autoconf > > > support for > > > +;; convienience.) > > > +;; > > > +;; CODE: > > Is that something that needs be mentioned? > > > > Some people have asked whether the Zuo implementation does or should > share things with Racket and/or Chez Scheme. It seemed worth noting > that it intentionally does not, for the sake of bootstrapping. In reply to this bug? In Chez/Racket spaces? I think the package description for zuo should make it clear that it can be used for bootstrapping, so from a Guix side that comment seems superfluous. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 00/13] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Thiago Jung Bauermann Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 13 Aug 2022 17:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166041322529933 (code B ref 57050); Sat, 13 Aug 2022 17:54:01 +0000 Received: (at 57050) by debbugs.gnu.org; 13 Aug 2022 17:53:45 +0000 Received: from localhost ([127.0.0.1]:35049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMvKS-0007mi-Vs for submit@debbugs.gnu.org; Sat, 13 Aug 2022 13:53:45 -0400 Received: from mx.kolabnow.com ([212.103.80.154]:62836) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMvKN-0007mN-A0 for 57050@debbugs.gnu.org; Sat, 13 Aug 2022 13:53:43 -0400 Received: from localhost (unknown [127.0.0.1]) by mx.kolabnow.com (Postfix) with ESMTP id 0B21F75C1; Sat, 13 Aug 2022 19:53:32 +0200 (CEST) Authentication-Results: ext-mx-out001.mykolab.com (amavisd-new); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-transfer-encoding:content-type:content-type:mime-version :message-id:in-reply-to:date:date:subject:subject:from:from :references:received:received:received; s=dkim20160331; t= 1660413211; x=1662227612; bh=3l1i/gEcguDlHSE37nhmv+UQfZWrVbWCM9T Xg/Ptzjs=; b=3rOZ6V1HB6wEGvxpnNzGSy2WkyruD3P4FKvtn9/IvvDDoYnqn0P NI3iQ+dMf1Di5mAtmlomv9EwbuEkIM1xxmKWqo00DC4BiCyi69CuzrUM0dPBJ5UL vLrSc7Sos2zR1SxwBEOVxVVK0F3k4nAlYGbkN/r+3m9h6GPnDtw1lDAAPTLqBNKr 4dP31scLxtBMH4v+qyv6wFblDUMYW4T7hrvtQ2Gn/j9MSrA1MJAo3CQ/c3FbxKuc hRucxsiMmjwBo/uLxrpXdnXgXk6vjNYp+TdZwUtW/4RyusZ50ekYkxSZ2U+hZQ4D OCx1Igh2WUW/5LgPNDQzUFOm+1bTlAcJryK8jQn2eUycuUOk1in6LaNRzE7Y3dzZ ESNhY5JZRQ7DJQbx4OLz6BQVGuflhVVvIpaZHAlzkMEbfm4EXM4x5CWK9dwIVwQB MqEvoZOCVvBjCq8lnludzSFP1+ylZXN2tRMYKXfkKxp4hUB7SRbaEzaS40g/XbmV B2YheKTPrlcKmZwDaA92dNywdv96Tkm/pcGMXUyYGy0dgG8jbmQP/aeVAnjGpRfS lSovExFB5tSz5kL3EhomfJuzg4w783uxoYjjdr3NK6hsXISLAuXyfUcJsVsmRvE1 i0ktM1LopTKXpy1MiEhMs0bxDVqoTMvE9KP+G5JfoeUwfLRUtW2LrYlA= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-10 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out001.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hiIKdKrPHbFk; Sat, 13 Aug 2022 19:53:31 +0200 (CEST) Received: from int-mx001.mykolab.com (unknown [10.9.13.1]) by mx.kolabnow.com (Postfix) with ESMTPS id 4BAE375A2; Sat, 13 Aug 2022 19:53:30 +0200 (CEST) Received: from ext-subm003.mykolab.com (unknown [10.9.6.3]) by int-mx001.mykolab.com (Postfix) with ESMTPS id E4A52E17; Sat, 13 Aug 2022 19:53:29 +0200 (CEST) References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> From: Thiago Jung Bauermann Date: Sat, 13 Aug 2022 14:43:26 -0300 In-reply-to: Message-ID: <875yiwxc6o.fsf@kolabnow.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Philip, Philip McGrath writes: > Thiago, Matthew Flatt suggested a workaround for powerpc64le-linux > in , and I've added it in patch > 10/13. Can you give it a try? I'm also trying it via QEMU. For convienien= ce, > I've updated the 'zuo' branch at https://gitlab.com/philip1/guix-patches = to > point to this v2 (commit aaa95de8c6cff1ba749a9dd0365dedb822ffa625) and ta= gged > it as guix-issue-57050-v2; I've tagged the previous version as > guix-issue-57050. Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now chez-scheme-for-racket-bootstrap-bootfiles builds successfully! Unfortunately there's still a holdup: the install phase of racket-vm-cs-8.6 fails: --8<---------------cut here---------------start------------->8--- starting phase `install' /gnu/store/i9h1vc67h9148xvn8djk8j3smlkhaf09-zuo-1.0-racket8.6/bin/zuo . ins= tall DESTDIR=3D"" cp cs/c/racketcs /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8= .6/opt/racket-vm/bin/racket : /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-v= m/bin/racket cp ../src/start/starter-sh /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-rack= et-vm-cs-8.6/opt/racket-vm/lib/starter-sh cp cs/c/starter /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.= 6/opt/racket-vm/lib/starter : /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-v= m/lib/starter /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/start/collects-path.rkt ../src/ /gn= u/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/lib= /starter ../collects ../etc compiler/cm: start-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/source= /racket/src/start/collects-path.rkt compiler/cm: finish-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/sourc= e/racket/src/start/collects-path.rkt /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/cs/c/gen-system.rkt /gnu/store/cb84= hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/lib/system.rktd= tpb64l tpb64l machine ../src/cs/c/ "" compiler/cm: start-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/source= /racket/src/cs/c/gen-system.rkt compiler/cm: finish-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/sourc= e/racket/src/cs/c/gen-system.rkt cp ../src/cs/c/api.h /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-= cs-8.6/opt/racket-vm/include/racketcs.h cp ../src/cs/c/boot.h /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm= -cs-8.6/opt/racket-vm/include/racketcsboot.h cp cs/c/ChezScheme/tpb64l/boot/tpb64l/scheme.h /gnu/store/cb84hlf8gb0nspc8f= 6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/include/chezscheme.h cd cs/c/repack && ar x ../rktio/librktio.a cd cs/c/repack && ar x ../ChezScheme/tpb64l/boot/tpb64l/libkernel.a ar rc cs/c/libracketcs.a cs/c/repack/expeditor.o cs/c/repack/schsig.o cs/c/= repack/compress-io.o cs/c/repack/rktio_flock.o cs/c/repack/gc-par.o cs/c/re= pack/rktio_shellex.o cs/c/repack/flushcache.o cs/c/repack/new-io.o cs/c/rep= ack/rktio_signal.o cs/c/repack/print.o cs/c/repack/rktio_fd.o cs/c/repack/s= ymbol.o cs/c/repack/rktio_poll_set.o cs/c/repack/schlib.o cs/c/repack/rktio= _fs.o cs/c/repack/scheme.o cs/c/repack/rktio_wide.o cs/c/repack/rktio_main.= o cs/c/repack/rktio_dll.o cs/c/repack/prim.o cs/c/repack/gc-oce.o cs/c/repa= ck/fasl.o cs/c/repack/ffi.o cs/c/repack/segment.o cs/c/repack/rktio_convert= .o cs/c/repack/rktio_error.o cs/c/repack/thread.o cs/c/repack/number.o cs/c= /repack/rktio_process.o cs/c/repack/gc-ocd.o cs/c/repack/gc-011.o cs/c/repa= ck/rktio_sha1.o cs/c/repack/rktio_network.o cs/c/repack/rktio_file.o cs/c/r= epack/random.o cs/c/repack/prim5.o cs/c/repack/io.o cs/c/repack/rktio_syslo= g.o cs/c/repack/rktio_hash.o cs/c/repack/vfasl.o cs/c/repack/rktio_console.= o cs/c/repack/intern.o cs/c/repack/rktio_pipe.o cs/c/repack/rktio_sleep.o c= s/c/repack/gcwrapper.o cs/c/repack/stats.o cs/c/repack/rktio_fs_change.o cs= /c/repack/rktio_envvars.o cs/c/repack/rktio_ltps.o cs/c/repack/statics.o cs= /c/repack/rktio_sha2.o cs/c/repack/foreign.o cs/c/repack/pb.o cs/c/repack/a= lloc.o cs/c/repack/rktio_time.o cs/c/repack/rktio_cpu.o cs/c/boot.o cp cs/c/libracketcs.a /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm= -cs-8.6/opt/racket-vm/lib/libracketcs.a : /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-v= m/lib/libracketcs.a cp cs/c/gracketcs /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-= 8.6/opt/racket-vm/lib/gracket /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/start/collects-path.rkt ../src/ /gn= u/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/bin= /racket ../collects ../etc /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/start/collects-path.rkt ../src/ /gn= u/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/lib= /gracket ../collects ../etc /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/cs/c/add-terminator.rkt cs/c/petite= -v.boot /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/ra= cket-vm/lib/petite.boot compiler/cm: start-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/source= /racket/src/cs/c/add-terminator.rkt compiler/cm: finish-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/sourc= e/racket/src/cs/c/add-terminator.rkt /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/cs/c/add-terminator.rkt cs/c/scheme= -v.boot /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/ra= cket-vm/lib/scheme.boot /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../src/cs/c/add-terminator.rkt cs/c/racket= -v.boot /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/ra= cket-vm/lib/racket.boot /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -O info'@'compiler/cm -l- setup --chain ../src/setup-go.rkt cs/c= /compiled ignored cs/c/ignored.d ../collects/setup/unixstyle-install.rkt ma= ke-install-copytree ../ /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-= vm-cs-8.6/opt/racket-vm/bin /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-rac= ket-vm-cs-8.6/opt/racket-vm/collects /gnu/store/cb84hlf8gb0nspc8f6n7qhihsfl= j7k6x-racket-vm-cs-8.6/opt/racket-vm/share/pkgs /gnu/store/cb84hlf8gb0nspc8= f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/doc /gnu/store/cb84hlf8gb0n= spc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/lib /gnu/store/cb84hlf8= gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/include /gnu/store/= cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/lib /gnu/st= ore/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/share /= gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/e= tc /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-= vm/share/applications /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm= -cs-8.6/opt/racket-vm/man yes compiler/cm: start-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/source= /racket/collects/setup/unixstyle-install.rkt compiler/cm: finish-compile: /tmp/guix-build-racket-vm-cs-8.6.drv-0/sourc= e/racket/collects/setup/unixstyle-install.rkt Copying collects -> /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-c= s-8.6/opt/racket-vm/collects Copying share/pkgs -> /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm= -cs-8.6/opt/racket-vm/share/pkgs missing source path "share/pkgs", skipping... Copying share -> /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8= .6/opt/racket-vm/share missing source path "share", skipping... Copying doc -> /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6= /opt/racket-vm/doc missing source path "doc", skipping... Copying etc -> /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6= /opt/racket-vm/etc /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket -MCR cs/c/compiled: --cross-compiler tpb64l cs/c -X /gnu/store/c= b84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/collects -G = /gnu/store/cb84hlf8gb0nspc8f6n7qhihsflj7k6x-racket-vm-cs-8.6/opt/racket-vm/= etc -N raco -l- setup --no-user /gnu/store/w675i4y454bgcyr69fp672h51p24l1fg-racket-vm-bc-8.6/opt/racket-vm/= bin/racket: bad switch: --cross-compiler Use the --help or -h flag for help. failed in build-one in loop in module->hash make: *** [Makefile:16: install] Error 1 error: in phase 'install': uncaught exception: %exception #<&invoke-error program: "make" arguments: ("install" "ZUO=3D/gn= u/store/i9h1vc67h9148xvn8djk8j3smlkhaf09-zuo-1.0-racket8.6/bin/zuo") exit-s= tatus: 2 term-signal: #f stop-signal: #f>=20 phase `install' failed after 26.8 seconds command "make" "install" "ZUO=3D/gnu/store/i9h1vc67h9148xvn8djk8j3smlkhaf09= -zuo-1.0-racket8.6/bin/zuo" failed with status 2 --8<---------------cut here---------------end--------------->8--- Apparently some part of the racket-vm-cs build system thinks that it's cross-compiling when it's not. I'm still trying to figure out where this =E2=80=9C--cross-compiler=E2=80=9D argument is being added but thought I'd = provide an early report. > (Note that you need at least patch 11/13 for 'racket-minimal' or 'racket'= to > use CS on powerpc64le-linux.) As I mentioned above, I'm testing the guix-issue-57050-v2 tag so I believe I'm covered. My test consists of simply doing =E2=80=9C./pre-inst-env guix build racket=E2=80=9D. --=20 Thanks Thiago From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH] gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket'. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Aug 2022 05:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Thiago Jung Bauermann Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Philip McGrath , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166054250920119 (code B ref 57050); Mon, 15 Aug 2022 05:49:01 +0000 Received: (at 57050) by debbugs.gnu.org; 15 Aug 2022 05:48:29 +0000 Received: from localhost ([127.0.0.1]:40344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNSxh-0005ER-1r for submit@debbugs.gnu.org; Mon, 15 Aug 2022 01:48:29 -0400 Received: from mail-qv1-f48.google.com ([209.85.219.48]:42995) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNSxe-0005E5-Io for 57050@debbugs.gnu.org; Mon, 15 Aug 2022 01:48:27 -0400 Received: by mail-qv1-f48.google.com with SMTP id ct13so4760455qvb.9 for <57050@debbugs.gnu.org>; Sun, 14 Aug 2022 22:48:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Zg5HUArde71ceFtFuzTzfuvLBUHFY5F7VyP51ynF7ik=; b=iyLdfMCwQ7D0TvVrhCstJvhC1LiWef8YTsX3V2cBeQsFsxM9VcGkIPzSBvH+ygmIGt +ov1WQnO9sV3qEjIH2ZaColhc5whlRHBVE4FABLTwl9NK7zQ44cWmEs/cpVGTgBRmR2f usAZA2rI8yK/sOJILnbywFOPos/AEJQJtqE6lUIliY7Hza3v8DsY5/nffJRSDDpvpys4 Vrtq7m0nTF94JibxmXpaakPGwQeuDJinpZZHcwzkhJYgtsnFW9noGXytdp61QrjmwBld fSQdPHS8bbLtfJfswN7h0IB7mGNVBtSeOw0APYs1zRke1hnFwQz+NjLLlg33clezTjQ9 as0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Zg5HUArde71ceFtFuzTzfuvLBUHFY5F7VyP51ynF7ik=; b=11aUg/4l7+zhCELfLIbtR4y+LoT1vzb6JUXxQ2owWPQWocetE7vJklg3dir6Tstgj2 u9XMhKX3wNde6lSYFgXhLFukLXPE4whb2QqsBqh6CmpZX05dEMx2Kbxvuua5IZfkeNWS duVivVLMYj2t8t7PlPzJuzqAiWp0sxhrefsRfqK29Fh6S37nQc5z7MmGB9FRGyu41/4h wJJM/HFTMSbSt8c5/amnykI8RtRZQI38Dmy6SwajdaqmtrPcpFIsG3atO6ds4vMKYQvw 06QirseCBFp23esfv1RYkkV12H8y1DdLmvzP8UqRNk2Cs2dXlXvZS8CWhXQCfq/yUXoZ Krow== X-Gm-Message-State: ACgBeo3FS3dK2eKFUt3kUH9iSxLLkdL7IecdGkLuD1+w4cqM5G5Rq/ys 7QaRPeuexc8ftia0qu/nWhpcNw== X-Google-Smtp-Source: AA6agR4syoKSHN6O87GpAIGUqAZt+4R6ou2Y7dEJsHyN/RodBUd4z6BDU+f7CW2esGHgKsdu7D6JVw== X-Received: by 2002:a05:6214:20aa:b0:47b:5547:bbdd with SMTP id 10-20020a05621420aa00b0047b5547bbddmr12270336qvd.99.1660542500931; Sun, 14 Aug 2022 22:48:20 -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 y9-20020a05620a25c900b006b629f86244sm8160906qko.50.2022.08.14.22.48.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Aug 2022 22:48:20 -0700 (PDT) From: Philip McGrath Date: Mon, 15 Aug 2022 01:47:37 -0400 Message-Id: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <875yiwxc6o.fsf@kolabnow.com> References: <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi Thiago, > Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now > chez-scheme-for-racket-bootstrap-bootfiles builds successfully! > Unfortunately there's still a holdup: the install phase of racket-vm-cs-8.6 > fails: > > [...] > > Apparently some part of the racket-vm-cs build system thinks that it's > cross-compiling when it's not. I'm still trying to figure out where this > “--cross-compiler” argument is being added but thought I'd provide an early > report. > Thanks for trying this! I think I've found what's going wrong in the 'configure' script is going wrong, but I'm not sure yet what's the right way to fix it. In the meantime, I think the patch below on top of the guix-issue-57050-v2 tag should avoid triggering the bad assumption in the 'configure' script: could you give it a try? It's also at https://gitlab.com/philip1/guix-patches as the current tip of the 'zuo' branch, commit 64be5566c119d5b4ab83d5fb44d01aa1ecaed599. -Philip -- >8 -- Date: Mon, 15 Aug 2022 00:35:23 -0400 Subject: gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket'. On systems like powerpc64le-linux that rely on the 'pbarch' backends for Chez Scheme, configuring with '--enable-racket' incorrectly triggers cross-compilation mode: see and . We can avoid the problem by including a bootstrap Racket in 'native-inputs' only for cross-compilation. The fact that this works reveals that we are bootstrapping slightly less that we thought we were. We have to rely on generated code for Racket's macro expander (which includes the reader and module system) because it is not bootstrappable, though it is auditable. However, apparently we are also relying on generated code for the 'io', 'regexp', and 'thread' subsystems, which can be bootstrapped via Racket BC. We should bootstrap them once the 'configure' issue is fixed. * gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Don't use 'racket-vm-bc' for non-cross builds. --- gnu/packages/racket.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index b1de6cf885..4ff36077ef 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -462,14 +462,12 @@ (define-public racket-vm-cs (let ((native-inputs (package-native-inputs racket-vm-cgc))) (modify-inputs (if (%current-target-system) (modify-inputs native-inputs + (prepend racket-vm-cs) (delete "racket-vm-cgc")) native-inputs) (delete "libtool") (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - (if (%current-target-system) - racket-vm-cs - racket-vm-bc))))) + chez-nanopass-bootstrap)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) base-commit: aaa95de8c6cff1ba749a9dd0365dedb822ffa625 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH] gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket'. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Aug 2022 06:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Thiago Jung Bauermann" Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166054396322602 (code B ref 57050); Mon, 15 Aug 2022 06:13:01 +0000 Received: (at 57050) by debbugs.gnu.org; 15 Aug 2022 06:12:43 +0000 Received: from localhost ([127.0.0.1]:40408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNTL9-0005sU-E2 for submit@debbugs.gnu.org; Mon, 15 Aug 2022 02:12:43 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:42893) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNTL7-0005sD-CO for 57050@debbugs.gnu.org; Mon, 15 Aug 2022 02:12:42 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id EE8695C0046; Mon, 15 Aug 2022 02:12:34 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Mon, 15 Aug 2022 02:12:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1660543954; x=1660630354; bh=TUEtT6jEHf VJEOqJodlht4HVTB2dnOA4bvXxjiDWPww=; b=QlmTQeOsUKgW9iVRnT2Nt/chOl sSI3sK3ddaPh07gdtN68vrrewz66cSyOOWv5GVMPoX2HKycsKpt5tnTOh1V8gT50 CnsDp4yqhWSspj4r1HsdWKnOEHU3drRIBbJ7QZsgzYAL7QODVPbfrRb5YyEIRogN SlEZyJ92apeTaU+8/P3sbB6nu6wodVAqJ8ftMxEhDIXETYh6BEzKv/81T3JQ9HVx /p5KNZ8Xh6UW/EDsLfrOT8YLdDbiaFEl6eq1S1i1OFg7nECKerZy2uxZC6u6nOUF 9zKhCxOv9P6qw69aqMWA0X0ra4MB/i4dElwDimhs1cuKM7yqWgR0aXZ/ewkw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660543954; x= 1660630354; bh=TUEtT6jEHfVJEOqJodlht4HVTB2dnOA4bvXxjiDWPww=; b=G AXER8ap4ljg0nZS7caWvE/IcTakjfcXYrrkEVpkBukwixsTp1INx6VTVilU9O8Z1 LrbmmSEljEvugOloqhT/3LTGY13oBy30B754siFppo1OZ3UwM/jT7+fGjEuKDH2P JPskt4BzDHPPWVzG6FUz1333gySe1vXD6rUudZkny93TiFO13zByEJWku/80helx FmeGfjxDIKjQV+knwn7XfQajrUgboh7NXnx9Xl/2GPxynGYhZOe9YOVJ76xtNQ2/ YfZ1OpfRwJvGdfDFQRrbAmDqL2uF3vzZZlg82UvgYsTZRSyZc8HJ4apijeenrd/a FZ87czHSP8jTVoLhR8XCw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdehuddguddtkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepffetleelvdelvdeukeeivddtjefhudeg jeefueetkefggfekleekvdekgfetkedtnecuffhomhgrihhnpehgihhtlhgrsgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehphhhi lhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 6B4BFC6008B; Mon, 15 Aug 2022 02:12:33 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> References: <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> Date: Mon, 15 Aug 2022 02:12:04 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Aug 15, 2022, at 1:47 AM, Philip McGrath wrote: > Hi Thiago, > >> Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now >> chez-scheme-for-racket-bootstrap-bootfiles builds successfully! >> Unfortunately there's still a holdup: the install phase of racket-vm-= cs-8.6 >> fails: >> >> [...] >> >> Apparently some part of the racket-vm-cs build system thinks that it's >> cross-compiling when it's not. I'm still trying to figure out where t= his >> =E2=80=9C--cross-compiler=E2=80=9D argument is being added but though= t I'd provide an early >> report. >> > > Thanks for trying this! I think I've found what's going wrong in the > 'configure' script is going wrong, but I'm not sure yet what's the rig= ht way > to fix it. In the meantime, I think the patch below on top of the > guix-issue-57050-v2 tag should avoid triggering the bad assumption in = the > 'configure' script: could you give it a try? It's also at > https://gitlab.com/philip1/guix-patches as the current tip of the 'zuo' > branch, commit 64be5566c119d5b4ab83d5fb44d01aa1ecaed599. > P.S. If the patch doesn't work, it would be useful if you could save, fr= om the "source/racket/build/cs/c/" directory relative to the build direc= tory reported by `guix build --keep-failed`, you could send the files "M= akefile", "cs_config.h", "config.status", and "config.log", which might = have useful information for debugging. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Aug 2022 19:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Thiago Jung Bauermann Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Philip McGrath , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166059330521135 (code B ref 57050); Mon, 15 Aug 2022 19:56:02 +0000 Received: (at 57050) by debbugs.gnu.org; 15 Aug 2022 19:55:05 +0000 Received: from localhost ([127.0.0.1]:44143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNgAy-0005Uo-Ky for submit@debbugs.gnu.org; Mon, 15 Aug 2022 15:55:05 -0400 Received: from mail-qk1-f180.google.com ([209.85.222.180]:41626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNgAt-0005U5-SP for 57050@debbugs.gnu.org; Mon, 15 Aug 2022 15:55:03 -0400 Received: by mail-qk1-f180.google.com with SMTP id w18so1345560qki.8 for <57050@debbugs.gnu.org>; Mon, 15 Aug 2022 12:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=9nlyOzqFvVfgRqLPlvE52mjVMLb0EaEub3xtso0gH5Y=; b=X5/W3amKBD6DkxMlj0knXTshCcsOAy5ZLGwyCm6WP/xOebLCRpKIjP6ohXWwy3FXkx P0268sKabO/fIekei0wWn5iNkOejS8+BoB7+EzfWWhPnnBnj1Fm3Lh4izhYKZoAVuuhW +xtu7qoNl22NQSs4Mdfho1KcTmuuYMafu+FszwKeazNmtNmQ42GfD4pYrAXAa3VG0n4B UQM+82rt+W2Qxwlx1ct9IMLwUWcXTv1XxctZ9ukZwBwlhjMyP9O+INWx/0ZQ16J3h7hq gRwgBoTGextEAUSIEqNJp+7JPolHNzvKBwwk6y7vnrIq1bgvXOQdkDQq003sACorSqXL hudg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=9nlyOzqFvVfgRqLPlvE52mjVMLb0EaEub3xtso0gH5Y=; b=mpZ4qgAAhNwa5fvJR3Rw1EmAiVUB3ZiFVySt2OgU1XyOv2p2yySMApo1VzmjvNqUrA tF3RmiTgEfdJBVOeQBe8UZFjOEp/q1kISvmndpeDtmXB+4K8qsdOD121VJIKayEyWXlP IPi6goDKRqrXl36JWoYWaUx9PABWXBCL4CvVeYK/FyxXW1dIcP48HCF8+EZ+PMN6FuYX XFfeMuLgYrho50/44tQQC7l2prtYrs6uQiUc8uVkHYew9vKfSPKRs7hzwPE6e0aI5k3y s30rytI8ByaTInW8TNYHcZtPWS99zOSJ2cEI+RlVWMyYJy1p9eY9vVILv3vurkB1DauU YBng== X-Gm-Message-State: ACgBeo3kzebAwynWOD5eP3ML71srvg+2P7y7cFDglEouuwFXOEXoK9Oy fI2rC5eaWk2OBbzn+V8HFeiWfw== X-Google-Smtp-Source: AA6agR4qU1moMAFhypYzbVr9zaBKM/AShdCuLvVQixjafB1OfpSKDvWtgGzRms/+NRr1OeFqJqecIA== X-Received: by 2002:a05:620a:4489:b0:6b6:1c1d:2fc1 with SMTP id x9-20020a05620a448900b006b61c1d2fc1mr12856828qkp.703.1660593294242; Mon, 15 Aug 2022 12:54:54 -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 bp19-20020a05622a1b9300b00342fdc4004fsm8348371qtb.52.2022.08.15.12.54.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Aug 2022 12:54:53 -0700 (PDT) From: Philip McGrath Date: Mon, 15 Aug 2022 15:54:21 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi Thiago, > > Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now > > chez-scheme-for-racket-bootstrap-bootfiles builds successfully! > > > Unfortunately there's still a holdup: the install phase of > > racket-vm-cs-8.6 > fails: > > > > [...] > > > > Apparently some part of the racket-vm-cs build system thinks that it's > > cross-compiling when it's not. I'm still trying to figure out where this > > > “--cross-compiler” argument is being added but thought I'd provide an > > early > report. > > > Thanks for trying this! I think I've found what's going wrong in the > 'configure' script is going wrong, but I'm not sure yet what's the right way > to fix it. > Matthew Flatt fixed our use-case in 'configure' upstream, and I've cherry-picked it for Guix in the patch below. Can you try this instead? I've updated the 'zuo' branch at https://gitlab.com/philip1/guix-patches to point to this (commit ddc94a778b196e9425f0057cbd21404e7ecf6605) and tagged it as guix-issue-57050-v2-rfc2; I also tagged the previous attempt as guix-issue-57050-v2-rfc1. I will send a clean v3 of this series once this and other remaining questions are resolved. I tried bootstrapping the 'regexp', 'io', and 'thread' layers, but it's not so simple as just deleting the generated files in a snippet. I'll look into that further once this series is merged and either send patches or deal with it during the 8.7 update. Thanks! -Philip -- >8 -- From: Philip McGrath Date: Mon, 15 Aug 2022 12:32:57 -0400 Subject: [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Racket's configure script had incorrectly assumed that the combination of '--enable-racket' and '--enable-pb' implied cross-compilation. On systems like powerpc64le-linux which always require '--enable-pb' (since they lack native Chez Scheme backends), this was a particular problem, breaking `make install`: see . This patch cherry-picks an upstream repair for the problem affecting Guix, though other configurations may need further work: see . * gnu/packages/patches/racket-backport-8.6-cross-install.patch: Add additional backport. --- .../racket-backport-8.6-cross-install.patch | 98 ++++++++++++++++++- 1 file changed, 96 insertions(+), 2 deletions(-) diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch index 4f7849ecc6..2c4d8924ed 100644 --- a/gnu/packages/patches/racket-backport-8.6-cross-install.patch +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -1,7 +1,8 @@ -From 585215c5c42f7ee0fee05e6a637ab1bc17f5e8e0 Mon Sep 17 00:00:00 2001 +From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 30 Jul 2022 07:06:55 -0600 -Subject: [PATCH] CS makefiles: fix Unix-style install for cross compilation +Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross + compilation Closes #4377 @@ -30,3 +31,96 @@ index 8d3950bb27..d8b74c509d 100644 -- 2.32.0 + +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Mon, 15 Aug 2022 10:37:01 +0800 +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build + +Don't assume a cross build for a pb target on a platform that's only +supported via pb. + +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) + +(Edited to remove unrelated tweak to comments in +"racket/src/expander/expand/require+provide.rkt".) +--- + racket/src/cs/c/configure | 15 +++++++++++---- + racket/src/cs/c/configure.ac | 15 +++++++++++---- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..7e0fa5600d 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..734c1e8feb 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +-- +2.32.0 + base-commit: aaa95de8c6cff1ba749a9dd0365dedb822ffa625 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 16 Aug 2022 14:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166066128623805 (code B ref 57050); Tue, 16 Aug 2022 14:49:02 +0000 Received: (at 57050) by debbugs.gnu.org; 16 Aug 2022 14:48:06 +0000 Received: from localhost ([127.0.0.1]:48002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNxrR-0006Bq-Fc for submit@debbugs.gnu.org; Tue, 16 Aug 2022 10:48:05 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:52562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNxrN-0006B4-UE for 57050@debbugs.gnu.org; Tue, 16 Aug 2022 10:48:04 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by albert.telenet-ops.be with bizsmtp id 8Eny2800120ykKC06Enyq9; Tue, 16 Aug 2022 16:48:00 +0200 Message-ID: <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> Date: Tue, 16 Aug 2022 16:47:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> From: Maxime Devos In-Reply-To: <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------T6SBa0Nsnm1O38Qyt70mwS6o" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660661280; bh=sf4Fmto2TAJzJeSsbqq7vbOm/Yw3kXYkWCMfkHIsetc=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=NTkKnqP6ZLnQ0bcb+Iedpxs+iEwQaN95Y24VV05v1jBwqwaKn1xueUUsbU66Rh0YT Y1Htqmh512f741eeuToDVXYTienxRg/Ic9Gf9lrto5MMvP3rmhzj9Cpk2eAqZDttwM KI5l9BVpLHhwtpec8c44ger56tYN0SsiDNMQBFHm9YVHaGBLTxOrNs9W8QSU5S16Tg yrMhJ1xgoRAPfEykWZtbiK8J4+RY3fADQ0NUAaKNOuFhzetMW3ZgI8tc5h47AoKKfR ZgVdeqz/57aBInzSsDmzeL20XImHCRfg8WvXJfyZKCfyh+OR70S2kMEbQxih38R/he 8Kiy+lf6gBUDg== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------T6SBa0Nsnm1O38Qyt70mwS6o Content-Type: multipart/mixed; boundary="------------0KCVQ1PB1d48zV1oPZRWx3lM"; protected-headers="v1" From: Maxime Devos To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann Message-ID: <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> Subject: Re: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> In-Reply-To: <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> --------------0KCVQ1PB1d48zV1oPZRWx3lM Content-Type: multipart/mixed; boundary="------------LRcNl5DbBHilduc86pH0AEHd" --------------LRcNl5DbBHilduc86pH0AEHd Content-Type: multipart/alternative; boundary="------------o01K23qUyG1wq1P3bAqagfre" --------------o01K23qUyG1wq1P3bAqagfre Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAxMS0wOC0yMDIyIDE2OjAwLCBQaGlsaXAgTWNHcmF0aCB3cm90ZToNCj4+PiArwqDC oMKgwqDCoMKgwqAgI35gKCwoc3RyaW5nLWFwcGVuZCAiQ1BQRkxBR1M9LURHVUlYX1JLVElP X0JJTl9TSD0iDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAjJChmaWxlLWFwcGVuZCAodGhpcy1wYWNrYWdlLWlucHV0DQo+ Pj4gImJhc2gtbWluaW1hbCIpDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAiL2Jpbi9zaCIpKQ0KPj4gQXMgd2l0aCBjaGV6LXNjaGVtZSwgSSBkbyB0aGluayB1c2lu ZyBhIFJhY2tldC1hZ25vc3RpYyBtYWNybyBuYW1lIGlzDQo+PiBoZWxwZnVsIGhlcmUuDQo+ IEknbSBwbGFubmluZyB0byByZXNwb25kIGluIHRoZSBvdGhlciB0aHJlYWQgYWJvdXQgdGhl IHBvc3NpYmlsaXR5IG9mIGEgdHJ1bHkgZ2VuZXJpYyBtYWNybyBuYW1lLCBidXQgSSBob3Bl IGl0IGRvZXNuJ3QgbmVlZCB0byBiZWNvbWUgYW4gaXNzdWUgYmxvY2tpbmcgdGhpcyBwYXRj aCBzZXJpZXMuIEZvciBub3csIEknbSBub3QgZW50aXJlbHkgc3VyZSB3aGF0ICJSYWNrZXQt YWdub3N0aWMiIG1lYW5zOyB0aGUgYm90dG9tIGxpbmUgZm9yIG15IGlzIEkgdGhpbmsgaXQg d291bGQgYmUgYWJzdXJkbHkgYXdmdWwgdG8gaGF2ZSB0byB3cml0ZSwgZS5nLiBpZiBjcm9z cy1jb21waWxpbmcgdXNpbmcgYGRpc3Ryby1idWlsZGAgd2l0aCB0aGUgdG9wLWxldmVsIE1h a2VmaWxlOg0KPg0KPiAgICAgIC4vY29uZmlndXJlIENQUEZMQUdTPSJHVUlYX1JLVElPX0JJ Tl9TSD0vaW5wdXQvYmluL3NoIEdVSVhfWlVPX0JJTl9TSD0vaW5wdXQvYmluL3NoIEdVSVhf Q0hFWl9CSU5fU0g9L2lucHV0L2Jpbi9zaCIgQ1BQRkxBR1NfRk9SX0JVSUxEPSJHVUlYX1JL VElPX0JJTl9TSD0vbmF0aXZlLWlucHV0L2Jpbi9zaCBHVUlYX1pVT19CSU5fU0g9L25hdGl2 ZS1pbnB1dC9iaW4vc2ggR1VJWF9DSEVaX0JJTl9TSD0vbmF0aXZlLWlucHV0L2Jpbi9zaCIN Cg0KRXhhbXBsZTogR1VJWF9TSD0vaW5wdXRzL2Jpbi9zaC4NCg0KSSBoYXZlbid0IGJlZW4g Zm9sbG93aW5nIHRoZSBkaXNjdXNzaW9uIG9uIHRoZSBvdGhlciBwYXRjaGVzLCBidXQgZGlk bid0IA0KSSBnaXZlIGFuIGV4YW1wbGUgb2Ygc29tZXRoaW5nIGluZGVwZW5kZW50IG9mIHRo ZSBSYWNrZXQgY29tcG9uZW50IGluIA0KdXNlIGFuZCBldmVuIGluZGVwZW5kZW50IG9mIFJh Y2tldCBpdHNlbGY/IFNlZSB0aGUgc3VnZ2VzdGlvbiBvZiB1c2luZyANCnRoZSBhbHJlYWR5 IGV4aXN0aW5nIF9QQVRIX0JTSEVMTCBmcm9tIDxwYXRocy5oPi4gSXQncyBldmVuIG5vdCAN Ckd1aXgtc3BlY2lmaWMsIGFwcGFyZW50bHkgaXQncyBhIEJTRC1pc20hDQoNCkdyZWV0aW5n cywNCg0KTWF4aW1lLg0KDQoNCg== --------------o01K23qUyG1wq1P3bAqagfre Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 11-08-2022 16:00, Philip McGrath wrote:
=
+=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 #~`(,(string-append "CPPFLAGS=3D-DGUIX_RKTIO_BIN_SH=3D=
"
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 #$(file-append (this-package-input
"bash-minimal")
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "/bin/sh"))
As with chez-scheme, I do =
think using a Racket-agnostic macro name is
helpful here.
I'm planning to respond in t=
he other thread about the possibility of a truly generic macro name, but =
I hope it doesn't need to become an issue blocking this patch series. For=
 now, I'm not entirely sure what "Racket-agnostic" means; the bottom line=
 for my is I think it would be absurdly awful to have to write, e.g. if c=
ross-compiling using `distro-build` with the top-level Makefile:

    ./configure CPPFLAGS=3D"GUIX_RKTIO_BIN_SH=3D/input/bin/sh GUIX_ZUO_BI=
N_SH=3D/input/bin/sh GUIX_CHEZ_BIN_SH=3D/input/bin/sh" CPPFLAGS_FOR_BUILD=
=3D"GUIX_RKTIO_BIN_SH=3D/native-input/bin/sh GUIX_ZUO_BIN_SH=3D/native-in=
put/bin/sh GUIX_CHEZ_BIN_SH=3D/native-input/bin/sh"

Example: GUIX_SH=3D/inputs/bin/sh.

I haven't been following the discussion on the other patches, but didn't I give an example of something independent of the Racket component in use and even independent of Racket itself? See the suggestion of using the already existing _PATH_BSHELL from <paths.h>. It's even not Guix-specific, apparently it's a BSD-ism!

Greetings,

Maxime.


--------------o01K23qUyG1wq1P3bAqagfre-- --------------LRcNl5DbBHilduc86pH0AEHd Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------LRcNl5DbBHilduc86pH0AEHd-- --------------0KCVQ1PB1d48zV1oPZRWx3lM-- --------------T6SBa0Nsnm1O38Qyt70mwS6o Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYvuuHQUDAAAAAAAKCRBJ4+4iGRcl7kFJ AP9V0+M+O0mXyGPiVRNJatsdde9k76yo253kYapJzePkSAD6AvFdKsPfl9netcHL8smV3afCsaUf 3CkBrvTCSA2OIQc= =cas+ -----END PGP SIGNATURE----- --------------T6SBa0Nsnm1O38Qyt70mwS6o-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Resent-From: Thiago Jung Bauermann Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 19 Aug 2022 01:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166087154830885 (code B ref 57050); Fri, 19 Aug 2022 01:13:02 +0000 Received: (at 57050) by debbugs.gnu.org; 19 Aug 2022 01:12:28 +0000 Received: from localhost ([127.0.0.1]:56912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOqYk-000822-Vr for submit@debbugs.gnu.org; Thu, 18 Aug 2022 21:12:27 -0400 Received: from mx.kolabnow.com ([212.103.80.155]:23974) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOqYg-00081l-DI for 57050@debbugs.gnu.org; Thu, 18 Aug 2022 21:12:24 -0400 Received: from localhost (unknown [127.0.0.1]) by mx.kolabnow.com (Postfix) with ESMTP id 3169A1142; Fri, 19 Aug 2022 03:12:16 +0200 (CEST) Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-transfer-encoding:content-type:content-type:mime-version :message-id:in-reply-to:date:date:subject:subject:from:from :references:received:received:received; s=dkim20160331; t= 1660871533; x=1662685934; bh=g33Qix8cTiSKQsXKvQK7GOvDcZQ17LHyQwm TVg7eNFc=; b=2zCXIAS2hvi17lOnASvoz5HcELGtFJaNOTtkgonWe9n4EHVEBW7 pumzP/V5FB33hPP2uGzKK1beHDDodHmBGmq6+LLcYWGk0wQi/dIO1tVDLSXFtuKf ccduusneoQLF6QLtoNEfn8X80rJaQAb5Lum2sAAkhYA76LNzLtEjIS0aEz0i96Fn +4IslTVHxFopV2bDT3pyTEmeKw6jDT95Kmnhe2y53n//RnTdwnhB2lG/2Mxyy5Ur 2LH2ggoXqJiXZsLKvkhXkzorsA6wP6nr4CMufgdW5t4xJRAtANf65wEdCJneKUaY HsbIhFG41Kcq8WJ6vv8ama/4IFsLc1y6xae0nVfqJt3laZvwDBoG+SLPkS5AQ36X IH1swNZqlSZh6ElciB9QqiK2E9FKiIZDCp7nmtwfwoTngHQNDbABaQ8R8vst+MIz r4byO0LVwc1nFASpZJ+IS13whR9OaOn9DYlbIrCBIjsxcrUUrWg/qJrQZJZi3t/y E29r/Yqqhu9JlV/cDan/KgwJ/CLG1yBI3zJHgeIyYkuVFBMq/7IcG91JaX3pUMzX mJwMim92PyH25udERRnrjbDBGyf3zKspFhQAkof50dt3ej9M7j19dPfr5IG/tD2V lDgJ4bqrU+rNYxJktdMbCWDtrdrMP64CCGuUqWitzuLG6uACo1eYF85k= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-10 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KkTW9Zduc9Df; Fri, 19 Aug 2022 03:12:13 +0200 (CEST) Received: from int-mx002.mykolab.com (unknown [10.9.13.2]) by mx.kolabnow.com (Postfix) with ESMTPS id E86DCA16; Fri, 19 Aug 2022 03:12:12 +0200 (CEST) Received: from ext-subm001.mykolab.com (unknown [10.9.6.1]) by int-mx002.mykolab.com (Postfix) with ESMTPS id 7476B3828; Fri, 19 Aug 2022 03:12:12 +0200 (CEST) References: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> From: Thiago Jung Bauermann Date: Thu, 18 Aug 2022 21:51:31 -0300 In-reply-to: Message-ID: <875yipqboa.fsf@kolabnow.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Philip, Philip McGrath writes: > Hi Thiago, > >> > Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now >> > chez-scheme-for-racket-bootstrap-bootfiles builds successfully! > >> > Unfortunately there's still a holdup: the install phase of >> > racket-vm-cs-8.6 > fails: >> > >> > [...] >> > >> > Apparently some part of the racket-vm-cs build system thinks that it's >> > cross-compiling when it's not. I'm still trying to figure out where th= is > >> > =E2=80=9C--cross-compiler=E2=80=9D argument is being added but thought= I'd provide an >> > early > report. > >> >> Thanks for trying this! I think I've found what's going wrong in the >> 'configure' script is going wrong, but I'm not sure yet what's the right= way >> to fix it. >> > > Matthew Flatt fixed our use-case in 'configure' upstream, and I've > cherry-picked it for Guix in the patch below. Can you try this instead? Great! > I've updated the 'zuo' branch at https://gitlab.com/philip1/guix-patches = to > point to this (commit ddc94a778b196e9425f0057cbd21404e7ecf6605) and tagge= d it > as guix-issue-57050-v2-rfc2; I also tagged the previous attempt as > guix-issue-57050-v2-rfc1. I tried it but ran into two problems: 1. For some reason I didn't understand, the problem I first reported about rktboot/main.rkt failing during the build of chez-scheme-for-racket-bootstrap-bootfiles came back. I had to increase STACK_SAFETY_MARGIN again. I simply increased it 10x to make sure it would work. If you want I can experiment with different values to find an appropriate one. 2. I could be wrong, but I don't think Guix supports having more than one patch per file. After I moved the new patch to its own file, the racket packet was built! > I will send a clean v3 of this series once this and other remaining quest= ions > are resolved. Nice. Below are the changes are made on top of guix-issue-57050-v2-rfc2. --=20 Thanks Thiago Fix cross-install patches and increase STACK_SAFETY_MARGIN. Also, add the patches to gnu/local.mk. --- gnu/local.mk | 2 + .../racket-backport-8.6-cross-install-2.patch | 92 ++++++++++++++++++ .../racket-backport-8.6-cross-install.patch | 93 ------------------- gnu/packages/racket.scm | 3 +- 4 files changed, 96 insertions(+), 94 deletions(-) create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install-= 2.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4a873803506a..412968ef3066 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1774,6 +1774,8 @@ dist_patch_DATA =3D \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-backport-8.6-cross-install.patch \ + %D%/packages/patches/racket-backport-8.6-cross-install-2.patch \ %D%/packages/patches/racket-backport-8.6-zuo.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install-2.patch= b/gnu/packages/patches/racket-backport-8.6-cross-install-2.patch new file mode 100644 index 000000000000..f3317e39b10c --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-cross-install-2.patch @@ -0,0 +1,92 @@ +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Mon, 15 Aug 2022 10:37:01 +0800 +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb bui= ld + +Don't assume a cross build for a pb target on a platform that's only +supported via pb. + +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) + +(Edited to remove unrelated tweak to comments in +"racket/src/expander/expand/require+provide.rkt".) +--- + racket/src/cs/c/configure | 15 +++++++++++---- + racket/src/cs/c/configure.ac | 15 +++++++++++---- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..7e0fa5600d 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in + ;; + esac +=20 ++if test "${MACH}" =3D "" ; then ++ default_mach_was_empty=3Dyes ++else ++ default_mach_was_empty=3Dno ++fi +=20 + if test "${enable_mach}" !=3D "" ; then + MACH=3D"${enable_mach}" +@@ -4701,13 +4706,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; th= en + exit 1 + fi +=20 +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" =3D "yes" ; then + if test "${enable_racket}" !=3D "" ; then + if test "${enable_target}" =3D "" ; then +- enable_target=3D"${MACH}" ++ if test "${default_mach_was_empty}" =3D "no" ; then ++ enable_target=3D"${MACH}" ++ fi + fi + fi + fi +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..734c1e8feb 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in + ;; + esac +=20 ++if test "${MACH}" =3D "" ; then ++ default_mach_was_empty=3Dyes ++else ++ default_mach_was_empty=3Dno ++fi +=20 + if test "${enable_mach}" !=3D "" ; then + MACH=3D"${enable_mach}" +@@ -437,13 +442,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; then + exit 1 + fi +=20 +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" =3D "yes" ; then + if test "${enable_racket}" !=3D "" ; then + if test "${enable_target}" =3D "" ; then +- enable_target=3D"${MACH}" ++ if test "${default_mach_was_empty}" =3D "no" ; then ++ enable_target=3D"${MACH}" ++ fi + fi + fi + fi +--=20 +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b= /gnu/packages/patches/racket-backport-8.6-cross-install.patch index 2c4d8924ed5b..81cd4d2b225f 100644 --- a/gnu/packages/patches/racket-backport-8.6-cross-install.patch +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -31,96 +31,3 @@ index 8d3950bb27..d8b74c509d 100644 --=20 2.32.0 =20 - -From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 -From: Matthew Flatt -Date: Mon, 15 Aug 2022 10:37:01 +0800 -Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb bui= ld - -Don't assume a cross build for a pb target on a platform that's only -supported via pb. - -(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) - -(Edited to remove unrelated tweak to comments in -"racket/src/expander/expand/require+provide.rkt".) ---- - racket/src/cs/c/configure | 15 +++++++++++---- - racket/src/cs/c/configure.ac | 15 +++++++++++---- - 2 files changed, 22 insertions(+), 8 deletions(-) - -diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure -index 454d79e11a..7e0fa5600d 100755 ---- a/racket/src/cs/c/configure -+++ b/racket/src/cs/c/configure -@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in - ;; - esac -=20 -+if test "${MACH}" =3D "" ; then -+ default_mach_was_empty=3Dyes -+else -+ default_mach_was_empty=3Dno -+fi -=20 - if test "${enable_mach}" !=3D "" ; then - MACH=3D"${enable_mach}" -@@ -4701,13 +4706,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; th= en - exit 1 - fi -=20 --# For a pb build where Racket is supplied, force cross-build --# mode on the assumption that the host is not a pb build --# (because it should be created with default configure options) -+# For a pb build where Racket is supplied and MACH was not originally -+# empty, force cross-build mode on the assumption that the host is not -+# a pb build (because it should be created with default configure options) - if test "${enable_pb}" =3D "yes" ; then - if test "${enable_racket}" !=3D "" ; then - if test "${enable_target}" =3D "" ; then -- enable_target=3D"${MACH}" -+ if test "${default_mach_was_empty}" =3D "no" ; then -+ enable_target=3D"${MACH}" -+ fi - fi - fi - fi -diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac -index 5bce979c92..734c1e8feb 100644 ---- a/racket/src/cs/c/configure.ac -+++ b/racket/src/cs/c/configure.ac -@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in - ;; - esac -=20 -+if test "${MACH}" =3D "" ; then -+ default_mach_was_empty=3Dyes -+else -+ default_mach_was_empty=3Dno -+fi -=20 - if test "${enable_mach}" !=3D "" ; then - MACH=3D"${enable_mach}" -@@ -437,13 +442,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; then - exit 1 - fi -=20 --# For a pb build where Racket is supplied, force cross-build --# mode on the assumption that the host is not a pb build --# (because it should be created with default configure options) -+# For a pb build where Racket is supplied and MACH was not originally -+# empty, force cross-build mode on the assumption that the host is not -+# a pb build (because it should be created with default configure options) - if test "${enable_pb}" =3D "yes" ; then - if test "${enable_racket}" !=3D "" ; then - if test "${enable_target}" =3D "" ; then -- enable_target=3D"${MACH}" -+ if test "${default_mach_was_empty}" =3D "no" ; then -+ enable_target=3D"${MACH}" -+ fi - fi - fi - fi ---=20 -2.32.0 - diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index b1de6cf88519..a38aeb08b503 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -206,6 +206,7 @@ (define %racket-origin (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) (file-name (git-file-name "racket" %racket-version)) (patches (search-patches "racket-backport-8.6-cross-install.patch" + "racket-backport-8.6-cross-install-2.patch" "racket-backport-8.6-docindex-write.patch" "racket-backport-8.6-hurd.patch" "racket-backport-8.6-zuo.patch" @@ -429,7 +430,7 @@ (define-public racket-vm-bc (lambda (flag) (if (string-prefix? "CPPFLAGS=3D" flag) (string-append flag - " -DSTACK_SAFETY_MARGIN=3D2000= 00") + " -DSTACK_SAFETY_MARGIN=3D2000= 000") flag)) #$(racket-vm-common-configure-flags))) (else From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 19 Aug 2022 10:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Thiago Jung Bauermann , Philip McGrath Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166090384528833 (code B ref 57050); Fri, 19 Aug 2022 10:11:02 +0000 Received: (at 57050) by debbugs.gnu.org; 19 Aug 2022 10:10:45 +0000 Received: from localhost ([127.0.0.1]:57420 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOyxg-0007Uy-8G for submit@debbugs.gnu.org; Fri, 19 Aug 2022 06:10:45 -0400 Received: from michel.telenet-ops.be ([195.130.137.88]:47898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOyxS-0007Ub-Tw for 57050@debbugs.gnu.org; Fri, 19 Aug 2022 06:10:42 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by michel.telenet-ops.be with bizsmtp id 9NAT2800n20ykKC06NAU6u; Fri, 19 Aug 2022 12:10:28 +0200 Message-ID: <7170febc-2af8-5087-5767-b2ef01717038@telenet.be> Date: Fri, 19 Aug 2022 12:10:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> From: Maxime Devos In-Reply-To: <875yipqboa.fsf@kolabnow.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------uYJgZFrx6I2LtsNQr3Ahy7eP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660903829; bh=Tjvw/JPlx90pjhDrdezlRBC2kmLAODEtODBy6gqBHno=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=F3MoNFRWBTzsWbsZj1p4GpZLXeUX899HRN5FNhQ1gxM+4Xna7sZjPx8Q675oNwse5 KPwgz5BJSv5i8RkOMBP66MH42omnFWSSloq2afm+ttElfCpj3bzVdb/zPh9cY/yWh/ k/zhBgiyUSCB4t6nccgzXqPXzcEfHwIuS28/wmaysv1lbIzpbhg9VQ28dkHK7nji+D qVrdS2FShtlEBQT/CWVh/FWZahHBRmYcZKajMg4xzM2clRssY2uqQnQzD8rCJQrhsa dFPUS3mxwLQlHGTOL86EedA8FL62FN6OfVBFel/6okQYjxwJGUuhaRA6qZIvHWJ/xp 56DF4U0sH3lCw== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------uYJgZFrx6I2LtsNQr3Ahy7eP Content-Type: multipart/mixed; boundary="------------JxF0dPYC0xuPk5mgM9hWabMf"; protected-headers="v1" From: Maxime Devos To: Thiago Jung Bauermann , Philip McGrath Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler Message-ID: <7170febc-2af8-5087-5767-b2ef01717038@telenet.be> Subject: Re: [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. References: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> In-Reply-To: <875yipqboa.fsf@kolabnow.com> --------------JxF0dPYC0xuPk5mgM9hWabMf Content-Type: multipart/mixed; boundary="------------xkCTIetvo8zTpKpTSQ01aQsn" --------------xkCTIetvo8zTpKpTSQ01aQsn Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAxOS0wOC0yMDIyIDAyOjUxLCBUaGlhZ28gSnVuZyBCYXVlcm1hbm4gdmlhIEd1aXgt cGF0Y2hlcyB2aWEgd3JvdGU6DQo+IDIuIEkgY291bGQgYmUgd3JvbmcsIGJ1dCBJIGRvbid0 IHRoaW5rIEd1aXggc3VwcG9ydHMgaGF2aW5nIG1vcmUgdGhhbg0KPiBvbmUgcGF0Y2ggcGVy IGZpbGUuIEFmdGVyIEkgbW92ZWQgdGhlIG5ldyBwYXRjaCB0byBpdHMgb3duIGZpbGUsIHRo ZQ0KPiByYWNrZXQgcGFja2V0IHdhcyBidWlsdCENCg0KSSBkb24ndCBrbm93IHdoYXQgaGFw cGVuZWQgdGhlcmUsIGJ1dCBtdWx0aXBsZSBwYXRjaGVzIGluIGEgc2luZ2xlIGZpbGUgDQph cHBlYXJzIHRvIHdvcmsgZm9yIGF0IGxlYXN0IHJ1c3QtbWV2YWwgYW5kIA0KJ3J1c3QtbWV2 YWwtdXBkYXRlLWRlcGVuZGVuY2llcy5wYXRjaCcgaW4gdGhlIGFudGlveGlkYW50IGNoYW5u ZWwuDQoNCkdyZWV0aW5ncywNCk1heGltZS4NCg0K --------------xkCTIetvo8zTpKpTSQ01aQsn Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------xkCTIetvo8zTpKpTSQ01aQsn-- --------------JxF0dPYC0xuPk5mgM9hWabMf-- --------------uYJgZFrx6I2LtsNQr3Ahy7eP Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYv9hkwUDAAAAAAAKCRBJ4+4iGRcl7tQi AP98T3OSiQODybbvzGxz2VJWTkspBpXOssgeknchrKmr1QEAltfBaOiV/iXER8S2BBEB2WBtWoCJ sxu/t50MVQqG7w8= =HU9v -----END PGP SIGNATURE----- --------------uYJgZFrx6I2LtsNQr3Ahy7eP-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 Aug 2022 08:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166115789715682 (code B ref 57050); Mon, 22 Aug 2022 08:45:02 +0000 Received: (at 57050) by debbugs.gnu.org; 22 Aug 2022 08:44:57 +0000 Received: from localhost ([127.0.0.1]:37740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQ33I-00044s-SW for submit@debbugs.gnu.org; Mon, 22 Aug 2022 04:44:57 -0400 Received: from flashner.co.il ([178.62.234.194]:45120) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQ33H-00044e-Bz for 57050@debbugs.gnu.org; Mon, 22 Aug 2022 04:44:55 -0400 Received: from localhost (unknown [31.210.177.64]) by flashner.co.il (Postfix) with ESMTPSA id EED1F4024A; Mon, 22 Aug 2022 08:44:48 +0000 (UTC) Date: Mon, 22 Aug 2022 11:41:17 +0300 From: Efraim Flashner Message-ID: Mail-Followup-To: Efraim Flashner , Philip McGrath , 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler , Thiago Jung Bauermann References: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="0/oo6CT6J5XdNBQq" Content-Disposition: inline In-Reply-To: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0/oo6CT6J5XdNBQq Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 11, 2022 at 07:08:15AM -0400, Philip McGrath wrote: > Also, update 'chez-scheme-for-racket' to 9.5.9.2. > -(define %racket-version "8.5") ; Remember to update chez-scheme-for-rack= et! > +(define %racket-version "8.6") ; Remember to update chez-scheme-for-rack= et! > (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c > (define %racket-commit > (string-append "v" %racket-version)) > @@ -211,10 +215,15 @@ (define %racket-origin > (url "https://github.com/racket/racket") > (commit %racket-commit))) > (sha256 > - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) > + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) > (file-name (git-file-name "racket" %racket-version)) I got a different hash just now, and the tag on GitHub says it's from 6 days ago. It looks like the tagged commit might've changed in the past week or two. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --0/oo6CT6J5XdNBQq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmMDQSoACgkQQarn3Mo9 g1FGyw//RpvaaLJFZ9gaVVazxt0h5+qOkH2OVj2tEIuqjTTax1YgCAK/0ZDWYmfG yDwSkPLTkuumdKbmB7mebvdzOZohJ7UNStnIgreY3UvoUs+yL4WSgr7PV8b8BB2H 9u/KqdOc8duzaaFqIsGUg9bjfB0Ouyu0k9AgpmxSdEle3yV6bX5xH0o4GdXtHwTF zM1H8yZJ+5yKrbh7ZpU3ViSR+P95AdVI5LSxHEqIL+QjwXDrYlWiDROUF6tpye38 v1sGQPq+yL2jLSniV8K8gDNOKy1U3MP035sVzIaHBu01wVQWn6uPhWcfd55xkGOR LsgiGHVDc+yAULmGCbPmxH5cY2xH9YkwknIT2Gxd/pslKJIVS1UQlm7RMlOkh0iM G/MLiIKbY/SVvsp9FjpMNcDVSiuHqoa9F1PiHGSjjh0hT3Zqic8I5XXrG0XW+7lw Sxz50zKmajuzZuMvie0T0bdmvdr/PbrtR97qw/qATxCmy/2bK70aRTXsBAhE34cW ng9b95J26EBO63wtpwb0O1Thx6Ztv6to8+nmUU6zQU6X/tkd2EzzQ1v+y64dxMOM r5mJI0b/KDQmbTUrxoMzkD4AmN6jSEMcs3EyI4xmW+tMKtgxIgcUAknkWDZ+hKjR ZoyV0gZPEZhEyaoNxLiRhjqNlV88yIfOqgcGxdnDE752Jro2g38= =IfsU -----END PGP SIGNATURE----- --0/oo6CT6J5XdNBQq-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 Aug 2022 18:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Efraim Flashner" Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Liliana Marie Prikler , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166119462512192 (code B ref 57050); Mon, 22 Aug 2022 18:58:02 +0000 Received: (at 57050) by debbugs.gnu.org; 22 Aug 2022 18:57:05 +0000 Received: from localhost ([127.0.0.1]:41754 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQCbg-0003AY-M2 for submit@debbugs.gnu.org; Mon, 22 Aug 2022 14:57:04 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:44261) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQCbd-00039x-Rw for 57050@debbugs.gnu.org; Mon, 22 Aug 2022 14:57:03 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id CDD9F5C00BF; Mon, 22 Aug 2022 14:56:55 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Mon, 22 Aug 2022 14:56:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661194615; x= 1661281015; bh=ITudc1JkG6VoR463SzaFL6GFvrtKNWS+K8zTP4u6m5Y=; b=T h+z6Lv3ESCE2S56E2NRFdJe2KET2RLchmdxbFfU1ScpYDfXN4ii/sZuhwwOnH+UM PTHWtWlubuWQovenO3b9cUJ07w9w64wURihJ9VnV2DCzOPOjle75NZIG3nXqVrHR TNJ/m5soELDY1bpjU3UAo7SwekwXW5i5U6L5AXMDfq9f+KCugvI8p1dCvQBlqw+l jCdOLZzygUQEm+dXZyXS3rLaCoCSUaiRdYxH2Fan/3k8hZqBL1OPP3I0MKSTrYbv iIAyqRkluhM9VqF3vJxICOZiF5+zisyxFdhNL8QqVr6TAJ+Z2ytnphqE4KkD9u7t On2rtVT+pg59Dl8oqBNHw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661194615; x=1661281015; bh=ITudc1JkG6VoR463SzaFL6GFvrtK NWS+K8zTP4u6m5Y=; b=ZHhb77p25XXLFbBrKJbFmDAMNXDWN5KGDhCFuxvl/TKq 9TPXzZDZmsHjTa+uqyyJkzUew8X1zfY3UjnJgutF2jo9pQ5uV1tJ757lTHXmYFHH DW0JA3KvGBvLtisd207I6NQ/Von3nMWLhk3r6Cf+lM7eYUaKM5mg5Cty/HOdJTzZ lprHhjOLmY/0KrhnKGQZAK5xjzE1ZqSIsqDGGcAq1hbq525P6PijwQvdOoQvp00g VKazr6hfOCRcUtdJtW44bYcaPhDtAp2SxR8X9JxQYoBMEIiEMzeC8uAj9uuTIDcF a6vIUeUSRKpUKvno9I6jr2EyqMI9fLLA5ffwaAYylg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgudefvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeffgfeileelkeejfefhuefgkeehleejffeg veffhfdttdevkedtueejheehveduueenucffohhmrghinhepghhithhhuhgsrdgtohhmne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphhhihhl ihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 111C7C6008B; Mon, 22 Aug 2022 14:56:55 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: References: <5e784e0d35bf5b342bd7df77c4fa137deb942e47.1660215295.git.philip@philipmcgrath.com> Date: Mon, 22 Aug 2022 14:56:34 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Aug 22, 2022, at 4:41 AM, Efraim Flashner wrote: > On Thu, Aug 11, 2022 at 07:08:15AM -0400, Philip McGrath wrote: >> Also, update 'chez-scheme-for-racket' to 9.5.9.2. > >> -(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! >> +(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! >> (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c >> (define %racket-commit >> (string-append "v" %racket-version)) >> @@ -211,10 +215,15 @@ (define %racket-origin >> (url "https://github.com/racket/racket") >> (commit %racket-commit))) >> (sha256 >> - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) >> + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) >> (file-name (git-file-name "racket" %racket-version)) > > I got a different hash just now, and the tag on GitHub says it's from > 6 days ago. It looks like the tagged commit might've changed in the past > week or two. > Thanks for the report. Yes, the tag apparently changed to point to 3c5e37774fa7acd04fb648187e080a3c62a0d4ea instead of 90d2dac7976b6ac0369c267f0adec3f37bd98460. (The change doesn't affect the Guix packages at all.) I've reminded upstream about the problems this causes---it is definitely not Racket's normal practice!---and I'll send a v3 of this series soon. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 23 Aug 2022 01:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Maxime Devos" , "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166121885919714 (code B ref 57050); Tue, 23 Aug 2022 01:41:02 +0000 Received: (at 57050) by debbugs.gnu.org; 23 Aug 2022 01:40:59 +0000 Received: from localhost ([127.0.0.1]:42130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQIuY-00057u-G7 for submit@debbugs.gnu.org; Mon, 22 Aug 2022 21:40:59 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:59743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQIuV-00057b-Vn for 57050@debbugs.gnu.org; Mon, 22 Aug 2022 21:40:56 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 9863D5C00C2; Mon, 22 Aug 2022 21:40:50 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Mon, 22 Aug 2022 21:40:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661218850; x= 1661305250; bh=dXJvDFfjfP/wadm9kbaKpsnP6HPNu9QPUAf7xBiMjjM=; b=E I94zY4sNePLjmOvwWylDngciKGYUhDlJbZWBuQGGcMJsYKM74EOt2BH6OaaiY+aO +H+nYLpy5ZHVN7k2ohF/w2/KOVLRZn6S1XIC+F3kJ6UAAp5wi61+qyGbdFN3dFoW ihY5o3GqS8OpDjZPi1TFvHvSQr5jxhDfgWz05074u+VlLRYOrJijAMf+vuJMmjaC TGQzSFiF4dKSw281nBalhjceg9L6gZk6IfpJi2ORD3rMc+sOKX0O+BnOMtS8oWwX 2AXuSxWuxQe5cpR//ha7jmok0jJbGUZNL9odf8z5zG2uKIPMsRdakgbAsD23waqH JvbZyBCx+vGc47huTHwcg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661218850; x=1661305250; bh=dXJvDFfjfP/wadm9kbaKpsnP6HPN u9QPUAf7xBiMjjM=; b=EXiNuDO+yZh14EKrLrDHo5opXLAsSxf/fsRQ1goNgQgQ FAiOzYHLiLeRUGJ2G+Tr7rx2+YArLw/b4YG6ijztKt1LZd5fdh9mrFtqdQUAEK4m TGk+xVWEwOGFvwbCMBInm4cTIL3llDBtBXnfCS3lvEdaYqtnUxsBhpCdxtrvRimI xRtst3swQNCpXYgoOqO2Y0/nDnlC0/KqbhQStUAH7vyTuqqeyzEyFlEZne1ffOE5 LgVkPCvA18P7PO+7uxmhH6aB7azab+oKA06PCQvkBLnogvHeJYUgiDvngq99/pXi Rckhw7ayjqS72AJ57INC6w+JfQREAFrIAXuuXx6HhQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeikedggeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepfeehhfdvffdvkefhjedvheeuffdtieejtefg jedtieehteffjeetteejjedthfetnecuffhomhgrihhnpegtphhprhgvfhgvrhgvnhgtvg drtghomhdpohhpvghnghhrohhuphdrohhrghdpghhnuhdrohhrghenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhlih hpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9AA6CC6008B; Mon, 22 Aug 2022 21:40:49 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> Date: Mon, 22 Aug 2022 21:40:29 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Tue, Aug 16, 2022, at 10:47 AM, Maxime Devos wrote: > On 11-08-2022 16:00, Philip McGrath wrote: >>>> + #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH=" >>>> + #$(file-append (this-package-input >>>> "bash-minimal") >>>> + "/bin/sh")) >>>> >>> As with chez-scheme, I do think using a Racket-agnostic macro name is >>> helpful here. >>> >> I'm planning to respond in the other thread about the possibility of a truly generic macro name, but I hope it doesn't need to become an issue blocking this patch series. For now, I'm not entirely sure what "Racket-agnostic" means; the bottom line for my is I think it would be absurdly awful to have to write, e.g. if cross-compiling using `distro-build` with the top-level Makefile: >> >> ./configure CPPFLAGS="GUIX_RKTIO_BIN_SH=/input/bin/sh GUIX_ZUO_BIN_SH=/input/bin/sh GUIX_CHEZ_BIN_SH=/input/bin/sh" CPPFLAGS_FOR_BUILD="GUIX_RKTIO_BIN_SH=/native-input/bin/sh GUIX_ZUO_BIN_SH=/native-input/bin/sh GUIX_CHEZ_BIN_SH=/native-input/bin/sh" > > Example: GUIX_SH=/inputs/bin/sh. > I will use GUIX_SH in v3 of this series. My concern with it originally was that it's generic enough that it might be used in other ways elsewhere in Guix, but, since I'm hoping it's only going to be a medium-term solution, it seems good enough, and I haven't heard any objections to it. > I haven't been following the discussion on the other patches, but didn't I give an example of something independent of the Racket component in use and even independent of Racket itself? See the suggestion of using the already existing _PATH_BSHELL from . It's even not Guix-specific, apparently it's a BSD-ism! > On Wed, Aug 10, 2022, at 7:46 AM, Maxime Devos wrote: > On 09-08-2022 23:58, Philip McGrath wrote: > >> On Tuesday, August 9, 2022 5:38:56 PM EDT ( wrote: >>> On Tue Aug 9, 2022 at 10:24 PM BST, Maxime Devos wrote: >>>> In the glibc headers, there's some (POSIX?) standard macro that points >>>> at "/gnu/store/.../bin/sh" (I don't recall the name), any reason we >>>> aren't using that macro? That would be Guix-independent. I'm not sure >>>> if a /gnu/store/... prefix is included, but if not, maybe we could try >>>> overriding it with -D...="/gnu/store/...", or failing that, add a >>>> post-unpack substitute* replacing [the macro name] -> >>>> "/gnu/store/.../bin/sh". >>> I believe you might be referring to , which defines _PATH_BSHELL. >>> >>> It's not standard C nor POSIX >>> though. >>> >>> -- ( > > Looking at the "paths.h" header, it appears to be a BSDism. Not really > standard but still better than a Guix-ism. > >> I'd love to be wrong, but I also can't find such a macro. In the glibc source >> tree, "stdlib/system.c" defines a stub implementation that always fails with >> ENOSYS, and "sysdeps/posix/system.c" contains: >> >> #define SHELL_PATH "/bin/sh" /* Path of the shell. */ >> #define SHELL_NAME "sh" /* Name to give it. */ >> >> Concretely, I think Guix's glibc currently uses /bin/sh dynamically: in my >> Chez example above, if you replace `process` with `system` (which uses libc's >> `system`), the result is always "/bin/sh\n". > > If so, that's a bug. I do not know what result you are referring to. (Disregard this part; I think I was thinking about some other way I had tried things.) > > Anyway, the Guix package definition of glibc substitutes _PATH_BSHELL > and SHELL_PATH, so unless there's a bug, it doesn't depend on /bin/sh. > I have been looking further into options for addressing this upstream. First of all, I have found that there *is* another Unix-like system where "/bin/sh" doesn't exist: on Android, the POSIX shell is usually at "/system/bin/sh". Also, at least on some versions, _PATH_BSHELL isn't a compile-time constant. It is: #define _PATH_BSHELL __bionic_get_shell_path() (There are also systems where "/bin/sh" is some non-POSIX shell and the POSIX shell is at "/usr/xpg4/bin/sh". If changing this upstream, Racket may need to decide whether POSIX compatibility or historical compatibility is more important there.) I've found that there does seem to be a POSIX recommendation for finding "sh". The POSIX spec for `system` says, under "Application Usage", "There is no defined way for an application to find the specific path for the shell. However, confstr() can provide a value for PATH that is guaranteed to find the sh utility." Similarly, says that "applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH, ensuring that the returned pathname is an absolute pathname and not a shell built-in." Most emphatically, says in the normative "Description": > > If the implementation supports the POSIX shell option, the string stored in buf after a call to: > > confstr(_CS_PATH, buf, sizeof(buf)) > > can be used as a value of the PATH environment variable that accesses all of the standard utilities of POSIX.1-2017, that are provided in a manner accessible via the exec family of functions, if the return value is less than or equal to sizeof(buf). > However, apparently using `confstr` with `_CS_PATH` does not give a useful result in Guix build environments. Try building the following package with `guix build -f`: I've put the interesting log output in the description. In particular, note that *both* bash-minimal and bash-static are present! --8<---------------cut here---------------start------------->8--- (use-modules (guix build-system gnu) (guix gexp) ((guix licenses) #:prefix license:) (guix packages)) (define src (plain-file "demo.c" "#include #include #include #include int main(int argc, char *argv[]) { puts(_PATH_BSHELL); size_t buf_len = confstr(_CS_PATH, NULL, 0); char* buf = malloc(buf_len); if (NULL == buf) { return 1; }; confstr(_CS_PATH, buf, buf_len); puts(buf); fflush(stdout); int status = system(\"echo $BASH\"); fflush(stdout); printf(\"status: %i\\n\", status); return 0; } ")) (package (name "libc-system-demo") (version "0") (source src) (build-system gnu-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (delete 'configure) (replace 'build (lambda args (invoke "gcc" "-o" "demo" #$src))) (replace 'check (lambda args (invoke "./demo"))) (replace 'install (lambda args (install-file "demo" (string-append #$output "/bin"))))))) (home-page "https://issues.guix.gnu.org/57050") (synopsis "Some 'sh'-related values from glibc") (description "starting phase `check' /gnu/store/720rj90bch716isd8z7lcwrnvz28ap4y-bash-static-5.1.8/bin/sh /bin:/usr/bin /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh status: 0 phase `check' succeeded after 0.0 seconds") (license license:cc0)) --8<---------------cut here---------------end--------------->8--- AFAICT, Glibc's `confstr` implementation for `_CS_PATH` doesn't have any mechanism for configuring the search path; it simply uses the compile-time version, `CS_PATH`, which is: #define CS_PATH "/bin:/usr/bin" More generally, it seems questionable for our glibc to retain a store reference to Bash (let alone two). Wouldn't that prevent creating containers or packs without a shell present? After I've sent a v3 of this series, I plan to raise these questions on the guix-devel list. Then, once I have a sense of whether Guix would like to support `confstr` with `_CS_PATH` as a way of finding the shell, I'll propose some changes to Racket upstream. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 23 Aug 2022 09:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16612458687735 (code B ref 57050); Tue, 23 Aug 2022 09:12:02 +0000 Received: (at 57050) by debbugs.gnu.org; 23 Aug 2022 09:11:08 +0000 Received: from localhost ([127.0.0.1]:42563 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQPwB-00020h-Rt for submit@debbugs.gnu.org; Tue, 23 Aug 2022 05:11:08 -0400 Received: from michel.telenet-ops.be ([195.130.137.88]:44614) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQPw8-00020W-Pd for 57050@debbugs.gnu.org; Tue, 23 Aug 2022 05:11:06 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by michel.telenet-ops.be with bizsmtp id AxAz2800S20ykKC06xB0Ho; Tue, 23 Aug 2022 11:11:03 +0200 Message-ID: <1292f8b6-8a95-0e1f-6a41-2122a3164bbe@telenet.be> Date: Tue, 23 Aug 2022 11:11:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> From: Maxime Devos In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------KrLwRMGbJdw5iBOZYrOr3BYL" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1661245863; bh=xizUwilqgdICOgeVf/fKOH7Y+sGiuA92bmDcDSL7Bss=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=AMY7gIxQQWPXBQ7jNP03FNOxiiKBZ6xzHTcMo5xlSvBiQou7K+d1M33mbgWDzH7r4 /UrJZ25GaUFnucJhyngC5ww4PumJF/aKbIddpKRUjnsF+s7YrMZr2rrohiQyQvCpeN vYxFgRmWK3M9HkHjwa9vQdE4uPqDrHr/128yqYaz6SRDUHcBq1J+uPRb1Qb1efX1eB IKRzKUqmpY8WcyiRUSy2R0ECbhdkMy0n58b+geEuSmE21OJTstmrLZMaLxgP7DGT9b jpJCRVm6dcdDscUu3zy6hGJWt6rlUoAOlJsmOFWMhz4uPGvpZ3RxoXojfFdSDin1es joV+YoujdPphg== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------KrLwRMGbJdw5iBOZYrOr3BYL Content-Type: multipart/mixed; boundary="------------GhQz0OYyFXe9x0H46q0XHBrB"; protected-headers="v1" From: Maxime Devos To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann , Efraim Flashner Message-ID: <1292f8b6-8a95-0e1f-6a41-2122a3164bbe@telenet.be> Subject: Re: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> In-Reply-To: --------------GhQz0OYyFXe9x0H46q0XHBrB Content-Type: multipart/mixed; boundary="------------NEqkoUN3h04j8V40BIZvXGCT" --------------NEqkoUN3h04j8V40BIZvXGCT Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMjMtMDgtMjAyMiAwMzo0MCwgUGhpbGlwIE1jR3JhdGggd3JvdGU6DQoNCj4gTW9yZSBn ZW5lcmFsbHksIGl0IHNlZW1zIHF1ZXN0aW9uYWJsZSBmb3Igb3VyIGdsaWJjIHRvIHJldGFp biBhIHN0b3JlIHJlZmVyZW5jZSB0byBCYXNoIChsZXQgYWxvbmUgdHdvKS4gV291bGRuJ3Qg dGhhdCBwcmV2ZW50IGNyZWF0aW5nIGNvbnRhaW5lcnMgb3IgcGFja3Mgd2l0aG91dCBhIHNo ZWxsIHByZXNlbnQ/DQoNCmdsaWJjIG5lZWRzIHRvIHJldGFpbiBhIHJlZmVyZW5jZSB0byBh IHNoZWxsIGZvciB0aGUgJ3N5c3RlbScgZnVuY3Rpb24gDQp0byB3b3JrLg0KDQpJIGRvbid0 IHNlZSB3aGF0IGNvbnRhaW5lcnMgb3IgcGFja3MgaGF2ZSB0byBkbyB3aXRoIGFueXRoaW5n LCBpdCdzIHRoZSANCnNhbWUgZm9yIHByb2ZpbGVzIGluIGdlbmVyYWwuDQoNCkdyZWV0aW5n cywNCk1heGltZS4NCg== --------------NEqkoUN3h04j8V40BIZvXGCT Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------NEqkoUN3h04j8V40BIZvXGCT-- --------------GhQz0OYyFXe9x0H46q0XHBrB-- --------------KrLwRMGbJdw5iBOZYrOr3BYL Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYwSZpAUDAAAAAAAKCRBJ4+4iGRcl7oE6 AQC+7GT3K9HNVkoupjy+JXGnQjaEd6VkVOBYa9FFnKpw/AD+MXPjtVXSSIoBAaDA1jJC5mPIFh5e tcYdcXkThr1magQ= =a+bl -----END PGP SIGNATURE----- --------------KrLwRMGbJdw5iBOZYrOr3BYL-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 23 Aug 2022 09:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16612464368590 (code B ref 57050); Tue, 23 Aug 2022 09:21:01 +0000 Received: (at 57050) by debbugs.gnu.org; 23 Aug 2022 09:20:36 +0000 Received: from localhost ([127.0.0.1]:42569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQQ5L-0002EU-TY for submit@debbugs.gnu.org; Tue, 23 Aug 2022 05:20:36 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:38242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQQ5G-0002EH-Iv for 57050@debbugs.gnu.org; Tue, 23 Aug 2022 05:20:34 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by laurent.telenet-ops.be with bizsmtp id AxLR2800P20ykKC01xLRQ9; Tue, 23 Aug 2022 11:20:27 +0200 Message-ID: <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> Date: Tue, 23 Aug 2022 11:20:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> From: Maxime Devos In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------EPCAHT0e96RjR0mlOOe00t4I" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1661246427; bh=ciBt8mkbafj6rNypIexPdi1T3LQvnmiLsSak4UpBIGc=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=P504oBb0wx1nGjZCdYFqqP5mbnL6sfwjXXnihmrLw3fNAXcu6uuxtsVN8pEhLf5pW qtw+23kBYOJGJiQDtgGx/uZJEccBDq4hgLLokcp/sl8UgoCCzDKzE2VGLTlYzAaEOz durvQfEzxvnXX2G0U5N4AyqNfUYyPbRbmCbZfVnRBqmvLcKmkDx6hZUC8p+Klz1Q9+ 7Aj5Zvxit1Kn0o/dvoon7rQPFUgUR2YwD3Ri17oYNgHx7uC1yZPDmAo9x6ZoOlb5Vk P3NKXjCuebrbOvT5h3TS4n42OumM4dcrhU/cDKNjGRyyRroVvWE3PF0f/tmX0hoJNy F6px4HkIZmcPQ== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------EPCAHT0e96RjR0mlOOe00t4I Content-Type: multipart/mixed; boundary="------------eH00FuDOvvzeI3RSj2tZEgaZ"; protected-headers="v1" From: Maxime Devos To: Philip McGrath , Liliana Marie Prikler , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Thiago Jung Bauermann , Efraim Flashner Message-ID: <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> Subject: Re: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> In-Reply-To: --------------eH00FuDOvvzeI3RSj2tZEgaZ Content-Type: multipart/mixed; boundary="------------eDh5SctheZGTOukTLOc90gHB" --------------eDh5SctheZGTOukTLOc90gHB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 PiBbLi4uXQ0KPiBJIHdpbGwgdXNlIEdVSVhfU0ggaW4gdjMgb2YgdGhpcyBzZXJpZXMuDQo+ DQo+IE15IGNvbmNlcm4gd2l0aCBpdCBvcmlnaW5hbGx5IHdhcyB0aGF0IGl0J3MgZ2VuZXJp YyBlbm91Z2ggdGhhdCBpdCBtaWdodCBiZSB1c2VkIGluIG90aGVyIHdheXMgZWxzZXdoZXJl IGluIEd1aXgsIGJ1dCwgc2luY2UgSSdtIGhvcGluZyBpdCdzIG9ubHkgZ29pbmcgdG8gYmUg YSBtZWRpdW0tdGVybSBzb2x1dGlvbiwgaXQgc2VlbXMgZ29vZCBlbm91Z2gsIGFuZCBJIGhh dmVuJ3QgaGVhcmQgYW55IG9iamVjdGlvbnMgdG8gaXQuDQpfUEFUSF9CU0hFTEwgc2VlbXMg YmV0dGVyIHRvIG1lLCBhcyBpdCBpcyBub3QgR3VpeC1zcGVjaWZpYyBhbmQgZG9lcyBub3Qg DQpyZXF1aXJlIGFkZGluZyBwcmVwcm9jZXNzb3IgYXJndW1lbnRzLiBFdmVuIHNpbXBsZXIg d291bGQgYmUgdG8gDQpzdWJzdGl0dXRlKiB0aGUgL2Jpbi9zaCB0byAoc2VhcmNoLWlucHV0 LWZpbGUgaW5wdXRzICJiaW4vc2giKSBsaWtlIGRvbmUgDQpmb3Igb3RoZXIgcGFja2FnZXMu DQoNCkkgaGF2ZSBwcmV2aW91c2x5IG9iamVjdGVkIHRvIGl0LCB0aG91Z2ggbm90IGV4cGxp Y2l0bHk6DQoNCj4gSSBoYXZlbid0IGJlZW4gZm9sbG93aW5nIHRoZSBkaXNjdXNzaW9uIG9u IHRoZSBvdGhlciBwYXRjaGVzLCBidXQgDQo+IGRpZG4ndCBJIGdpdmUgYW4gZXhhbXBsZSBv ZiBzb21ldGhpbmcgaW5kZXBlbmRlbnQgb2YgdGhlIFJhY2tldCANCj4gY29tcG9uZW50IGlu IHVzZSBhbmQgZXZlbiBpbmRlcGVuZGVudCBvZiBSYWNrZXQgaXRzZWxmPyBTZWUgdGhlIA0K PiBzdWdnZXN0aW9uIG9mIHVzaW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIF9QQVRIX0JTSEVM TCBmcm9tIDxwYXRocy5oPi4gDQo+IEl0J3MgZXZlbiBub3QgR3VpeC1zcGVjaWZpYywgYXBw YXJlbnRseSBpdCdzIGEgQlNELWlzbSENCj4NCkkgZG9uJ3Qgc2VlIHRoZSBwb2ludCBvZiBh IEdVSVhfU0ggbWFjcm8gd2hlbiB0aGUgc3RhbmRhcmQtaXNoIA0KX1BBVEhfQlNIRUxMIGFw cGVhcnMgdG8gc3VmZmljZS4NCg0KT24gMjMtMDgtMjAyMiAwMzo0MCwgUGhpbGlwIE1jR3Jh dGggd3JvdGU6DQo+IEZpcnN0IG9mIGFsbCwgSSBoYXZlIGZvdW5kIHRoYXQgdGhlcmUqaXMq ICBhbm90aGVyIFVuaXgtbGlrZSBzeXN0ZW0gd2hlcmUgIi9iaW4vc2giIGRvZXNuJ3QgZXhp c3Q6IG9uIEFuZHJvaWQsIHRoZSBQT1NJWCBzaGVsbCBpcyB1c3VhbGx5IGF0ICIvc3lzdGVt L2Jpbi9zaCIuIEFsc28sIGF0IGxlYXN0IG9uIHNvbWUgdmVyc2lvbnMsIF9QQVRIX0JTSEVM TCBpc24ndCBhIGNvbXBpbGUtdGltZSBjb25zdGFudC4gSXQgaXM6DQo+DQo+ICAgICAgI2Rl ZmluZSBfUEFUSF9CU0hFTEwgX19iaW9uaWNfZ2V0X3NoZWxsX3BhdGgoKQ0KDQpMb29raW5n IGF0IHRoZSBwYXRjaCwgaXQgbm90IGJlaW5nIGEgY29tcGlsZS10aW1lIGNvbnN0YW50IGRv ZXMgbm90IA0KYXBwZWFyIHRvIGJlIGEgcHJvYmxlbSB0byBtZS4NCg0KR3JlZXRpbmdzLA0K TWF4aW1lLg0KDQoNCg== --------------eDh5SctheZGTOukTLOc90gHB Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------eDh5SctheZGTOukTLOc90gHB-- --------------eH00FuDOvvzeI3RSj2tZEgaZ-- --------------EPCAHT0e96RjR0mlOOe00t4I Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYwSb2QUDAAAAAAAKCRBJ4+4iGRcl7n1l AQC7+GNnNLIaJZ/twdJoLLpOQQNHQhP0peYRmwUcKxA4LQD/blXOC4LaxN3KxROPtleEJHWTVJ7e JXjWCu5TfTYM9AA= =JWRL -----END PGP SIGNATURE----- --------------EPCAHT0e96RjR0mlOOe00t4I-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 23 Aug 2022 23:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Maxime Devos" , "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166129714022292 (code B ref 57050); Tue, 23 Aug 2022 23:26:01 +0000 Received: (at 57050) by debbugs.gnu.org; 23 Aug 2022 23:25:40 +0000 Received: from localhost ([127.0.0.1]:45248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQdH9-0005nU-Qp for submit@debbugs.gnu.org; Tue, 23 Aug 2022 19:25:40 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:58443) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQdH8-0005nE-6y for 57050@debbugs.gnu.org; Tue, 23 Aug 2022 19:25:39 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 1227F5C01C5; Tue, 23 Aug 2022 19:25:31 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Tue, 23 Aug 2022 19:25:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661297131; x= 1661383531; bh=iegt7FrFkAmNtwc4m7UB7hlinhpAdeQzXHjcwcsUBQc=; b=N En3ZGxHVP/qaOXvMxZX4hTCz2auZxUXxxN7oF09WmO4k5o5OnxCKOfjREEhqeF+w yo2SAl/GyBdhNB/0gs2rfN/v3IGsVk2ZPEs7Px1wlaq5ksJdvvg4pEtomdYeEwoJ /hkxnSacE7fSvvi+cLEmnYOGBoEnBqliDDoEVSJjOqc6qwMqA1PlS4yFKcM0FUcQ BNL3Ghpsjvlx/OJZzvIjuy0DiBu7WcOfhQPukhoLSLKgYsWdKUFw55FV6z9ivkfq RUNzRe8+zOLkBXyaqLrwQAHykwJ7qXlkBaR5tWtlX08RNmEhUiAGqaV66iLuZqYQ 5YpZnw49Q3Z6mZeADKlgw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661297131; x=1661383531; bh=iegt7FrFkAmNtwc4m7UB7hlinhpA deQzXHjcwcsUBQc=; b=IkRjFz7gm4d3X617/2c+aUdToOtQu/cTg1ZGNY4U7xkc OgSRpLNew+rgUbb5KmsipZcIU6uD8ClgeXJzc3BR6ypz3DqzweAdLKMnNZwQ9Jw0 sk3VQytOu5BgC0yPNpELaZGyl0DQ3EG9X8BMMS0tP8V1HvW0plX9rVXy/AqhB0E3 nNpZqsnD1AUzFcbC5STHagzgbe9eNmtcPAytZ81UFxGzlRBhl+SyNVF6MXjWgumP Rx6DbBkH0eHFW9lvAQp4Ywg408QWYgUpwR6WcYTSzFmRJEME0XFe7I3Wyap6ePpN FlW/Wpc4jSTczweTY/dGi371KFO5KyLwcLz8zs6wdA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejtddgvddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepvdejvdetfeeghfejleduieevleekfefhteeh jeevkeetffdvtddviedvgeeghfefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 00324C6008B; Tue, 23 Aug 2022 19:25:29 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <6115438b-5c46-46cf-9a58-5cf3d76e0e49@www.fastmail.com> In-Reply-To: <1292f8b6-8a95-0e1f-6a41-2122a3164bbe@telenet.be> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> <1292f8b6-8a95-0e1f-6a41-2122a3164bbe@telenet.be> Date: Tue, 23 Aug 2022 19:24:57 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 23, 2022, at 5:11 AM, Maxime Devos wrote: > On 23-08-2022 03:40, Philip McGrath wrote: > >> More generally, it seems questionable for our glibc to retain a store reference to Bash (let alone two). Wouldn't that prevent creating containers or packs without a shell present? > > glibc needs to retain a reference to a shell for the 'system' function > to work. > > I don't see what containers or packs have to do with anything, it's the > same for profiles in general. > Without involving Guix, it's possible to create a chroot, container, or various other kinds of environments where a shell is not present. Inside such an environment, the 'system' function "works" by returning 0 if the command is NULL, 127 otherwise. AFAICT, even when Guix creates a container or otherwise isolated environment, any program linking to glibc pulls along Bash. (Indeed, two different versions of Bash!) -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 24 Aug 2022 00:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Maxime Devos" , "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166130087028207 (code B ref 57050); Wed, 24 Aug 2022 00:28:02 +0000 Received: (at 57050) by debbugs.gnu.org; 24 Aug 2022 00:27:50 +0000 Received: from localhost ([127.0.0.1]:45275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQeFK-0007Kt-Ak for submit@debbugs.gnu.org; Tue, 23 Aug 2022 20:27:50 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:55841) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQeFC-0007KZ-B3 for 57050@debbugs.gnu.org; Tue, 23 Aug 2022 20:27:48 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id F2BA95C011D; Tue, 23 Aug 2022 20:27:35 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Tue, 23 Aug 2022 20:27:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661300855; x= 1661387255; bh=JtiThJJKYUErwJzY1SrnuTvLdZYHNH2vkpTJDs0wiHI=; b=n 97eNgrs4GdyMqccOPtKDa/Z9aJSUsw09TNjOViRA3OV15M8UWlfCbFgo5HD22BWp UzWkbahhfn5gBjf7nSVCXMZMi/qts4y0CoVsO0DWM6oykvb8qQc9Mh8flw7YeDcQ 4eJ8zc+Z9u17SwDuuPNCfNajHSKW3qfWxrgEGjvDnG79Bl57YtWKIhtUpssMMBVc VZfau3a9ouUiWNu6HHcWCGA9TIDGkK/vm+dtJUg2wlOZLB+KcKgcQCxvVWgfa9ZV nZrhn8cOMxiJ19Vx5MIrj0NH6RDCMSG+19DocSL/4rmqaL4Aq5cZGQiaGWhmOQbW FnqcU6ACKUZued0rpSjvA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661300855; x=1661387255; bh=JtiThJJKYUErwJzY1SrnuTvLdZYH NH2vkpTJDs0wiHI=; b=MO8n51VFoEbjx4lspqQ3n380dKCUH4oW3DOqjjvDHQGI R0zo61c7qMhUPPbvPxMGJupZc8d0+m10spZNogF/EDIcVMv6goRYf5PDyYvwBJOx VHs7/xPPU5hRqaJf1BIcrj6P+mSxEXPLIPByNVtoGx4P89CxQ9Bzn55eWquwoRbd ueHV0hKa0pytHY2GKanFcDfTytsTaqTKArPezvKktpNS1JCLDLoR3RKilRQGk9kq 0tp1n72w9EYmY31krVroIalP4rS2tpcinAKdNdcZRP6EPOIYlIzeId8R1iFRzJ2O ksuV5QIrV1lB6ec5gBc+PEKTXaDLpfrUDJ3dpnl8Zw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejtddgfeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfrfhh ihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthh drtghomheqnecuggftrfgrthhtvghrnhepfefgjeehteelieelhefhjeffkedvueffkefh udfgteejveelgeeftdfhleegffelnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehp hhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 348BFC6008B; Tue, 23 Aug 2022 20:27:35 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> Date: Tue, 23 Aug 2022 20:27:15 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 23, 2022, at 5:20 AM, Maxime Devos wrote: >> [...] >> I will use GUIX_SH in v3 of this series. >> >> My concern with it originally was that it's generic enough that it might be used in other ways elsewhere in Guix, but, since I'm hoping it's only going to be a medium-term solution, it seems good enough, and I haven't heard any objections to it. > _PATH_BSHELL seems better to me, as it is not Guix-specific and does not > require adding preprocessor arguments. Not needing preprocessor arguments would be a nice advantage. I will try _PATH_BSHELL. > Even simpler would be to > substitute* the /bin/sh to (search-input-file inputs "bin/sh") like done > for other packages. > Unfortunately, that doesn't work well here. We cannot refer to store paths in Racket or Chez source code (as opposed to C code) because the grafter cannot handle the format of compiled code: see . (I don't know about Zuo image dumps, but the binary format is unspecified, so it seems safer not to.) Also, especially for Racket, there are many entry points where "/bin/sh" might come from, including both functions like 'system' and also programs that explicitly use "/bin/sh" with functions like 'system*'. When I first wrote the current patch, maintaining Guix-specific patches for all of them seemed unsustainable, so I instead patched the low-level function for running subprocesses to interpose on any attempt to execute "/bin/sh", regardless of where it came from. If I addressed this upstream, I'd probably extend an existing function to support `(find-system-path 'shell)`, change `system` and friends to use it, and likewise change scripts that currently use "/bin/sh" explicitly. > On 23-08-2022 03:40, Philip McGrath wrote: >> First of all, I have found that there*is* another Unix-like system where "/bin/sh" doesn't exist: on Android, the POSIX shell is usually at "/system/bin/sh". Also, at least on some versions, _PATH_BSHELL isn't a compile-time constant. It is: >> >> #define _PATH_BSHELL __bionic_get_shell_path() > > Looking at the patch, it not being a compile-time constant does not > appear to be a problem to me. > It's not an issue with the current patch. It could be relevant for some ways of addressing this upstream. Mostly, it's part of my thinking that "where is the shell, if any?" is a question best answered at runtime rather than compile time. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 24 Aug 2022 05:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Maxime Devos , 57050@debbugs.gnu.org Cc: Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166131975527852 (code B ref 57050); Wed, 24 Aug 2022 05:43:01 +0000 Received: (at 57050) by debbugs.gnu.org; 24 Aug 2022 05:42:35 +0000 Received: from localhost ([127.0.0.1]:45426 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQj9u-0007FA-T9 for submit@debbugs.gnu.org; Wed, 24 Aug 2022 01:42:35 -0400 Received: from mail-ej1-f65.google.com ([209.85.218.65]:36420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQj9s-0007Ew-St for 57050@debbugs.gnu.org; Wed, 24 Aug 2022 01:42:33 -0400 Received: by mail-ej1-f65.google.com with SMTP id d21so12083406eje.3 for <57050@debbugs.gnu.org>; Tue, 23 Aug 2022 22:42:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=Hi6vhdtGI9hcbfCSWCApFs0hSIP4zgEfY6D0NjvNvI0=; b=R6QLK8r8ozo0r1XZf92F77e8poAQZb40LaegavCf8kSGAOOHWv8ZBsWCQIc9egrH4Z xl9JmERXWkeZmnLF5MznCuGtv16S4mRcT55oeckwcnZYuzX6O/4BWMERNXqwBhSw4Opf pft/wAMoEl9HrwhVwcM2z4p++vYDAQkh6DbTSObVBO5NfmMSIbUW8Q2mTQ5pdK0e5REs 3P9MaA+glKpKlmB+dlkHYymajGb2kHK9DtZfhqRR/04NEQ6To7fGJar/jjylLMU0xi6V jVAjVwv4oOH0+xhz/CNCEh5twVbyc76fqvmLedueFVQXrM/O7jTUtUCIdN+q/Y0fs+2D e3GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=Hi6vhdtGI9hcbfCSWCApFs0hSIP4zgEfY6D0NjvNvI0=; b=2Bexpc4nDeMkf0O5NHxv0NAPo8aN12HodHGrpWnmKwz7MrABOOw3oGZ2EDEx44nyd2 DpAH3ToI1nFL7m0TOk8/t/wcR1NS8bShCT9acJaqqugH5O8nIxZb0BEmsVIZN7sJNUp0 gD7Ql3lawMOQUvkVwWUykI9zmsIHJ5e1wBqMcMa62YXJsLtPCfRrJTGwll7Ml7gtGiKD XkfOrcaC+Jq1CqClaKnqfysD+BBilPIg7LLOfanx3XLopYeHdelYMoSzRma4h2r2l+l/ I58AnGwO7DTBZhJm5ZRbcwGa1vLirz1kB/dNPQAbu2b70gRGQljeCKZZtcm+q5RijTxx laSw== X-Gm-Message-State: ACgBeo1JNI6/iWq+nQCU+/IU6GhSdj9EAJ0SgBaK5/e7PXeBoXpLCMFT TghE9bXRL4HywTrKKip7O3c= X-Google-Smtp-Source: AA6agR77eyMu6s/OdpB8F7GxxAvP8CwSYMNbv0mjRdDZC1Q0bN36zMvmCCtYEDl7MkqZqdsBOvwBBA== X-Received: by 2002:a17:907:7625:b0:73d:6593:6562 with SMTP id jy5-20020a170907762500b0073d65936562mr1788935ejc.505.1661319746966; Tue, 23 Aug 2022 22:42:26 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b5-20020a17090630c500b00730ba005b39sm678545ejb.132.2022.08.23.22.42.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Aug 2022 22:42:26 -0700 (PDT) Message-ID: <2c4ecca1ab70bdd25672d65e885abeb29b644e50.camel@gmail.com> From: Liliana Marie Prikler Date: Wed, 24 Aug 2022 07:42:25 +0200 In-Reply-To: References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Dienstag, dem 23.08.2022 um 20:27 -0400 schrieb Philip McGrath: > > > Even simpler would be to substitute* the /bin/sh to (search-input- > > file inputs "bin/sh") like > > done for other packages. > > Unfortunately, that doesn't work well here. We cannot refer to store > paths in Racket or Chez source code (as opposed to C code) because > the grafter cannot handle the format of compiled code: see > . (I don't know about Zuo image > dumps, but the binary format is unspecified, so it seems safer not > to.) We are talking about some C source code, though, so I doubt this point is relevant, is it? From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 24 Aug 2022 05:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , "Maxime Devos" , 57050@debbugs.gnu.org Cc: Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166132007628454 (code B ref 57050); Wed, 24 Aug 2022 05:48:02 +0000 Received: (at 57050) by debbugs.gnu.org; 24 Aug 2022 05:47:56 +0000 Received: from localhost ([127.0.0.1]:45432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQjF5-0007Oq-Iu for submit@debbugs.gnu.org; Wed, 24 Aug 2022 01:47:56 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:46013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQjF2-0007Ny-QS for 57050@debbugs.gnu.org; Wed, 24 Aug 2022 01:47:53 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 85F895C00E8; Wed, 24 Aug 2022 01:47:47 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Wed, 24 Aug 2022 01:47:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661320067; x= 1661406467; bh=1zWcbHGjjsp/bKfKG/GCP47EKnXbyTd2wsXHjzfDoWs=; b=J VgE3Cxtqf97ifvG7FY0/OTJ2aLrLah8GLc/o9DfqKMIdxK1iJg90cWOktQO2uJp9 oDPaDAV/vNiH0Bx/s+TbsSO+4+l8r0nHwnhdb93hQcLfeMkH/vP1YTB2v8cyrykE mseF826ZQ3HVHs4EnqyK+TI8Y4WAMsugMnkmN/7jUcvIYhOV090eDKFJ3xQqm/RA XGk2webla6sO1EIKjyRqJmQAHiGxUBJehGQtq/Ji6CfMX+2j8AZW31rB3tb1n+br ZMG6KBZPDZyUBP7tVH2xpPCQsFdouBq08qE65v1vg7mQfic4TBe9c401/vQSU2lQ b4yhD1OAjs1Tt+l/0ctRg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661320067; x=1661406467; bh=1zWcbHGjjsp/bKfKG/GCP47EKnXb yTd2wsXHjzfDoWs=; b=33clFpmGJlcREjfGnSdMfBB+qA2544vKaLe7nLuySvv4 ZnQ9iHZzyaYdcN8+NMxLka2IqYsWJ3DY5EzXRyaVPfbClYeFlUTYO/gpiEt2jTcb AsigLa+L89cHXihcF5ZfClg7/DR2M055+qrL85xPiDvjTNhD7DWbTdj4xsY8KHa2 4pdHR4R7mVQPIOo92anyGmEBV8KiktDA9fF+BGiU1TB69gyaK7lLW4GN6M4MivZr Fhg1Nn58e2+FWSi4XbZjBMtKNnTXFDY5aYfDsvOIBrna1f6CcyBvPgAuo6egKGjB 1M5WdTsaRycsNhLfwcm8tyGHQ1Z1xtkXdQMugND8mw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejtddguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeefgfejheetleeileehhfejffekvdeuffek hfdugfetjeevleegfedthfelgeffleenucffohhmrghinhepghhnuhdrohhrghenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehphhhilhhiphes phhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 35924C6008B; Wed, 24 Aug 2022 01:47:47 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <3ba9a229-f008-429e-b135-1e20c2e10a1c@www.fastmail.com> In-Reply-To: <2c4ecca1ab70bdd25672d65e885abeb29b644e50.camel@gmail.com> References: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com> <4ae7af77-4ab6-4642-8c2f-854adec719c5@www.fastmail.com> <923c0709-4fe9-5f02-06a1-196095f5199e@telenet.be> <6fe5b257-8554-92ed-2449-40559b73133f@telenet.be> <2c4ecca1ab70bdd25672d65e885abeb29b644e50.camel@gmail.com> Date: Wed, 24 Aug 2022 01:47:23 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Aug 24, 2022, at 1:42 AM, Liliana Marie Prikler wrote: > Am Dienstag, dem 23.08.2022 um 20:27 -0400 schrieb Philip McGrath: >> >> > Even simpler would be to substitute* the /bin/sh to (search-input- >> > file inputs "bin/sh") like >> > done for other packages. >> >> Unfortunately, that doesn't work well here. We cannot refer to store >> paths in Racket or Chez source code (as opposed to C code) because >> the grafter cannot handle the format of compiled code: see >> . (I don't know about Zuo image >> dumps, but the binary format is unspecified, so it seems safer not >> to.) > We are talking about some C source code, though, so I doubt this point > is relevant, is it? For rktio and Zuo, the string "/bin/sh" doesn't appear in the C source code, only in the Racket/Zuo libraries. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 00/14] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177049664 (code B ref 57050); Thu, 25 Aug 2022 08:56:01 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:04 +0000 Received: from localhost ([127.0.0.1]:48857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8dj-0002Vn-RR for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:04 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:46696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8dg-0002VD-MG for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:02 -0400 Received: by mail-vs1-f42.google.com with SMTP id d126so20180421vsd.13 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=qyN7mPRg0DAkt9l04auPkAFNGrexFt3HOjDYb0fauAk=; b=S+mHTE0WfpldA8vHhAUCvmz60zxypyQFge/3qwuc0ulr471Mbrxatk9PROLXYDvhDD VxrvB3pyXZBxeNmWoY3IbuvNlrGtSCP4wBFVwjMR8UGYLdtIbYby1amAgoAaxDWr2B1p R4fVTLFk0EGVNoCNSmGcDhF7Nvk1S24L/v8/aUC7B428hq96nbriAwVqoIEdL8ctd8iy IKtNyREZTJ5M+eh5SLuo3jgJbka3Z414Nt/37z3wbNDUCWsNoum57JTeKpe31fN37iDV LzK/2pHnz9bTJl4qT2MjPyEtALc9yilB4cQ2+4Jzmd/XgHIP+WFWQSxqKW1BH9QDqOpT 10tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=qyN7mPRg0DAkt9l04auPkAFNGrexFt3HOjDYb0fauAk=; b=bGMPMzVBVyvkpg2HwMvaCcVqa/L6d+L+RJgAfYMll86PGcrWMk09oOG+Sg2YRUBEqi LNJVyv3anT7BXc7URJEsP+6gft9ej77DhrydFHO8lMFO5C50480LZbMKRwLHt8IMvVFi AapEI13tQFro0m4NsZ9WtzEHe5nQHeLQVgDBVJqkDiIvZOsqHGjKPoe12f6//7eS0gU5 w2NGtm7f7CxlIfjBon3iicOHxDSI92ZfxN/gqJoGAnLZp2GmVr+GBwwqCvqLd1UB2NDe JOfgwmtrZbeg6hFsc62FxdvOc6g0xtnOoMJPwzryBRq8szaicgLaeBaZmFV5gvi6vr91 jyEA== X-Gm-Message-State: ACgBeo148H6P60MmKY5cmcE+3z0KC2IbssOyK0f9WtQmn1Au2w2BJI7m M7gs/PsISOZUe++F+r9qqFm2EuKY0GO2lcTS X-Google-Smtp-Source: AA6agR7GAlL7pYshgnYrdhQt614RDDr4q+89kIZo40LJEMvTqjEf5HJBChwhNH/r/i+zHwlVGGNHVQ== X-Received: by 2002:a67:c819:0:b0:38f:784f:c377 with SMTP id u25-20020a67c819000000b0038f784fc377mr1117936vsk.15.1661417694839; Thu, 25 Aug 2022 01:54:54 -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 ba6-20020a056102282600b0038855ac0416sm14264296vsb.7.2022.08.25.01.54.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:54:54 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:02 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, Here is a v3 of this series. The major changes from v2 are: 1. Reflecting the change upstream to the v8.6 tag (which they will not do again); 2. Changing the patches to use _PATH_BSHELL for "/bin/sh"; and 3. Incorporating all of the powerpc64le fixes, including the 10x higher STACK_SAFETY_MARGIN that got the build working for Thiago. I've also made many of the smaller changes requested. For convienience, I've also pushed this series to the 'zuo' branch of https://gitlab.com/philip1/guix-patches and tagged it as guix-issue-57050-v3 (commit 9b429caf1d9cd6574debcb11065b957874d2a31a). -Philip Philip McGrath (14): gnu: stex: Update to 1.2.2-2.afa6075. gnu: stex: Fix read-only gifs and math directories. etc: teams: Add racket team. etc: teams: Add entry for Philip McGrath. gnu: racket: Adjust patch for "/bin/sh" in rktio. gnu: chez-scheme: Fix use of "/bin/sh". gnu: Add Zuo. gnu: racket: Update to 8.6. gnu: chez-scheme: Make bootfiles regular inputs. gnu: chez-scheme-for-racket: Support cross-compilation. gnu: racket: Support cross-compiling the VM packages. gnu: chez-scheme-for-racket: Suport all systems. gnu: racket-vm-bc: Add workaround for ppc64le. gnu: racket: Use Racket CS on all systems. etc/teams.scm.in | 12 + gnu/local.mk | 7 +- gnu/packages/chez.scm | 211 ++++-- gnu/packages/patches/chez-scheme-bin-sh.patch | 76 +++ .../racket-backport-8.6-cross-install.patch | 126 ++++ .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 76 +++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 60 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 74 +++ .../stex-copy-from-immutable-store.patch | 41 ++ gnu/packages/racket.scm | 242 ++++--- 13 files changed, 1897 insertions(+), 154 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (54%) create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch base-commit: a39207f7afd977e4e4299c6f0bb34bcb6d153818 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 01/14] gnu: stex: Update to 1.2.2-2.afa6075. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177229705 (code B ref 57050); Thu, 25 Aug 2022 08:56:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:22 +0000 Received: from localhost ([127.0.0.1]:48860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8e2-0002WS-9e for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:22 -0400 Received: from mail-vs1-f46.google.com ([209.85.217.46]:42729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8e1-0002WE-IU for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:21 -0400 Received: by mail-vs1-f46.google.com with SMTP id p6so19816735vsr.9 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=FxIbfDZrY2N66lj1z41qsg/7eHZBWPB/6HCysfqnKix11N5SCHY+I5c/cC/1+rD1H9 ddmhniidfk1X8BVA9Yyr8968sudwI3Q07dXZh94FuD193PjFSE3eL56MAn/9ybhoa/Rc 45H/sWkYEYkk3adGZgOUUN4UdpyCJQjeKqNo47acspx+qyUbdDtY7U7nqaCqboODHY9l eXQUCxYg2DC8+c7Pi/LI3Xg9ObFdZFzLM5ZrGgAbkHlR4/rattDHCJ5hlpWgJP+fC8x9 rRz7H1YIVUFZ/C/FPKXwLUqOhMJFHBATi2Mi27mmFhf84FXc35+VpWtbCdwkWreUQjUY O94A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=eS141ldEq5Zzl5BLNVVcd9BAD4PBpwTmp2rfx52wBcaLRQWj9PhrN7qOdmjjAi9GEe G+muoQAtGrxn8BY85vSb3Cqx0tJ1ij1dp1WwxkATov7r0EsdBuGIsf/f2jbPTShyeSHd GbOc8cempYbtl/poUvcJl+RX56N1Gd5CQwZLztnSzdIX84bhJYPZW1rXrbt/rf5uZkXz agtoDZoIq/sgYk/4NXIY3Kh+1ojgfMY6gNb7dYexEjeu0mLR1YRst+7oQA9MoJ+hKMlP 78KDlm4d9xNSfntxn0a4c1pq6AUC3ZZlVZd64mZ2njU9J9jOw48LrUTpqalPZE2IsiOK 10Rw== X-Gm-Message-State: ACgBeo0hvYiUYmeCW8YUaRlfflbC84OWvJQboi223Z2agBARfOYS+UhC iltd6RHxXmybHQYbN7rroU4CVPnBShQUT91T X-Google-Smtp-Source: AA6agR6I1uk4JJR3hda93LqZ6hklhWeWmLGLLuB3nCYtzi6klqnuIP1DDO1Z0yndYmYjqqrNMSWK8w== X-Received: by 2002:a67:fb0b:0:b0:390:7390:3877 with SMTP id d11-20020a67fb0b000000b0039073903877mr1023675vsr.23.1661417715990; Thu, 25 Aug 2022 01:55:15 -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 o16-20020a67eed0000000b003866f107099sm14287534vsp.0.2022.08.25.01.55.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:15 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:03 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (stex-bootstrap): Update to 1.2.2-2.afa6075. --- gnu/packages/chez.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b037efe8d4..043f2ae47a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -594,8 +594,8 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. - (let ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") - (revision "1")) + (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") + (revision "2")) (hidden-package (package (name "stex") @@ -611,7 +611,7 @@ (define-public stex-bootstrap (url "https://github.com/dybvig/stex") (commit commit))) (sha256 - (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d")) + (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) (snippet #~(for-each delete-file -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 02/14] gnu: stex: Fix read-only gifs and math directories. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177329736 (code B ref 57050); Thu, 25 Aug 2022 08:56:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:32 +0000 Received: from localhost ([127.0.0.1]:48865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eB-0002Ww-M2 for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:32 -0400 Received: from mail-vs1-f47.google.com ([209.85.217.47]:39808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8e6-0002WK-09 for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:26 -0400 Received: by mail-vs1-f47.google.com with SMTP id c3so20186357vsc.6 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Y3+vNJPpga1Q1V+rF5NtVFTZ7yIvUQWMYLczF9BwSFU=; b=aoNOE4CWlbkPDbXwcqkVbvcEh8xZNabO6cPZUKvBh7IoydOWEjcj/gikTQJRWvxpCW OKuZXYBlxIECfWlqIRacQajX+IiXafnVULVrld2NlQibyQNE2ZiKvIMlYUXnwndcSlN3 M2FNSgbd9LlJfzQzWZ187694I1L+VKbLzj/ehDbY8Myng8haUOcoEPwQ/eyvQkQePp8Y 0zfrJuoAczvIG9q83Unl4MaLuJZmf1LNLo5kYUkF8IcbTFVO5RKm+PtT/exsU7z+JEE0 YZoYpNj+KwczRUh8gX1IyYPJ2DaBLrx8ErS2k2Pr9fXRpljivwlsGaAdhbT5tCaIzQKw lwqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Y3+vNJPpga1Q1V+rF5NtVFTZ7yIvUQWMYLczF9BwSFU=; b=yZc9ZluwhnNVbZrEfeSCyrVi/g5NtIg+B5rpmBDSB05WTL7qZkNobGp59UsUUGpH9p Q/4FP8hCKBv5tOqgXkOsrF04E6aYojXccBCUGtmFchg2M9qthTD7FWixp3A4dWI5RJ91 qZDzEBrNaBF2Hcq9G9hut1M6jifMwYApakeh1+aBCucWPAxyA7MYrkYQ/gFm63EZrDYn fWSC7ThcXqU5YsSivYWTOoRWkfljeJOfW2OftLPEIFlod1zv0S5wMM2eZyjcz71iJCKn Ne740XidhTb5cJjUG7e01MGJz22CXxJ8rQc7xAZ8NCSRitFaA6dcsX8/fSrzQctkxqBt 4wRg== X-Gm-Message-State: ACgBeo37/9OoWVgmOLqbsIhsLsWIyYsRPUjSLNYAcXZo9wVLN+Hk5qtt Ao4Dp/k1BK6RDAHDjkMke/qtZ1ByGt+5yaNs X-Google-Smtp-Source: AA6agR4Q374E4aSkULtGgtBKipPtvvSYklQr0LyfZdMye6jOmdTmks2Mtj0ardxZMqqKpL04rbBvUA== X-Received: by 2002:a05:6102:109:b0:390:2da8:2c64 with SMTP id z9-20020a056102010900b003902da82c64mr1039414vsq.70.1661417720399; Thu, 25 Aug 2022 01:55:20 -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 g4-20020ab039c4000000b0039eedc0e387sm11330370uaw.13.2022.08.25.01.55.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:20 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:04 -0400 Message-Id: <4f6b9cc1870adc84a421d101e4a4e6f4ea5102cd.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Excplicitly set the user write bit when initializing the gifs or math directories from the skeletons installed in the store. See also upstream discussion at . This problem would be exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 3 ++ .../stex-copy-from-immutable-store.patch | 41 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch diff --git a/gnu/local.mk b/gnu/local.mk index 26dfb6afe2..558fed8a0d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1821,6 +1821,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ + %D%/packages/patches/stex-copy-from-immutable-store.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 043f2ae47a..812d41fc5b 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -613,6 +613,9 @@ (define-public stex-bootstrap (sha256 (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) + (patches + ;; submitted upstream in https://github.com/dybvig/stex/pull/6 + (search-patches "stex-copy-from-immutable-store.patch")) (snippet #~(for-each delete-file '("sbin/install" "doc/stex.pdf" "doc/stex.html"))))) diff --git a/gnu/packages/patches/stex-copy-from-immutable-store.patch b/gnu/packages/patches/stex-copy-from-immutable-store.patch new file mode 100644 index 0000000000..4562e431c1 --- /dev/null +++ b/gnu/packages/patches/stex-copy-from-immutable-store.patch @@ -0,0 +1,41 @@ +From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 28 Apr 2022 22:56:20 -0400 +Subject: [PATCH] fix read-only gifs and math directories + +An installed copy of stex might have all write permission bits removed, +even for the owner of the installed files: this is the case with Guix +package of stex, for example. If such an installation is used to +initialize the gifs or math directories (e.g. for an out-of-source +build), tar likewise creates them without write permissions, preventing +subdirectories from being created later. Set the user write bit +explicitly to avoid this problem. + Mf-stex + +Related to https://github.com/racket/racket/pull/4203 +--- + +Submitted upstream in https://github.com/dybvig/stex/pull/6 + + Mf-stex | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Mf-stex b/Mf-stex +index 09ec6f3..11fb214 100644 +--- a/Mf-stex ++++ b/Mf-stex +@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles) + + gifs: + (cd $(STEXLIB); tar -cf - gifs) | tar -xpf - ++ chmod u+w gifs + + math: + (cd $(STEXLIB); tar -cf - math) | tar -xpf - ++ chmod u+w math + + $(mathfiles): $(x).hthirdrun $(figps) + echo -n gifs= > $(mathfiles) +-- +2.32.0 + -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 04/14] etc: teams: Add entry for Philip McGrath. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177329743 (code B ref 57050); Thu, 25 Aug 2022 08:56:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:32 +0000 Received: from localhost ([127.0.0.1]:48867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eC-0002Wz-3Y for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:32 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:46696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8e9-0002VD-4Z for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:29 -0400 Received: by mail-vs1-f42.google.com with SMTP id d126so20181550vsd.13 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=4F621n76sskPxin487rlQnOvILrXbSQuRKsoo6z/anA=; b=H3laopsnfBoAd27yF9lufScxies4LUN4coZT98ehqAOfscqAgQFmROuxl00NvMcruW EFO4olqBZIa/XAg3PWGNwzKQ8JFAgEiy1pDEVBRMvm26/ATCEDXzR688zgYNTYkequi4 KTcdf7vW7xdLgg8C9CEHuRscjHR7ECmMS+2BkMR843s1a5ensKKPosgGfLJY0qJPKmNS fce1KIhD78tyx/JM4N2xdKMK6HY2qrSTCssF2jLRb1kapVFkiYjHLRximV01a7lVmqk1 1X7VfLqmDWTvg2tGv4hNe7Izcv3dNX1SL52VNaltfIwrPlSGaVtyXcexjUTyNC5OG4LS uB5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=4F621n76sskPxin487rlQnOvILrXbSQuRKsoo6z/anA=; b=pr6K7BeIjLyufwstPlinAYjMuCBxg10XDFzfcAOkk+d2nWm8EM0K3fK35UiUliS/90 ut15mKd20Y9fTMSbmFig6sqlmIkC5oWIySs7IMbMYnvTc3x+gOxSG8VI2Q57nfR/QYFa WVNygCmzgfFz24ok9d5wNOh40yWxx4pTb7X/W/oT5E0Yp55mUPUdfkQkYVyX6wY9+Q/u tTFpzJ4FSkv/jTS8QiJiXAKQXB2rHuk7wa/BnPI6zuD61a38CvB52afoiIW4j0Du8hRN FTL2/8Dt98ShgVQH0uyQ5EvYRY2lJWKsibnuYu2RTX745Y5TVRnU0m/QiNf+t/WAMeLk 0xhQ== X-Gm-Message-State: ACgBeo3vWL/zb2yl4//tY3kNnpMOF/DgBMAa7InjXfJWEbL7+pd/EgA0 9OvUqTLQwzHaRss6IbpkuRwKGSyO0039D+qi X-Google-Smtp-Source: AA6agR4dAuIKbUIIKsHYQALHrrw4L26OfrmtwjMJ2n7Sql/u8NRwBgREMqANmci+tQU3y9BFwbH9HQ== X-Received: by 2002:a67:d392:0:b0:390:99e6:1d8c with SMTP id b18-20020a67d392000000b0039099e61d8cmr1156731vsj.72.1661417728781; Thu, 25 Aug 2022 01:55:28 -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 c85-20020a1f1c58000000b003896e5fb3a5sm13550985vkc.24.2022.08.25.01.55.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:28 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:06 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in ("Philip McGrath"): New member. --- etc/teams.scm.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index e2eb5048f6..38b7ab8e1d 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -238,6 +238,10 @@ (define-member (person "Julien Lepiller" "julien@lepiller.eu") java ocaml translations) +(define-member (person "Philip McGrath" + "philip@philipmcgrath.com") + racket) + (define-member (person "Mathieu Othacehe" "othacehe@gnu.org") core installer mentors) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 03/14] etc: teams: Add racket team. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177329749 (code B ref 57050); Thu, 25 Aug 2022 08:56:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:32 +0000 Received: from localhost ([127.0.0.1]:48869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eC-0002X6-Ea for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:32 -0400 Received: from mail-ua1-f50.google.com ([209.85.222.50]:43589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eA-0002Wa-7o for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:30 -0400 Received: by mail-ua1-f50.google.com with SMTP id z14so469710uam.10 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=nX8b0wPN+u0l/GepPJg+/mKbwBeLMJ6Tlrf8OY2HN1w=; b=Yxx0ZFjXRE5MjfFuyDYEdTHEbWTZ1G9ar9E3wIlokM9oPTJv7a5wZYrnZ/sxc3r+Jj zQxFjyPXl0xihzVqiMsswxRMo2XXJAXl0vZxzkMk1Kv/c0QvpXNX+/JExMvG5lrdvqNH ng/gO8RfZiQfaXS97lKPhVraqbS+pncgzm+jh4wYYG0IMocTX6YK9FwG78Gcfo3JK1B+ WUO+uSUa7ZahYo3PcYF0jFW0dJZ+hnxM5usa8+Ndwoug1lFInHt97x+ll3Pa1YcRLEr8 pPuuN7oDIgos5Joe8EYTtGWV/jpDD6uNQorpXx/z+mSI+971Y33QE+StYt1GSt0UeNdE 2JCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=nX8b0wPN+u0l/GepPJg+/mKbwBeLMJ6Tlrf8OY2HN1w=; b=QpK2ZvK2qD252TONU0wzR8+uUFBkfvPysoBYMTFd0zKhpgtc6Yf/UuyZVZQBifFkXZ J9nZoThhQMdfvLw+SMAmdb0dtNGKXBKxBqIHHD1V0YinYFYwt2RTfHypHwnrWf8XJOGM 5uxNgQgONQc1F5sIYDEF2lsmYjDW+HpQ52Y50d6krlylzNlwr/r45T9L1Ps9feQPvsKo EDl8d/6QOEp7+eiCiAecHyMZ7hDIPmpBe0/L/ZutcU5Kdhtp/VzKE461ADbv9HTH1c8Q AewFyO0BDEuiTHPynhZex7bh9gvoAChbQh7Pe9+UqNbpbisT5hogsbp+GQLKLe51/oQo 38CQ== X-Gm-Message-State: ACgBeo2307pL0wIdz0KR/Z1IPcWgzC/edW23mUQ1WV3hheSan93haS8u KtMVzcJsU+NZA1Ax3YRYpDRQIroy6uMNUjtb X-Google-Smtp-Source: AA6agR44Jx8vnfl+GtpqkHal0Z/WDiJLJxu53NUAuN/jUy6lB+IKN+BhiMgJGB4bA/LFLaa+DRDXuQ== X-Received: by 2002:ab0:66d6:0:b0:398:609b:b34e with SMTP id d22-20020ab066d6000000b00398609bb34emr998865uaq.123.1661417724662; Thu, 25 Aug 2022 01:55:24 -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 l11-20020a1f250b000000b003846b127feasm15253871vkl.48.2022.08.25.01.55.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:24 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:05 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in (racket): New team. --- etc/teams.scm.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index c99d794697..e2eb5048f6 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -185,6 +185,14 @@ (define-team mozilla "Taking care about Icecat and Icedove, built from Mozilla Firefox and Thunderbird.")) +(define-team racket + (team 'racket + #:name "Racket team" + #:description + "The Racket language and Racket-based languages, Racket packages, +Racket's variant of Chez Scheme, and development of a Racket build system and +importer.")) + (define-member (person "Thiago Jung Bauermann" "bauermann@kolabnow.com") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177559813 (code B ref 57050); Thu, 25 Aug 2022 08:56:04 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:55 +0000 Received: from localhost ([127.0.0.1]:48876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eX-0002Xy-Sb for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:55 -0400 Received: from mail-vk1-f179.google.com ([209.85.221.179]:45577) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eI-0002XJ-Nb for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:39 -0400 Received: by mail-vk1-f179.google.com with SMTP id t64so9861784vkb.12 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=zh/Tp+3ORrasgKkcLxEkrCSbNxjvWOrzb6PDcb/hl00=; b=OtsFs2rdjiR2l4Q2retTZWWRdpjXx5L0kHc/tcdwu8AkSk+w2SJ4SwNXfPz4AvSxDC 7H+Hji4xStTushvvaSOdmktVSenAHC4jCHphqImr+vE9bIq1+2zdhFLaCuvalS0ppzJ0 c9TBPRue/3t36xwWc/O7DzFd1RbkbdXkCPyn97mn/C6fAG7xx7H1ijGDreqd8opKcB0u uJlIR8+qKtOIoDA7faJABXH/Ww8sequ6gqXIAoS3zgB/J6M+izxvUW/bPQRKqXloniFH ygE0OpwMs1hB+5s+2tMeRqAxXARsBjiFHlw/GFwQYIBRmCwXhbtL4ZpLURCzAK19nlye SVKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=zh/Tp+3ORrasgKkcLxEkrCSbNxjvWOrzb6PDcb/hl00=; b=yRbINf/FEl9z0wIs+3bUtt3noqKEH6CXss2V0HrL4RLwlfmXHDbJyb/vUuTws2FhiU Mig5+0l01nHXoinuVzpjWw8Y+dT/k3BZ0adQ+xCoY4/O83WSqoNwsMZ5026OqVwFyl8W 51toA6GA5DUfFYIcaPKbN5LgH4/8ESnYp4kkfJwQm8CbLrWbcp4WBYYYpiwkTszFlV8e v1L3Whwb3i2E6E9RZMWt0rMTU42tprI6/lMjr36Frl8dfx1NDKNEW6bc70QCSS+6txTH CH7iwCNoT3xFiejgBBAPpiq6brIM1i8V+wbIK2M50TMMWwAzfiP/DyQJwfBKfiHQbgSD +QlA== X-Gm-Message-State: ACgBeo0/3Lliw52HSbncquEoYHSyezmLVZnbyrzd5qpfnw//crN1mrm/ H7ITyxzcTKSvjbvBdGj2D/0eb5GQmJP9Mun6 X-Google-Smtp-Source: AA6agR7ggJrtjnO1G8YCa5OPBPgBR48B54o6V7U42XXFG1AFjl8Uy4sB2MiXQESNPudeV6gikLGnPA== X-Received: by 2002:a1f:9002:0:b0:377:1433:93e9 with SMTP id s2-20020a1f9002000000b00377143393e9mr993845vkd.28.1661417733020; Thu, 25 Aug 2022 01:55:33 -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 f11-20020a67ee0b000000b003904a0d214esm9681238vsp.3.2022.08.25.01.55.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:32 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:07 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may not be The Right Thing in the long term, but it at least avoids a proliferation of 'CPPFLAGS'. * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ... * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and change to use '_PATH_BSHELL'. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. (racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change to a constant instead of a function, since we no longer need the delay. (racket-vm-cgc, racket-vm-bc, racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly. [inputs]: Remove 'bash-minimal'. --- gnu/local.mk | 2 +- ...-rktio.patch => racket-rktio-bin-sh.patch} | 60 +++++++++---------- gnu/packages/racket.scm | 15 ++--- 3 files changed, 35 insertions(+), 42 deletions(-) rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (54%) diff --git a/gnu/local.mk b/gnu/local.mk index 558fed8a0d..fae32a11e5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1768,7 +1768,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ - %D%/packages/patches/racket-minimal-sh-via-rktio.patch \ + %D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch b/gnu/packages/patches/racket-rktio-bin-sh.patch similarity index 54% rename from gnu/packages/patches/racket-minimal-sh-via-rktio.patch rename to gnu/packages/patches/racket-rktio-bin-sh.patch index 6bc2ee8331..ec6f0d9c56 100644 --- a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch +++ b/gnu/packages/patches/racket-rktio-bin-sh.patch @@ -1,7 +1,7 @@ -From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001 +From 6a553f24439fe64fd3a2f0b5902f00590ca4241f Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 4 Mar 2021 04:11:50 -0500 -Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix +Subject: [PATCH] rktio: patch rktio_process for "/bin/sh" on Guix Racket provides the functions `system` and `process`, which execute shell commands using `sh` (or `cmd` on Windows). @@ -12,37 +12,38 @@ This patch adds a special case for "/bin/sh" to `rktio_process`, the C function that implements the core of `system`, `process`, and related Racket functions. -Guix should enable the special case by defining the C preprocessor -macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store. If: - 1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and 2. `rktio_process` is called with the exact path "/bin/sh"; and - 3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists; + 3. The file specified by `_PATH_BSHELL` exists; -then `rktio_process` will execute the file specified -by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh". +then `rktio_process` will execute the file specified by `_PATH_BSHELL` +instead of "/bin/sh". -Compared to previous attempts to patch the Racket sources, -making this change at the C level is both: - - - More comprehensive: it catches all attempts to execute "/bin/sh", - without having to track down the source of every occurance; and - - - Less intrusive: by guarding the special case with a C preprocessor - conditional and a runtime check that the file in the store exists, - we make it much less likely that it will "leak" out of Guix. +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. --- - racket/src/rktio/rktio_process.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) + racket/src/rktio/rktio_process.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c -index 89202436c0..465ebdd5c5 100644 +index fafaf728c1..796ebc59ce 100644 --- a/racket/src/rktio/rktio_process.c +++ b/racket/src/rktio/rktio_process.c -@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) +@@ -9,6 +9,7 @@ + # include + # include + # include ++# include /* PATCHED for Guix */ + # ifdef USE_ULIMIT + # include + # endif +@@ -1301,12 +1302,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) /*========================================================================*/ rktio_process_result_t *rktio_process(rktio_t *rktio, @@ -58,22 +59,17 @@ index 89202436c0..465ebdd5c5 100644 rktio_process_result_t *result; intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2]; int pid; -@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, +@@ -1333,6 +1336,18 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, int i; #endif +/* BEGIN PATCH for Guix */ -+#if defined(GUIX_RKTIO_PATCH_BIN_SH) -+# define GUIX_AS_a_STR_HELPER(x) #x -+# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) -+ /* A level of indirection makes `#` work as needed: */ ++#if defined(_PATH_BSHELL) + command = + ((0 == strcmp(_guix_orig_command, "/bin/sh")) -+ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH))) -+ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH) ++ && rktio_file_exists(rktio, _PATH_BSHELL)) ++ ? _PATH_BSHELL + : _guix_orig_command; -+# undef GUIX_AS_a_STR -+# undef GUIX_AS_a_STR_HELPER +#else + command = _guix_orig_command; +#endif @@ -82,6 +78,8 @@ index 89202436c0..465ebdd5c5 100644 /* avoid compiler warnings: */ to_subprocess[0] = -1; to_subprocess[1] = -1; + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f -- -2.21.1 (Apple Git-122.3) +2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 3399bcc3fe..319f63f9d2 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -36,7 +36,6 @@ (define-module (gnu packages racket) #:use-module (ice-9 match) #:use-module (gnu packages) #:use-module (gnu packages autotools) - #:use-module (gnu packages bash) #:use-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages databases) @@ -212,7 +211,7 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-minimal-sh-via-rktio.patch")) + (patches (search-patches "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -232,8 +231,7 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) -(define (racket-vm-common-configure-flags) - ;; under a lambda abstraction to avoid evaluating bash-minimal too early. +(define racket-vm-common-configure-flags #~`(,@(cond ((false-if-exception (search-input-file %build-inputs "/bin/libtool")) @@ -248,8 +246,6 @@ (define (racket-vm-common-configure-flags) (list (string-append "--enable-racket=" racket)))) (else '())) - ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" - #$(file-append bash-minimal "/bin/sh")) "--disable-strip" ;; Using --enable-origtree lets us distinguish the VM from subsequent ;; layers and produces a build with the shape expected by tools such as @@ -267,7 +263,6 @@ (define-public racket-vm-cgc (version %racket-version) (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) - bash-minimal ;; <- common to all variants (for `system`) libffi)) ;; <- only for BC variants (native-inputs (list libtool)) ;; <- only for BC variants (outputs '("out" "debug")) @@ -276,7 +271,7 @@ (define-public racket-vm-cgc (list #:configure-flags #~(cons "--enable-cgcdefault" - #$(racket-vm-common-configure-flags)) + #$racket-vm-common-configure-flags) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -359,7 +354,7 @@ (define-public racket-vm-bc (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) #~(cons "--enable-bconly" - #$(racket-vm-common-configure-flags))))) + #$racket-vm-common-configure-flags)))) (synopsis "Racket BC [3M] implementation") (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written @@ -405,7 +400,7 @@ (define-public racket-vm-cs #$(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") - #$(racket-vm-common-configure-flags))))) + #$racket-vm-common-configure-flags)))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 06/14] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177569821 (code B ref 57050); Thu, 25 Aug 2022 08:56:04 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:56 +0000 Received: from localhost ([127.0.0.1]:48879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eZ-0002YE-O9 for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:56 -0400 Received: from mail-vs1-f51.google.com ([209.85.217.51]:34480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eM-0002XN-N2 for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:43 -0400 Received: by mail-vs1-f51.google.com with SMTP id q67so11459833vsa.1 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=fyJnmMnKmtISB2rntIQ/ske5rbxAqlvQx/iOqGlMAvs=; b=cut8mVkz4+4xl62yCiqEmrn2gUuH/lC421YRqGlhePY4VA2hdZJi5FYJ6WztQV+vA+ tem4Di+5h+3YbqjtwROTtiLE3ECj/13xgq8uvFZFUdyE8A9p3nYywotDA+JtvWZciNCo gZ812QTp+Q/+WjVjokzoxh4gQuVHFvtfcKTEpn5rCcsGZupsCh6B6tx7XApsIX2SjNHD 1JoBbU1iUrj/P8elbMIyaOauy8L05Gc6nPBJLTN1mQjhRbJfcLnAmTymIfyJupY+px7w Im2N0RwcBIqiLvm4WCMkGXH3d6b09D7Hk21YVVm6F/M4+xTk6/hUBIgOpK9Li0sc6w6y VBkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=fyJnmMnKmtISB2rntIQ/ske5rbxAqlvQx/iOqGlMAvs=; b=tpI5bSI2Dp777FnFnX4q+YvfAtL0ct4IzU6Iz2rJi4tcxWduwHrvkQTMxWYG8goieE w6NiGyPtvH3t1RSLgYDQMX+RnDAOEgeGO2pADenztOl1QCW8UxGq1MjKBCqGTNotrv0N s6UTcbuDlACa+pFhQDzAh/vRDsCvLtKVg2bDLaT0ozEObdKIqehy3rlKxz+4j0zEZqyh kE7aTobzZ7MaxqAFMXYU6mC/wAzrNAo6QOeLxkCKiUyiCrB0+ZL2xwD2SvyCaoBe1+J0 lO8jmtwWnszPiYEKm9ZsYL59s08kh1sCCvpeH1T2aJPIUueVLmfg5LOOFNoYTLwq3s+U cklA== X-Gm-Message-State: ACgBeo0DNmn5bMI0WGMqd6uvB3YFRO8JHkeQ+3VkDT+tuP3A1dU8UwO3 2sAKtYQiXTEmYX3+t4I8WVtNYNFJzWh8xaXG X-Google-Smtp-Source: AA6agR5jPhtWifFdynDXAx6mFfQxcr/zJifGJnWzJRZ2KeW4Gk8GEDxmAllvGDsiqhwXxwKKfljYzw== X-Received: by 2002:a05:6102:3c4:b0:388:d643:a5b3 with SMTP id n4-20020a05610203c400b00388d643a5b3mr1111506vsq.21.1661417737059; Thu, 25 Aug 2022 01:55:37 -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 l11-20020a1f250b000000b003846b127feasm15254181vkl.48.2022.08.25.01.55.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:36 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:08 -0400 Message-Id: <109112fc6b4d2b21f5a322a266d51194a00ea2de.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process' function seems to have caused parts of the Chez Scheme test suite to have been silently skipped. The issue was exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/chez-scheme-bin-sh.patch, gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Update accordingly. * gnu/packages/chez.scm (chez-scheme)[origin]: Likewise. --- gnu/local.mk | 2 + gnu/packages/chez.scm | 1 + gnu/packages/patches/chez-scheme-bin-sh.patch | 76 +++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 76 +++++++++++++++++++ gnu/packages/racket.scm | 3 +- 5 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index fae32a11e5..babd54c8c6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -941,6 +941,7 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-rocksdb-compat.patch \ %D%/packages/patches/cheese-vala-update.patch \ + %D%/packages/patches/chez-scheme-bin-sh.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ @@ -1768,6 +1769,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.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 812d41fc5b..c627c4d842 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -269,6 +269,7 @@ (define-public chez-scheme (base32 "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) (file-name (git-file-name name version)) + (patches (search-patches "chez-scheme-bin-sh.patch")) (snippet #~(begin (use-modules (guix build utils)) ;; TODO: consider putting this in a (guix ...) or diff --git a/gnu/packages/patches/chez-scheme-bin-sh.patch b/gnu/packages/patches/chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..7650914f01 --- /dev/null +++ b/gnu/packages/patches/chez-scheme-bin-sh.patch @@ -0,0 +1,76 @@ +From 3c838e6a0c3214d95bf02048cddccfd1b69a679f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] patch s_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. The path specified by `_PATH_BSHELL` exists; + +then `s_process` will call `execl` with the file specified by +`_PATH_BSHELL` instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + c/prim5.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/c/prim5.c b/c/prim5.c +index 5a07893..bc2736c 100644 +--- a/c/prim5.c ++++ b/c/prim5.c +@@ -23,6 +23,12 @@ + #include + #include + ++/* BEGIN PATCH for Guix */ ++#ifndef WIN32 ++# include ++#endif ++/* END PATCH for Guix */ ++ + /* locally defined functions */ + static INT s_errno(void); + static iptr s_addr_in_heap(uptr x); +@@ -746,6 +752,17 @@ static ptr s_process(char *s, IBOOL stderrp) { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(_PATH_BSHELL) ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(_PATH_BSHELL, &guix_stat_buf)) ++ ? _PATH_BSHELL ++ : "/bin/sh"; ++#else /* _PATH_BSHELL */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -771,7 +788,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9df56e7b25bc523663eac3da24be33afc5f76c84 +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..65cf2f99f3 --- /dev/null +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -0,0 +1,76 @@ +From e982b6687494bf071386c67be74e57a29cf4ce00 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 24 Aug 2022 19:55:14 -0400 +Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. The path specified by `_PATH_BSHELL` exists; + +then `s_process` will call `execl` with the file specified by +`_PATH_BSHELL` instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + racket/src/ChezScheme/c/prim5.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index f5e3e345be..922421ca75 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -22,6 +22,12 @@ + #include + #include + ++/* BEGIN PATCH for Guix */ ++#ifndef WIN32 ++# include ++#endif ++/* END PATCH for Guix */ ++ + /* locally defined functions */ + static INT s_errno PROTO((void)); + static IBOOL s_addr_in_heap PROTO((uptr x)); +@@ -856,6 +862,17 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(_PATH_BSHELL) ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(_PATH_BSHELL, &guix_stat_buf)) ++ ? _PATH_BSHELL ++ : "/bin/sh"; ++#else /* _PATH_BSHELL */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -881,7 +898,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 319f63f9d2..0f766e7850 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -211,7 +211,8 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:56:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177589833 (code B ref 57050); Thu, 25 Aug 2022 08:56:05 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:55:58 +0000 Received: from localhost ([127.0.0.1]:48881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ea-0002YL-FG for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:57 -0400 Received: from mail-ua1-f46.google.com ([209.85.222.46]:36724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eR-0002XZ-9g for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:51 -0400 Received: by mail-ua1-f46.google.com with SMTP id b23so1587991uaq.3 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Xe5qEGkckqRTP9IqvVYwsLyl9uJt7RlYUBOhloeta44=; b=ddn1I4hMboS6AqJ0cEYflgz4fas8GfNbVGPbA6e4aliK0+DoRCVOBZWIUlSgb57sCL WSF81WTdUMeOdU7mHhIfcFsZThRctLdcS2Sb6dQ5VfoB5qifC/4jHYg9nEH6NTiGa7QQ 4LA+xEIyk0E9KRcU8Q/iqUYbPOwhyWHK1f+5jMQohH1oXbnPS/LUUwzDsRlfTcycHMi+ /ISdcP3o4dc7IfOcbZc0JaejyNkR7UVHr/Rwm2coKyzDRDh8qOHiU4QWZGhhHjUKukGK wZKyMMhVmBGHfVNGB1v/pTuQM3yO6p0NgMsvs9IXKixC4KCHEqTHeg8yaqCe9W1/vnN3 kdPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Xe5qEGkckqRTP9IqvVYwsLyl9uJt7RlYUBOhloeta44=; b=ZGFVXR7gw7uzmBhtIjloPi0stE5ACIwcvCz0S6NW9yXafYWn+dkvW4b4NVgPqAzJeI qm55eo/VmG6vVxZBKDktX/uA5aeHzTNcZrLgLEMHOAht3I4AenafAfl4+OpTi6k5Fl+4 9xTx+bjuC6Go3Re8xuOnC/WEv1x0ZhibDRW/7uFMgF1q9tN+iqb4Z8UYebmm8hvwORXB y/AGAiOyW9KPaDgoxLfH6OOJF0OsT2yx2vwC0Eu7rB42bRB/D7YUHVOrV6FL4LM34Gs+ 4VwUqTQfuLCPpcJ6JmVRVdAsx3rxVkvnXIZehKwEZssr/oQetxj634pINNS/QSrTjOP6 24sw== X-Gm-Message-State: ACgBeo37i2p11+TDuq6eHS14okMf05kL7fbgCvRPcOhsv5VrNyCgcAfU 9Uavy6iKLb9fcMQ117nnLT+SBvkzLrdpWApZ X-Google-Smtp-Source: AA6agR7sX0bzCAJk08ghUztlusNQTgjLENMvMdUb2DlEkIWICa2CXbRpXwVhgpJ9ZCYDtSFCI3FnIA== X-Received: by 2002:ab0:3347:0:b0:39f:419b:433d with SMTP id h7-20020ab03347000000b0039f419b433dmr1051162uap.2.1661417741346; Thu, 25 Aug 2022 01:55:41 -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 ba6-20020a056102282600b0038855ac0416sm14265205vsb.7.2022.08.25.01.55.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:41 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:09 -0400 Message-Id: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/patches/racket-backport-8.6-zuo.patch, gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%zuo-version): New variable. (zuo): New variable. --- gnu/local.mk | 2 + .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++++++ gnu/packages/patches/racket-zuo-bin-sh.patch | 74 +++ gnu/packages/racket.scm | 51 ++ 4 files changed, 608 insertions(+) create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index babd54c8c6..c9c3061b33 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1769,8 +1769,10 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-backport-8.6-zuo.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ + %D%/packages/patches/racket-zuo-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch b/gnu/packages/patches/racket-backport-8.6-zuo.patch new file mode 100644 index 0000000000..b86679b7ec --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch @@ -0,0 +1,481 @@ +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:10:58 -0600 +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and + `CC_FOR_BUILD` + +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) +--- + racket/src/zuo/Makefile.in | 7 ++++++- + racket/src/zuo/README.md | 10 ++++++++++ + racket/src/zuo/configure | 15 +++++++++++++++ + racket/src/zuo/configure.ac | 11 +++++++++++ + 4 files changed, 42 insertions(+), 1 deletion(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 5d16e145bf..747b584c5c 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ ++LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ ++ + EMBED_LIBS = @EMBED_LIBS@ + + .PHONY: zuos-to-run-and-install +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS) ++ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md +index 17c88ee9ec..3aad504b7e 100644 +--- a/racket/src/zuo/README.md ++++ b/racket/src/zuo/README.md +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a stand-alone file or + embedded in `.c` source. + + ++Cross Compiling ++--------------- ++ ++If you use `./configure --host=...` to cross compile, then you will ++also need to add something like `CC_FOR_BUILD=cc` as a `./configure` ++argument to specify the compiler for a `zuo` to use on the build ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. ++ ++ + Embedding Zuo in Another Application + ------------------------------------ + +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 1fa34a3fe8..575ce07d96 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -589,6 +589,10 @@ enable_embed="zuo" + ac_subst_vars='LTLIBOBJS + LIBOBJS + EMBED_LIBS ++LIBS_FOR_BUILD ++LDFLAGS_FOR_BUILD ++CFLAGS_FOR_BUILD ++CC_FOR_BUILD + OBJEXT + EXEEXT + ac_ct_CC +@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++ ++ ++ ++ ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 89b3c6391d..598ff79629 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno], + AC_PROG_MAKE_SET() + AC_PROG_CC + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) ++AC_SUBST(LIBS_FOR_BUILD) ++ + AC_SUBST(EMBED_LIBS) + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) + +-- +2.32.0 + + +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:47:03 -0600 +Subject: [PATCH 2/4] Zuo: sort hash keys + +Printing in a sorted order is helpful to make things more +deterministic independent of symbol inputs. Making `hash-keys` +produce a sorted list generalizes that determinism. + +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) +--- + racket/src/zuo/build.zuo | 5 ++- + racket/src/zuo/tests/hash.zuo | 8 ++-- + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- + racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++- + 4 files changed, 78 insertions(+), 10 deletions(-) + +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo +index c1b5e8ce66..129240120a 100644 +--- a/racket/src/zuo/build.zuo ++++ b/racket/src/zuo/build.zuo +@@ -47,7 +47,10 @@ + (target (at-dir (add-exe name)) + (lambda (path token) + (rule (list image_zuo.c +- (input-data-target 'config config) ++ (input-data-target 'config (cons ++ lib-path ++ (map (lambda (key) (hash-ref config key)) ++ '(CC CPPFLAGS CFLAGS LDFLAGS LIBS)))) + (quote-module-path)) + (lambda () + (define l (split-path path)) +diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.zuo +index a35741c730..0d3d7f3af6 100644 +--- a/racket/src/zuo/tests/hash.zuo ++++ b/racket/src/zuo/tests/hash.zuo +@@ -35,9 +35,7 @@ + + (check (hash-keys (hash)) '()) + (check (hash-keys (hash 'a 1)) '(a)) +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) +- (or (equal? keys '(a b)) +- (equal? keys '(b a))))) ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) + (check-arg-fail (hash-keys 0) "not a hash table") +@@ -50,3 +48,7 @@ + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") ++ ++;; print sorts keys alphabetically: ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 94641d041e..4605e47471 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -538,10 +538,20 @@ support to convert the textual form back into a hash table value. + + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove + hash-keys hash-count hash-keys-subset?] from @racketmodname[racket]. +-Besides being constrained to symbol keys, there is one additional +-difference: the third argument to @racket[hash-ref], when supplied, +-is always used as a value to return if a key is missing, as +-opposed to a failure thunk.} ++ ++Besides being constrained to symbol keys, there are two additional ++differences: ++ ++@itemlist[ ++ ++ @item{the third argument to @racket[hash-ref], when supplied, is ++ always used as a value to return if a key is missing, as ++ opposed to a failure thunk; and} ++ ++ @item{the @racket[hash-keys] function returns interned keys sorted ++ alphabetically.} ++ ++]} + + + @section{Procedures} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 2957d478af..88d5747326 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t *accum) { + return accum; + } + ++/*======================================================================*/ ++/* symbol-list sorting */ ++/*======================================================================*/ ++ ++/* merge sort used to make hash printing deterministic */ ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { ++ zuo_t *l, *left, *right, *first, *last; ++ zuo_uint_t len = 0, i; ++ ++ for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l)) ++ len++; ++ ++ if (len < 2) ++ return l_in; ++ ++ left = z.o_null; ++ for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--) ++ left = zuo_cons(_zuo_car(l), left); ++ right = l; ++ ++ left = zuo_symbol_list_sort(left); ++ right = zuo_symbol_list_sort(right); ++ ++ first = last = z.o_null; ++ while ((left != z.o_null) && (right != z.o_null)) { ++ zuo_t *p; ++ ++ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), ++ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) ++ < 1) { ++ p = zuo_cons(_zuo_car(left), z.o_null); ++ left = _zuo_cdr(left); ++ } else { ++ p = zuo_cons(_zuo_car(right), z.o_null); ++ right = _zuo_cdr(right); ++ } ++ ++ if (first == z.o_null) ++ first = p; ++ else ++ ((zuo_pair_t *)last)->cdr = p; ++ last = p; ++ } ++ ++ ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right); ++ ++ return first; ++} ++ ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { ++ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); ++} ++ + /*======================================================================*/ + /* terminal support */ + /*======================================================================*/ +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zuo_print_mode_t mode) { + out_string(out, "opaque"); + out_string(out, ">"); + } else if (obj->tag == zuo_trie_node_tag) { +- zuo_t *keys = zuo_trie_keys(obj, z.o_null); ++ zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null); + if (mode == zuo_print_mode) { + out_string(out, "(hash"); + if (keys != z.o_null) +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sym) { + + static zuo_t *zuo_hash_keys(zuo_t *ht) { + check_hash("hash-keys", ht); +- return zuo_trie_keys(ht, z.o_null); ++ return zuo_trie_sorted_keys(ht, z.o_null); + } + + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { +-- +2.32.0 + + +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 18:06:41 -0600 +Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol` + +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) +--- + racket/src/zuo/tests/symbol.zuo | 3 +++ + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++- + racket/src/zuo/zuo.c | 37 +++++++++++++++++---------- + 3 files changed, 29 insertions(+), 15 deletions(-) + +diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symbol.zuo +index 7775aeeb04..5600a89755 100644 +--- a/racket/src/zuo/tests/symbol.zuo ++++ b/racket/src/zuo/tests/symbol.zuo +@@ -19,3 +19,6 @@ + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) + (check-arg-fail (string->symbol 'apple) not-string) + (check-arg-fail (string->uninterned-symbol 'apple) not-string) ++ ++(check-arg-fail (string->symbol "apple\0spice") "without a nul character") ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 4605e47471..07dd5815b0 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -500,7 +500,9 @@ back into Zuo. + )]{ + + Analogous to @realracket*[symbol? symbol->string string->symbol +-string->uninterned-symbol] from @racketmodname[racket].} ++string->uninterned-symbol] from @racketmodname[racket], but ++@racket[string->symbol] accepts only strings that do not contain the ++null character.} + + + @section{Hash Tables (Persistent Maps)} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 88d5747326..17f161826d 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { + + first = last = z.o_null; + while ((left != z.o_null) && (right != z.o_null)) { +- zuo_t *p; ++ zuo_t *p, *s_left, *s_right; + + if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), + ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *start_i, zuo_t *end_i) { + return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx], e_idx - s_idx); + } + ++static int zuo_is_string_without_nul(zuo_t *obj) { ++ zuo_int_t i; ++ ++ if ((obj->tag != zuo_string_tag) ++ || ZUO_STRING_LEN(obj) == 0) ++ return 0; ++ ++ for (i = ZUO_STRING_LEN(obj); i--; ) { ++ if (((zuo_string_t *)obj)->s[i] == 0) ++ return 0; ++ } ++ ++ return 1; ++} ++ + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { +- check_string("string->symbol", obj); ++ if (!zuo_is_string_without_nul(obj)) { ++ const char *who = "string->symbol"; ++ check_string(who, obj); ++ zuo_fail_arg(who, "string without a nul character", obj); ++ } ++ + return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); + } + +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, zuo_t *envvars) + #endif + + static int zuo_is_path_string(zuo_t *obj) { +- zuo_int_t i; +- +- if ((obj->tag != zuo_string_tag) +- || ZUO_STRING_LEN(obj) == 0) +- return 0; +- +- for (i = ZUO_STRING_LEN(obj); i--; ) { +- if (((zuo_string_t *)obj)->s[i] == 0) +- return 0; +- } +- +- return 1; ++ return zuo_is_string_without_nul(obj); + } + + static zuo_t *zuo_path_string_p(zuo_t *obj) { +-- +2.32.0 + + +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 19:50:46 -0600 +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too + +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) +--- + racket/src/zuo/Makefile.in | 3 ++- + racket/src/zuo/configure | 5 ++++- + racket/src/zuo/configure.ac | 4 +++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 747b584c5c..0376c038a8 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -19,6 +19,7 @@ LIBS = @LIBS@ + + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ + +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 575ce07d96..7ac453e3bc 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -591,6 +591,7 @@ LIBOBJS + EMBED_LIBS + LIBS_FOR_BUILD + LDFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + OBJEXT +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi +@@ -2600,6 +2602,7 @@ fi + + + ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} + +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 598ff79629..051ea0beb5 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -27,12 +27,14 @@ AC_PROG_CC + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(LIBS_FOR_BUILD) + +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch b/gnu/packages/patches/racket-zuo-bin-sh.patch new file mode 100644 index 0000000000..bcdcb8e963 --- /dev/null +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch @@ -0,0 +1,74 @@ +From 73d9b77a11b4516905caf579abb559736f715ea6 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Mon, 11 Apr 2022 20:43:18 -0400 +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. `zuo_process` is called with the exact path "/bin/sh"; and + + 3. The path specified by `_PATH_BSHELL` exists; + +then `zuo_process` will execute the file specified by `_PATH_BSHELL` +instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. +--- + racket/src/zuo/zuo.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 17f161826d..c4fb3929bb 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -15,6 +15,7 @@ + #include + #include + #ifdef ZUO_UNIX ++# include /* PATCHED for Guix */ + # include + # include + # include +@@ -5730,7 +5731,10 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_raw_handle_t *_w) + zuo_t *zuo_process(zuo_t *command_and_args) + { + const char *who = "process"; +- zuo_t *command = _zuo_car(command_and_args); ++ /* BEGIN PATCH for Guix */ ++ zuo_t *_guix_orig_command = _zuo_car(command_and_args); ++ zuo_t *command; ++ /* END PATCH for Guix */ + zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null; + zuo_t *options = z.o_empty_hash, *opt; + zuo_t *dir, *l, *p_handle, *result; +@@ -5741,7 +5745,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) + void *env; + int as_child, exact_cmdline; + +- check_path_string(who, command); ++ /* BEGIN PATCH for Guix */ ++ check_path_string(who, _guix_orig_command); ++#if defined(_PATH_BSHELL) ++ command = ++ ((z.o_false == zuo_string_eql(_guix_orig_command, zuo_string("/bin/sh"))) ++ || (z.o_false == zuo_stat(zuo_string(_PATH_BSHELL), z.o_false, z.o_true))) ++ ? _guix_orig_command ++ : zuo_string(_PATH_BSHELL); ++#else ++ command = _guix_orig_command; ++#endif ++ /* END PATCH for Guix */ ++ + for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) { + zuo_t *a = _zuo_car(l); + if (a == z.o_null) { + +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 0f766e7850..6433897981 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -200,6 +200,7 @@ (define* (racket-vm-for-system #:optional racket-vm-bc)) (define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) (define %racket-origin @@ -232,6 +233,56 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) + +(define-public zuo + (let ((revision #f)) + (package + (name "zuo") + (version (string-append %zuo-version + "-racket" + "8.6" + (if revision "-guix" "") + (or revision ""))) + (source + (origin + (inherit %racket-origin) + (uri (git-reference + (url "https://github.com/racket/racket") + (commit "v8.6"))) + (sha256 + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) + (patches (append (origin-patches %racket-origin) + (search-patches "racket-backport-8.6-zuo.patch" + "racket-zuo-bin-sh.patch"))) + (file-name (git-file-name "racket" "8.6")))) + (outputs '("out" "debug")) + (build-system gnu-build-system) + (arguments + (list + #:out-of-source? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "racket/src/zuo")))))) + (home-page "https://github.com/racket/zuo") + ;; ^ This is downstream of https://github.com/racket/racket, + ;; but it's designed to be a friendly landing place + (synopsis "Tiny Racket for build scripts") + (description "You should use Racket to write scripts. But what if you +need something much smaller than Racket for some reason—or what if you're +trying to script a build of Racket itself? Zuo (作) is a tiny Racket with +primitives for dealing with files and running processes, and it comes with a +@command{make}-like embedded DSL. + +Zuo is a Racket variant in the sense that program files start with +@code{#lang}, and the module path after @code{#lang} determines the parsing +and expansion of the file content. That's how the @command{make}-like DSL is +defined, and even the base Zuo language is defined by layers of @code{#lang}s. +One of the early layers implements macros.") + (license (list license:asl2.0 license:expat))))) + + (define racket-vm-common-configure-flags #~`(,@(cond ((false-if-exception -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 08/14] gnu: racket: Update to 8.6. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177809961 (code B ref 57050); Thu, 25 Aug 2022 08:57:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:20 +0000 Received: from localhost ([127.0.0.1]:48895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ew-0002aY-0c for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:20 -0400 Received: from mail-vs1-f48.google.com ([209.85.217.48]:35678) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eV-0002Xm-Te for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:54 -0400 Received: by mail-vs1-f48.google.com with SMTP id 67so20186490vsv.2 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=xB18k89Hd+VOETZ9em1JoUU1S38ksE9K6sf7RMjE53U=; b=QHxC/QhuGyu9sFi9J87L3J60bUYDPTUbbmzAyjt1bXJjHa5CiJNewAHdc9EN7xbXAd Ix8rEBQoLB5fAjPlc6Zw0E4WSqD3zxYjJ+BItWjipHWUEVK2fm58hlP/xh8NRz5kDAGW a0UlLB6lwYFx+fLDxJ6AXaYgaEc5YylebpabKGPzvdwwGRjanUMet8PW2NwqU2Ago387 ruKvaOYd6NJDtvEzvnPJSzSnnn8Mtysmt+W7lBZALnQUDnhq54LfPdJ5LobS81bT38hu vv/1Y2kst9ZtILD34J3FJ26k1ia0AuW5MZ5vjd1YovlMY5P/I+fwMQPWmoguZIr2xlQC NY+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=xB18k89Hd+VOETZ9em1JoUU1S38ksE9K6sf7RMjE53U=; b=bPkZDdFuISx67gQUxTzLkeTAY4jW4hvjxpwmSPPF7PiXGvbjANm7cZf2sA+wF/WYTc 5glHqcxpbYFB8cllAPAwyBnnEBpQNsjOzqmK+h6DchvX0wAPkGDyTp7pZ7cqNnFAEWqL bUm0PnFMYEQbs/aKnic+URh9M/goj157N8Y0SA4CxA4Jf1iCQDQin0JXNczUx1kBvoKn Eiw8kLf/M+FUg4Y4sCVQ38DuXDoiitJ5CjpMY6iQdwX+/mgVm8mAiibd8wvPfoGc0MYg OUPamRlEtGDoMGHZHJpDR1Tt4U0Daa2L0ny7I2xp9gGoJMBnb7h7+3lC/VWC2JnweKa3 F3bw== X-Gm-Message-State: ACgBeo0aSbIsEmWilKwFuybRPK52m4NynEI0bnWxqTUlxunO9LC3IZ1Q g6ITR4OTzJiT/Z5XLarYjiChPCQOM5lQdaOS X-Google-Smtp-Source: AA6agR5hbFngJWT6bNlErR8TfsG+ShfgDbaOUf5GecNqDFqfUrUV4zJGPVUerJA84mksisaIqwEGuw== X-Received: by 2002:a67:a246:0:b0:371:73d9:7316 with SMTP id t6-20020a67a246000000b0037173d97316mr1093980vsh.38.1661417745620; Thu, 25 Aug 2022 01:55:45 -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 z20-20020ab06294000000b00384ca77a9e8sm15929298uao.27.2022.08.25.01.55.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:45 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:10 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Also, update 'chez-scheme-for-racket' to 9.5.9.2. * gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch. * gnu/packages/patches/racket-backport-8.6-cross-install.patch, gnu/packages/patches/racket-backport-8.6-docindex-write.patch, gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the patches for Zuo. (%racket-version): Update to 8.6. (zuo)[version]: Refer to '%racket-version'. [origin]: Use '%racket-origin'. (racket-vm-cgc)[native-inputs]: Add 'zuo'. [arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'. (racket)[inputs]: Update checksums. * gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX. (%chez-features-table): Likewise. (chez-scheme-for-racket): Update to 9.5.9.2. [native-inputs]: Add 'zuo'. [arguments]<#:out-of-source?>: Use out-of-source build. <#:tests?>: Skip them due to ongoing problems. <#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='. <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here, rather than in a phase. <#:phases>: Replace 'install-docs' using new 'make' target. --- gnu/packages/chez.scm | 52 +- .../racket-backport-8.6-cross-install.patch | 126 ++++ .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 26 +- gnu/packages/racket.scm | 121 ++-- 6 files changed, 893 insertions(+), 77 deletions(-) create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index c627c4d842..b59398578a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -115,7 +115,7 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ((target-linux? system) "le") ((target-hurd? system) - #f) + "gnu") ((target-mingw? system) "nt") ;; missing (guix utils) predicates @@ -131,6 +131,8 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ;; Nix says "x86_64-solaris", but accommodate "-solaris2" ((string-contains system "solaris") "s2") + ((string-suffix? "-qnx" system) + "qnx") ;; unknown (else #f))) @@ -167,6 +169,9 @@ (define %chez-features-table ("arm32" bootstrap-bootfiles) ("arm64" . #f) ("ppc32" threads)) + ;; Hurd + ("gnu" + ("i3" . #f)) ;; FreeBSD ("fb" ("i3" threads) ;; commented out @@ -192,6 +197,9 @@ (define %chez-features-table ("s2" ("i3" threads) ;; commented out ("a6" threads)) ;; commented out + ;; QNX + ("qnx" + ("i3" . #f)) ;; Windows ("nt" ("i3" threads bootstrap-bootfiles) @@ -433,7 +441,7 @@ (define-public chez-scheme-for-racket (package (inherit chez-scheme) (name "chez-scheme-for-racket") - (version "9.5.7.6") + (version "9.5.9.2") ;; 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! @@ -444,18 +452,52 @@ (define-public chez-scheme-for-racket (delete "libx11" "util-linux:lib"))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) + (prepend zuo) (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) + ((#:out-of-source? _ #f) + #t) + ((#:tests? _ #t) + ;; FIXME: There have been some flaky test failures. Some have been + ;; fixed upstream post-release but have proven non-trivial to + ;; backport; at least one issue remains. Re-enable tests once + ;; https://github.com/racket/racket/issues/4359 is fixed. + #f) ((#:configure-flags cfg-flags #~'()) - #~(cons* "--disable-x11" - "--threads" ;; ok to potentially duplicate - #$cfg-flags)) + #~`("--disable-x11" + "--threads" ;; ok to potentially duplicate + ,@(let* ((chez+version (strip-store-file-name #$output)) + (doc-prefix (assoc-ref %outputs "doc")) + (doc-dir (string-append doc-prefix + "/share/doc/" + chez+version))) + (list (string-append "--installcsug=" + doc-dir + "/csug") + (string-append "--installreleasenotes=" + doc-dir + "/release_notes"))) + ,@#$cfg-flags)) + ((#:make-flags mk-flags #~'()) + #~(cons* (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo") + (string-append "STEXLIB=" + #+(this-package-native-input "stex") + "/lib/stex") + #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) (unpack (assoc-ref those-phases 'unpack))) (modify-phases those-phases + (replace 'install-docs + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke + "make" + "install-docs" + make-flags))) (replace 'unpack (lambda args (unpack #:source #$(or (package-source this-package) diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch new file mode 100644 index 0000000000..2c4d8924ed --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -0,0 +1,126 @@ +From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 30 Jul 2022 07:06:55 -0600 +Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross + compilation + +Closes #4377 + +(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5) +--- + racket/src/cs/c/build.zuo | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo +index 8d3950bb27..d8b74c509d 100644 +--- a/racket/src/cs/c/build.zuo ++++ b/racket/src/cs/c/build.zuo +@@ -1016,10 +1016,9 @@ + (define (setup) + (call-with-dest-racket + (lambda (bindir dest-racket) +- (define copytree-racket (and cross? (config-bootstrap-racket))) ++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket))) + (maybe-copytree config dest-racket copytree-racket at-dir) +- (run-raco-setup config dest-racket +- (and cross? (hash-ref (config-bootstrap-racket) 'racket)) ++ (run-raco-setup config dest-racket copytree-racket + ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`, + ;; but redundant should be ok: + (list "-MCR" (~a (at-dir "compiled") ":") +-- +2.32.0 + + +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Mon, 15 Aug 2022 10:37:01 +0800 +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build + +Don't assume a cross build for a pb target on a platform that's only +supported via pb. + +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) + +(Edited to remove unrelated tweak to comments in +"racket/src/expander/expand/require+provide.rkt".) +--- + racket/src/cs/c/configure | 15 +++++++++++---- + racket/src/cs/c/configure.ac | 15 +++++++++++---- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..7e0fa5600d 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..734c1e8feb 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch new file mode 100644 index 0000000000..abe1984507 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch @@ -0,0 +1,36 @@ +From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sun, 17 Jul 2022 22:51:44 -0400 +Subject: [PATCH] racket-index: set write permission when copying + `docindex.sqlite` + +Fixes https://github.com/racket/racket/issues/4357 + +(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2) +--- + pkgs/racket-index/setup/scribble.rkt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt +index 6694f0b793..e27a8fa348 100644 +--- a/pkgs/racket-index/setup/scribble.rkt ++++ b/pkgs/racket-index/setup/scribble.rkt +@@ -252,7 +252,14 @@ + (unless (file-exists? db-file) + (define-values (base name dir?) (split-path db-file)) + (make-directory* base) +- (when copy-from (copy-file copy-from db-file)) ++ (when copy-from ++ (copy-file copy-from db-file) ++ ;; we might not have write permissions for the previous layer: ++ ;; ensure that we do for the new file ++ (define orig-mode (file-or-directory-permissions db-file 'bits)) ++ (define writeable-mode (bitwise-ior user-write-bit orig-mode)) ++ (unless (= writeable-mode orig-mode) ++ (file-or-directory-permissions db-file writeable-mode))) + (doc-db-disconnect + (doc-db-file->connection db-file #t)))) + (when (or (ormap can-build*? main-docs) +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch new file mode 100644 index 0000000000..d593b01e62 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-hurd.patch @@ -0,0 +1,609 @@ +From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 3 Aug 2022 03:13:03 -0400 +Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd + +Mostly GNU/Hurd should take the same options as GNU/Linux. One +difference is that the Hurd does not define macros such as `PATH_MAX` or +`NOFILE`, because it avoids imposing arbitrary limits on such resources. +This patch provides alternatives for localized uses of those constants, +but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for +now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html. + +(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085) +--- + racket/src/ChezScheme/README.md | 1 + + racket/src/ChezScheme/c/number.c | 22 +++++++++---------- + racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++-- + racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------ + racket/src/ChezScheme/c/version.h | 7 ++++-- + racket/src/ChezScheme/configure | 17 ++++++++++----- + racket/src/ChezScheme/s/cmacros.ss | 1 + + racket/src/cs/c/configure | 14 ++++++++++-- + racket/src/cs/c/configure.ac | 14 ++++++++++-- + racket/src/cs/rumble/system.ss | 3 +++ + 10 files changed, 109 insertions(+), 39 deletions(-) + +diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md +index a4a11a5eef..25231dd9bb 100644 +--- a/racket/src/ChezScheme/README.md ++++ b/racket/src/ChezScheme/README.md +@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others): + * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * Solaris: x86, x86_64 ++ * GNU/Hurd: x86 + * Android: ARMv7, AArch64 + * iOS: AArch64 + * WebAssembly via Emscripten (bytecode interpreter only) +diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c +index ede38cc626..e2bce0d2d3 100644 +--- a/racket/src/ChezScheme/c/number.c ++++ b/racket/src/ChezScheme/c/number.c +@@ -1041,15 +1041,15 @@ floating-point operations + + #ifdef IEEE_DOUBLE + /* exponent stored + 1024, hidden bit to left of decimal point */ +-#define bias 1023 +-#define bitstoright 52 +-#define m1mask 0xf +-#ifdef WIN32 +-#define hidden_bit 0x10000000000000 +-#else +-#define hidden_bit 0x10000000000000ULL +-#endif +-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE ++# define bias 1023 ++# define bitstoright 52 ++# define m1mask 0xf ++# ifdef WIN32 ++# define hidden_bit 0x10000000000000 ++# else ++# define hidden_bit 0x10000000000000ULL ++# endif ++# ifdef LITTLE_ENDIAN_IEEE_DOUBLE + struct dblflt { + UINT m4: 16; + UINT m3: 16; +@@ -1058,7 +1058,7 @@ struct dblflt { + UINT e: 11; + UINT sign: 1; + }; +-#else ++# else + struct dblflt { + UINT sign: 1; + UINT e: 11; +@@ -1067,7 +1067,7 @@ struct dblflt { + UINT m3: 16; + UINT m4: 16; + }; +-#endif ++# endif + #endif + + double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) { +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index 124d1e049c..82bbf8d687 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -23,6 +23,10 @@ + #include + #include + ++#if defined(__GNU__) /* Hurd */ ++#include ++#endif ++ + /* locally defined functions */ + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn); + static ptr s_system(const char *s); + static ptr s_process(char *s, IBOOL stderrp); + static I32 s_chdir(const char *inpath); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + static char *s_getwd(void); + #endif + static ptr s_set_code_byte(ptr p, ptr n, ptr x); +@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(0); if (dup(tofds[0]) != 0) _exit(1); + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); ++#ifndef __GNU__ /* Hurd */ + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} ++#else /* __GNU__ Hurd: no NOFILE */ ++ { ++ INT i; ++ struct rlimit rlim; ++ getrlimit(RLIMIT_NOFILE, &rlim); ++ for (i = 3; i < rlim.rlim_cur; i++) { ++ (void)CLOSE(i); ++ } ++ } ++#endif /* __GNU__ Hurd */ + execl("/bin/sh", "/bin/sh", "-c", s, NULL); + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ +@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) { + static char *s_getwd() { + return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0))); + } ++#elif defined(__GNU__) /* Hurd: no PATH_MAX */ ++static char *s_getwd() { ++ char *path; ++ size_t len; ++ ptr bv; ++ path = getcwd(NULL, 0); ++ if (NULL == path) { ++ return NULL; ++ } else { ++ len = strlen(path); ++ bv = S_bytevector(len); ++ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len); ++ free(path); ++ return TO_VOIDP(&BVIT(bv, 0)); ++ } ++} + #endif /* GETWD */ + + static ptr s_set_code_byte(ptr p, ptr n, ptr x) { +@@ -1817,7 +1848,7 @@ void S_prim5_init(void) { + Sforeign_symbol("(cs)s_rational", (void *)S_rational); + Sforeign_symbol("(cs)sub", (void *)S_sub); + Sforeign_symbol("(cs)rem", (void *)S_rem); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + Sforeign_symbol("(cs)s_getwd", (void *)s_getwd); + #endif + Sforeign_symbol("(cs)s_chdir", (void *)s_chdir); +diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c +index ed5564540b..0c40e3eaf0 100644 +--- a/racket/src/ChezScheme/c/scheme.c ++++ b/racket/src/ChezScheme/c/scheme.c +@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char + static const char *path_last(const char *path); + static char *get_defaultheapdirs(void); + ++#ifdef PATH_MAX ++# define BOOT_PATH_MAX PATH_MAX ++#else /* hack for Hurd: better to remove the restriction */ ++# define BOOT_PATH_MAX 4096 ++#endif ++ + static const char *path_last(const char *p) { + const char *s; + #ifdef WIN32 +@@ -483,7 +489,7 @@ static const char *path_last(const char *p) { + + static char *get_defaultheapdirs() { + char *result; +- wchar_t buf[PATH_MAX]; ++ wchar_t buf[BOOT_PATH_MAX]; + DWORD len = sizeof(buf); + if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len)) + return DEFAULT_HEAP_PATH; +@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() { + * leaving the full path with name affixed in path and *sp / *dsp pointing + * past the current entry. it returns 1 on success and 0 if at the end of + * the search path. path should be a pointer to an unoccupied buffer +- * PATH_MAX characters long. either or both of sp/dsp may be empty, ++ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty, + * but neither may be null, i.e., (char *)0. */ + static IBOOL next_path(char *path, const char *name, const char *ext, + const char **sp, const char **dsp) { + char *p; + const char *s, *t; + +-#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) ++#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) + for (;;) { + s = *sp; + p = path; +@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, const char *ext, + switch (*s) { + #ifdef WIN32 + case 'x': { +- wchar_t exepath[PATH_MAX]; DWORD n; ++ wchar_t exepath[BOOT_PATH_MAX]; DWORD n; + s += 1; +- n = GetModuleFileNameW(NULL, exepath, PATH_MAX); +- if (n == 0 || (n == PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { ++ n = GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX); ++ if (n == 0 || (n == BOOT_PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { + fprintf(stderr, "warning: executable path is too long; ignoring %%x\n"); + } else { + char *tstart; +@@ -608,7 +614,7 @@ typedef struct { + iptr len; /* 0 => unknown */ + iptr offset; + IBOOL need_check, close_after; +- char path[PATH_MAX]; ++ char path[BOOT_PATH_MAX]; + } boot_desc; + + #define MAX_BOOT_FILES 10 +@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, const char *path, int c) { + static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + int fd, + IBOOL errorp) { +- char pathbuf[PATH_MAX], buf[PATH_MAX]; ++ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX]; + uptr n = 0; + INT c; + const char *path; + char *expandedpath; + + if ((fd != -1) || direct_pathp || S_fixedpathp(name)) { +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + if (boot_count == 0) { + for (;;) { + /* try to load heap or boot file this boot file requires */ +- if (get_string(fd, buf, PATH_MAX, &c) != 0) { ++ if (get_string(fd, buf, BOOT_PATH_MAX, &c) != 0) { + fprintf(stderr, "unexpected end of file on %s\n", path); + CLOSE(fd); + S_abnormal_exit(); +@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + c = get_u8(fd); + for (sep = " "; ; sep = "or ") { + if (c == ')') break; +- (void) get_string(fd, buf, PATH_MAX, &c); ++ (void) get_string(fd, buf, BOOT_PATH_MAX, &c); + fprintf(stderr, "%s%s.boot ", sep, buf); + } + fprintf(stderr, "required by %s\n", path); +@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const char *name, + int close_after) { + check_boot_file_state("Sregister_boot_file_fd"); + +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void (*custom_init)(void)) { + } + + name = path_last(kernel); +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "executable name too long: %s\n", name); + S_abnormal_exit(); + } + + #ifdef WIN32 + { /* strip off trailing .exe, if any */ +- static char buf[PATH_MAX]; ++ static char buf[BOOT_PATH_MAX]; + iptr n; + + n = strlen(name) - 4; +diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c/version.h +index a79d12621b..61751a9fad 100644 +--- a/racket/src/ChezScheme/c/version.h ++++ b/racket/src/ChezScheme/c/version.h +@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + /*****************************************/ + /* Operating systems */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) /* Hurd */ + #define NOBLOCK O_NONBLOCK + #define LOAD_SHARED_OBJECT + #define USE_MMAP +@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + #define GETPAGESIZE() getpagesize() + typedef char *memcpy_t; + #define MAKE_NAN(x) { x = 0.0; x = x / x; } +-#define GETWD(x) getcwd((x),PATH_MAX) ++#ifndef __GNU__ /* Hurd: no PATH_MAX */ ++/* n.b. don't test PATH_MAX directly: we have not yet included */ ++# define GETWD(x) getcwd((x),PATH_MAX) ++#endif + typedef int tputsputcchar; + #ifndef __ANDROID__ + # define LOCKF +diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure +index f64b639c3a..efdb6029cb 100755 +--- a/racket/src/ChezScheme/configure ++++ b/racket/src/ChezScheme/configure +@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in + installprefix=/usr + installmansuffix=share/man + ;; ++ GNU) ++ unixsuffix=gnu # the Hurd ++ installprefix=/usr ++ installmansuffix=share/man ++ ;; + QNX) + if uname -a | egrep 'x86' > /dev/null 2>&1 ; then + m32=i3qnx +@@ -591,7 +596,7 @@ fi + + # Infer flags needed for threads: + case "${flagsm}" in +- *le|*fb|*ob|*nb) ++ *le|*gnu|*fb|*ob|*nb) + threadFlags="-D_REENTRANT -pthread" + threadLibs="-lpthread" + ;; +@@ -627,7 +632,7 @@ if [ "$cflagsset" = "no" ] ; then + a6*) + CFLAGS="-m64 ${optFlags}" + ;; +- i3le) ++ i3le) # intentionally not including i3gnu, which may not support sse2 + CFLAGS="-m32 -msse2 -mfpmath=sse ${optFlags}" + ;; + i3nt) +@@ -688,7 +693,7 @@ fi + # Add automatic linking flags, unless suppressed by --disable-auto-flags + if [ "$addflags" = "yes" ] ; then + case "${flagsm}" in +- *le) ++ *le|*gnu) + LDFLAGS="${LDFLAGS} -rdynamic" + ;; + *fb|*nb) +@@ -702,7 +707,7 @@ if [ "$addflags" = "yes" ] ; then + esac + + case "${flagsm}" in +- *le) ++ *le|*gnu) + LIBS="${LIBS} -lm -ldl ${ncursesLib} -lrt" + ;; + *fb|*ob) +@@ -749,7 +754,7 @@ exeSuffix= + + # compile flags for c/Mf-unix and mats/Mf-unix + case "${flagsmuni}" in +- *le) ++ *le|*gnu) + mdcflags="-fPIC -shared" + ;; + *fb|*ob) +@@ -781,7 +786,7 @@ case "${flagsmuni}" in + i3le) + mdldflags="-melf_i386" + ;; +- *le) ++ *le|*gnu) + ;; + i3nb) + mdldflags="-m elf_i386" +diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/s/cmacros.ss +index ff2b09217b..2e79a4d8de 100644 +--- a/racket/src/ChezScheme/s/cmacros.ss ++++ b/racket/src/ChezScheme/s/cmacros.ss +@@ -385,6 +385,7 @@ + i3fb ti3fb + i3ob ti3ob + i3osx ti3osx ++ i3gnu ti3gnu + a6le ta6le + a6osx ta6osx + a6ob ta6ob +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..dab545c0b4 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4449,8 +4449,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ *linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd: must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..43e7307b1b 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -272,8 +272,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd - must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss +index 2319cbe7a5..773eb79cf3 100644 +--- a/racket/src/cs/rumble/system.ss ++++ b/racket/src/cs/rumble/system.ss +@@ -48,6 +48,8 @@ + arm32le tarm32le arm64le tarm64le + ppc32le tppc32le) + 'linux] ++ [(i3gnu ti3gnu) ++ 'gnu-hurd] + [(a6fb ta6fb i3fb ti3fb + arm32fb tarm32fb arm64fb tarm64fb + ppc32fb tppc32fb) +@@ -85,6 +87,7 @@ + i3nb ti3nb + i3fb ti3fb + i3s2 ti3s2 ++ i3gnu ti3gnu + i3qnx) + 'i386] + [(arm32le tarm32le +-- +2.32.0 + + +From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 4 Aug 2022 20:18:09 -0400 +Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd + +(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + racket/src/bc/sconfig.h | 14 +++++++++----- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ddb607b37..4ee346014d 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index deef8f3077..866851236e 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h +index 01ecb48158..8468942fcd 100644 +--- a/racket/src/bc/sconfig.h ++++ b/racket/src/bc/sconfig.h +@@ -79,12 +79,14 @@ + + #endif + +- /************** Linux with gcc ****************/ ++ /************** Linux (or Hurd) with gcc ****************/ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) + + # ifdef __ANDROID__ + # define SCHEME_OS "android" ++# elif defined(__GNU__) ++# define SCHEME_OS "gnu-hurd" + # else + # define SCHEME_OS "linux" + # endif +@@ -146,13 +148,15 @@ + # define USE_IEEE_FP_PREDS + # define USE_EXPLICT_FP_FORM_CHECK + +-# define LINUX_FIND_STACK_BASE ++# define LINUX_FIND_STACK_BASE /* also ok for Hurd */ + + # define FLAGS_ALREADY_SET + + #if defined(__i386__) +-# define MZ_USE_JIT_I386 +-# define MZ_JIT_USE_MPROTECT ++# ifndef __GNU__ /* Hurd */ ++# define MZ_USE_JIT_I386 ++# define MZ_JIT_USE_MPROTECT ++# endif + # ifndef MZ_NO_UNWIND_SUPPORT + # define MZ_USE_DWARF_LIBUNWIND + # endif +-- +2.32.0 + + +From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sat, 6 Aug 2022 22:48:40 -0400 +Subject: [PATCH 3/3] BC: repair configure script + +Hopefully this will fix the DrDr failures caused by 5c05496. + +Related to https://github.com/racket/racket/pull/4384 + +(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ee346014d..b1c5175b84 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index 866851236e..ecc3b0b579 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch index 65cf2f99f3..331b4f244b 100644 --- a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -1,4 +1,4 @@ -From e982b6687494bf071386c67be74e57a29cf4ce00 Mon Sep 17 00:00:00 2001 +From f86370295c5bb14d4bb93d0ccfa37a2b79f19f25 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Wed, 24 Aug 2022 19:55:14 -0400 Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix @@ -24,12 +24,12 @@ on `system` from the C library. 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c -index f5e3e345be..922421ca75 100644 +index 82bbf8d687..be8f603447 100644 --- a/racket/src/ChezScheme/c/prim5.c +++ b/racket/src/ChezScheme/c/prim5.c -@@ -22,6 +22,12 @@ - #include - #include +@@ -27,6 +27,12 @@ + #include + #endif +/* BEGIN PATCH for Guix */ +#ifndef WIN32 @@ -38,9 +38,9 @@ index f5e3e345be..922421ca75 100644 +/* END PATCH for Guix */ + /* locally defined functions */ - static INT s_errno PROTO((void)); - static IBOOL s_addr_in_heap PROTO((uptr x)); -@@ -856,6 +862,17 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -861,6 +867,17 @@ static ptr s_process(char *s, IBOOL stderrp) { INT tofds[2], fromfds[2], errfds[2]; struct sigaction act, oint_act; @@ -58,10 +58,10 @@ index f5e3e345be..922421ca75 100644 if (pipe(tofds)) S_error("process","cannot open pipes"); if (pipe(fromfds)) { -@@ -881,7 +898,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { - CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); - CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); - {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +@@ -897,7 +914,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + } + } + #endif /* __GNU__ Hurd */ - execl("/bin/sh", "/bin/sh", "-c", s, NULL); + /* BEGIN PATCH for Guix */ + execl(guix_sh, guix_sh, "-c", s, NULL); @@ -70,7 +70,7 @@ index f5e3e345be..922421ca75 100644 /*NOTREACHED*/ } else { -base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 -- 2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 6433897981..efabdd16f3 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -53,7 +53,7 @@ (define-module (gnu packages racket) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:)) -;; Commentary: +;; COMMENTARY: ;; ;; Anatomy of Racket: ;; ------------------ @@ -72,14 +72,16 @@ (define-module (gnu packages racket) ;; ├── bc/ ;; ├── cs/ ;; ├── ChezScheme/ +;; ├── zuo/ ;; └── ... ;; ;; The 'racket/src/' directory contains the source of the runtime system, core ;; compiler, and primitives for the major Racket implementations: this layer -;; is called the ``Racket VM''. It is basically a normal autotools -;; project. (Even when Racket VM implementations use components implemented in -;; Racket, they are compiled in special modes to produce VM primitives.) -;; (There are or have been experimental Racket VM implementations elsewhere, +;; is called the ``Racket VM''. It is basically a normal Autoconf project, +;; except that the makefiles just run Zuo to do the real work. (Even when +;; Racket VM implementations use components implemented in Racket, they are +;; compiled in special modes to produce VM primitives.) (There are or have +;; been experimental Racket VM implementations elsewhere, ;; e.g. .) ;; ;; The 'racket/collects/' directory contains ``built in'' Racket libraries @@ -100,10 +102,10 @@ (define-module (gnu packages racket) ;; ;; The top-level 'Makefile' is more like a directory of scripts: it has ;; convienience targets for developing Racket, and it cooperates with the -;; 'distro-build' package to assemble custom Racket distributions. It is not -;; part of Racket source distributions: the root of a source distribution is -;; basically 'racket/src' with some extra package sources and configuration -;; added. +;; 'distro-build' package to assemble custom Racket distributions. (Again, +;; the makefile just delegates to Zuo.) It is not part of Racket source +;; distributions: the root of a source distribution is basically 'racket/src' +;; with some extra package sources and configuration added. ;; ;; A ''minimal Racket'' installation includes two packages: 'base', which is a ;; sort of bridge between the current ``built-in'' collections and the package @@ -129,12 +131,12 @@ (define-module (gnu packages racket) ;; output. The function 'racket-vm-for-system' returns the recomended Racket ;; VM package for a given system. ;; -;; The file 'racket.scm' builds on these packages to define 'racket-minimal' -;; and 'racket' packages. These use Racket's support for ``layered -;; installations'', which allow an immutable base layer to be extended with -;; additional packages. They use the layer configuration directly provide -;; ready-to-install FHS-like trees, rather than relying on the built in -;; ``Unix-style install'' mechanism. +;; We then define the packages 'racket-minimal' and +;; 'racket'. These use Racket's support for ``layered installations'', which +;; allow an immutable base layer to be extended with additional packages. +;; They use the layer configuration directly provide ready-to-install FHS-like +;; trees, rather than relying on the built in ``Unix-style install'' +;; mechanism. ;; ;; Bootstrapping Racket: ;; --------------------- @@ -177,16 +179,18 @@ (define-module (gnu packages racket) ;; However, other Racket subsystems implemented in Racket for Racket CS ;; use older C implementations for Racket BC, whereas the reader, expander, ;; and module system were completely replaced with the Racket implementation -;; as of Racket 7.0. +;; as of Racket 7.0. See also . ;; ;; For Racket BC, the compiled "linklet" s-expressions (primitive modules) ;; are embeded in C as a static string constant. Eventually, they are further ;; compiled by the C-implemented Racket BC bytecode and JIT compilers. -;; (On platforms where Racket BC's JIT is not supported, yet another compiler -;; instead compiles the linklets to C code, but this is not a bootstrapping -;; issue.) ;; -;; Code: +;; Zuo is notably *not* a problem for bootstrapping. The implementation is a +;; single hand-written C file designed to build with just `cc -o zuo zuo.c`, +;; even with very old or limited compilers. (We use the Autoconf support for +;; convienience.) +;; +;; CODE: (define* (racket-vm-for-system #:optional (system (or (%current-target-system) @@ -199,7 +203,7 @@ (define* (racket-vm-for-system #:optional racket-vm-cs racket-vm-bc)) -(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) @@ -210,10 +214,15 @@ (define %racket-origin (url "https://github.com/racket/racket") (commit %racket-commit))) (sha256 - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) + (base32 "1lw6h70dk8zqpl96zz0hmhn8vjcc0c7gw4prkfz2wid5bkq4mhg4")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-chez-scheme-bin-sh.patch" - "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-backport-8.6-cross-install.patch" + "racket-backport-8.6-docindex-write.patch" + "racket-backport-8.6-hurd.patch" + "racket-backport-8.6-zuo.patch" + "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch" + "racket-zuo-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -240,21 +249,10 @@ (define-public zuo (name "zuo") (version (string-append %zuo-version "-racket" - "8.6" + %racket-version (if revision "-guix" "") (or revision ""))) - (source - (origin - (inherit %racket-origin) - (uri (git-reference - (url "https://github.com/racket/racket") - (commit "v8.6"))) - (sha256 - (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) - (patches (append (origin-patches %racket-origin) - (search-patches "racket-backport-8.6-zuo.patch" - "racket-zuo-bin-sh.patch"))) - (file-name (git-file-name "racket" "8.6")))) + (source %racket-origin) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -316,7 +314,8 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) libffi)) ;; <- only for BC variants - (native-inputs (list libtool)) ;; <- only for BC variants + (native-inputs (list zuo ;; <- for all variants + libtool)) ;; <- only for BC variants (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -324,6 +323,10 @@ (define-public racket-vm-cgc #:configure-flags #~(cons "--enable-cgcdefault" #$racket-vm-common-configure-flags) + #:make-flags + #~(list (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo")) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -683,25 +686,25 @@ (define-public racket "contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3") '(("contract-profile" "."))) (simple-racket-origin - "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55") + "data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprfisc") '("data" "data-doc" "data-enumerate-lib" "data-lib")) (simple-racket-origin "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s") '(("datalog" "."))) (simple-racket-origin - "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5") + "db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmjq") '("db" "db-doc" "db-lib")) (simple-racket-origin - "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr") + "deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y64pij489x34v") '("deinprogramm" "deinprogramm-signature")) (simple-racket-origin "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0") '("distributed-places" "distributed-places-doc" "distributed-places-lib")) (simple-racket-origin - "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92") + "draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i42635sm") '("draw" "draw-doc" "draw-lib")) (simple-racket-origin - "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz") + "drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189fn42q62") '("drracket" "drracket-plugin-lib" "drracket-tool" @@ -718,7 +721,7 @@ (define-public racket "eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n27s") '(("eopl" "."))) (simple-racket-origin - "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip") + "errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124pp6xkjyavx") '("errortrace" "errortrace-doc" "errortrace-lib")) (simple-racket-origin "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q") @@ -735,13 +738,13 @@ (define-public racket "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d") '(("games" "."))) (simple-racket-origin - "gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx") + "gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv401w") '("gui" "gui-doc" "gui-lib" "tex-table")) (simple-racket-origin "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5") '("gui-pkg-manager-lib")) (simple-racket-origin - "htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3") + "htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjykwir") '("htdp" "htdp-doc" "htdp-lib")) (simple-racket-origin "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x") @@ -765,7 +768,7 @@ (define-public racket "make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa") '(("make" "."))) (simple-racket-origin - "math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp217ac") + "math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq9ai") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -800,16 +803,16 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflzfd52hj7awafqhk") + "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin - "parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq0rj49cr8fl3") + "parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic19cj6f7rmcnj") '("parser-tools" "parser-tools-doc" "parser-tools-lib")) (simple-racket-origin "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv") + "pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq6sx") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -863,7 +866,7 @@ (define-public racket "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n") + "rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyzl7prn81") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -876,10 +879,10 @@ (define-public racket "readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w2pxkfwn") '("readline" "readline-doc" "readline-lib")) (simple-racket-origin - "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi") + "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i") + "redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852czil7") '("redex" "redex-benchmark" "redex-doc" @@ -894,7 +897,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3") + "scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9b2acvd3") '("scribble" "scribble-doc" "scribble-html-lib" @@ -926,7 +929,7 @@ (define-public racket "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc") + "typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7bdc0jfg8a18l") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -937,13 +940,13 @@ (define-public racket "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin - "string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac") + "string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6hj4az5lfbbdvqz47") '("string-constants" "string-constants-doc" "string-constants-lib")) (simple-racket-origin - "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67") + "swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbgqxvsyb") '(("swindle" "."))) (simple-racket-origin - "syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm") + "syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b8dsvbbrjyq1") '("syntax-color" "syntax-color-doc" "syntax-color-lib")) (simple-racket-origin "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia") @@ -952,7 +955,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd") + "web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxmd6r3fwcpf") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 10/14] gnu: chez-scheme-for-racket: Support cross-compilation. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177929982 (code B ref 57050); Thu, 25 Aug 2022 08:57:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:32 +0000 Received: from localhost ([127.0.0.1]:48897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ey-0002ac-Gv for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:31 -0400 Received: from mail-vs1-f47.google.com ([209.85.217.47]:39808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eY-0002WK-Jj for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:55 -0400 Received: by mail-vs1-f47.google.com with SMTP id c3so20187368vsc.6 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=ooUpIt6v6GE6eFoJemQYYCCp1VZ+cCUGyFCLbJm82Ag=; b=TuFID0IIJ2v+TUorPD9gEOXmf1iru3OlaoabwCuatXyGJoKt8lFw+eYnnSsOJuFTBN lzBSi1jfofeLaebt73zxMIK4ZZKA7zGJqj2IN8Iki+pCuD57Pnsrl3RzicAIxF2oEwH1 1/ZgEVB25I3Gj8If5GlMnmjc6VujkJE/c7PhnqYeyafRgQbEZ+dRpQtPQZWNmLozHcci stznldaf0xAN0TZ1DqLagLh0bKF2fTBC2FZRqbjCsknkV5xSQDr27sdFD4WjdLaW62D8 gvtxufiZLyZ2DtzD+57kgk9kLxiSTF7zjUoGNkrU0i60rQep/HfPoLfqlGYgCfaqmY71 0VmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=ooUpIt6v6GE6eFoJemQYYCCp1VZ+cCUGyFCLbJm82Ag=; b=6yLGPKSxWAPGTVCEg2X8eL2FN0/XZIDNRbSJj8/mYuxIh+TpeXqZVZpjuuKYi1J6x1 iu262tKMh2RR/a4YD1apzUrHhA51jW6cJ/FDNq1mo2tefKx6AVZbeYyqRo9g8RfmUinc AFxUp7YdjPcD0UEbNPdgRNOS2M7guFKlTO3PwXkVqY6mqjbc4R9wgxIdGTJO8ab1PtLs Mp19JMrcjr3ve73m9G2zdWumKx5aS4x7AeH5kzDgLbtJIPA++7iqoqHKJ4YH6OgrOIyl nbWRlodb0F8EnIm23/vBd2DUgJt7vQtIDRrNV4t1b3LvlPFLwRwrs6Qi4uKIUbGhsqW6 KORA== X-Gm-Message-State: ACgBeo3G83ERVE8maStpfynhP8QDaMTWgkHP9wRiGaHG5aHny4aJuVz0 i3VFfg3y/HeZ8T8vK7cN7LzM6G6EQ4MfRQ4f X-Google-Smtp-Source: AA6agR5DtuAv0AxZLu0kDkeEEG3/3Vc2LU6pxmnTHPSp34bn6ZWqaL66GCzMUNLP8TXPOv1GWwf1MQ== X-Received: by 2002:a67:fb82:0:b0:390:8bb4:69c7 with SMTP id n2-20020a67fb82000000b003908bb469c7mr1058178vsr.33.1661417754168; Thu, 25 Aug 2022 01:55:54 -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 v12-20020a67ff8c000000b0038712af0dbesm13917365vsq.22.2022.08.25.01.55.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:53 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:12 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (racket-cs-native-supported-system): Change to return the applicable machine type instead of '#t'. (chez-scheme-for-racket)[native-inputs]: When cross-compiling, add 'this-package'. [arguments]<#:configure-flags>: When cross-compiling, supply '-m=' and '--toolprefix='. <#:phases>: Work around cross-compilation issues in 'build' and 'install-docs'. (chez-scheme-for-racket-bootstrap-bootfiles): When cross-compiling, use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. [arguments]<#:phases>: Adapt 'build' phase for cross-compilation. --- gnu/packages/chez.scm | 85 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index c87786c091..26f653ea9d 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -235,14 +235,15 @@ (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." + "Can Racket's variant of Chez Scheme generate native code for SYSTEM? If +so, return the applicable machine type as a string. Otherwise, when SYSTEM +can use only the ``portable bytecode'' backends, return #f." (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))) + (string-append "t" chez-arch chez-os)))) ;; ;; Chez Scheme: @@ -453,8 +454,12 @@ (define-public chez-scheme-for-racket (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs - (modify-inputs (package-native-inputs chez-scheme) - (prepend zuo))) + (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) + (prepend zuo)))) + (if (%current-target-system) + (modify-inputs native-inputs + (prepend this-package)) + native-inputs))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) @@ -468,6 +473,15 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate + #$@(if (%current-target-system) + (list (string-append "-m=" + (racket-cs-native-supported-system?))) + '()) + #$@(if (%current-target-system) + (list (string-append "--toolprefix=" + (%current-target-system) + "-")) + '()) ,@(let* ((chez+version (strip-store-file-name #$output)) (doc-prefix (assoc-ref %outputs "doc")) (doc-dir (string-append doc-prefix @@ -490,18 +504,42 @@ (define-public chez-scheme-for-racket #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) - (unpack (assoc-ref those-phases 'unpack))) + (gnu:unpack (assoc-ref those-phases 'unpack)) + (gnu:build (assoc-ref those-phases 'build))) (modify-phases those-phases + (replace 'build + ;; need to override target for cross-compilation + ;; https://racket.discourse.group/t/950/19 + (lambda* (#:key target (make-flags '()) (parallel-build? #t) + #:allow-other-keys) + (gnu:build #:make-flags (if target + (cons "kernel" make-flags) + make-flags) + #:parallel-build? parallel-build?))) (replace 'install-docs - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key native-inputs (make-flags '()) + #:allow-other-keys) + ;; The tests for 'native-inputs' are cross-compilation + ;; workarounds that would be better to address upstream: + ;; see . + (when native-inputs + (substitute* "Makefile" + (("install-docs: build \\$[(]ZUO[)]") + "install-docs: $(ZUO)"))) (apply invoke "make" "install-docs" - make-flags))) + (if native-inputs + (cons (string-append + "Scheme=" + (search-input-file native-inputs + "/bin/scheme")) + make-flags) + make-flags)))) (replace 'unpack (lambda args - (unpack #:source #$(or (package-source this-package) - (package-source racket-vm-bc))))) + (gnu:unpack #:source #$(or (package-source this-package) + (package-source racket-vm-bc))))) (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) @@ -583,8 +621,12 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (name "chez-scheme-for-racket-bootstrap-bootfiles") (version (package-version chez-scheme-for-racket)) (source #f) ; avoid problematic cycle with racket.scm - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) - ;; TODO: cross compilation + (native-inputs + (cons* chez-nanopass-bootstrap + (if (%current-target-system) + (list zuo + chez-scheme-for-racket) + (list racket-vm-bc)))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme-bootstrap-bootfiles) @@ -604,9 +646,22 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles #$unpack-nanopass+stex)) (add-before 'install 'build (lambda* (#:key native-inputs inputs #:allow-other-keys) - (invoke (search-input-file (or native-inputs inputs) - "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))) + #$(cond + ((%current-target-system) + ;; cross-compiling + #~(invoke + (search-input-file (or native-inputs inputs) + "/bin/zuo") + "makefiles/boot.zuo" + (search-input-file (or native-inputs inputs) + "/bin/scheme") + #$(racket-cs-native-supported-system?))) + (else + ;; bootstrapping + #~(invoke + (search-input-file (or native-inputs inputs) + "/opt/racket-vm/bin/racket") + "rktboot/main.rkt")))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 09/14] gnu: chez-scheme: Make bootfiles regular inputs. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614177999999 (code B ref 57050); Thu, 25 Aug 2022 08:57:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:39 +0000 Received: from localhost ([127.0.0.1]:48899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8fA-0002aw-6B for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:39 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:46696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eU-0002VD-5R for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:55:57 -0400 Received: by mail-vs1-f42.google.com with SMTP id d126so20182264vsd.13 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:55:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=y3LQ8K3rzYxXt+MlIQWAr2vQTMgHelN8GYtEuAXdQcM=; b=Xtdzt5ROAjQu+ZZ7r2btRrLBo52cUaJfZnaq9PiQf6OLyhLGWgP3DDMoiW+hz6GZmp uIWDKHCiQf8amISDvp1IGGZDgZQdtwHmplDWzsN7s2xgcmr7w5Xg3BzgHKw5GFvGPsvV XyMXGpjr1Qr/wgxIbR3el6qkrLipP6d5WTyoXJy1DyUD2R1w58i/bf6NiEFA1mfvU0cd M6KjkxDyZxKT1p8xjoVEs2yJcrI9huWkp+2Lcjpa2Y7KW6Q6FE2y2T7W0HCKgEK7wLcl bYuhYtezZhoRxI29bMrVZ/eiJlTz7SVF70+qBsBJUu0QgD+0shTAbGeifzgARhcaDBf+ 8Q2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=y3LQ8K3rzYxXt+MlIQWAr2vQTMgHelN8GYtEuAXdQcM=; b=LPI6GjnUuOZ6KP6m6160uFiSntNf4VLJ/thpUXGe70JDxllIpAB13oGvINMCgy44vS DdcJekU3CJL6f27dcG2WVVw5VwQKmhQoW4O4GwKL7EF2h3lWaZ9FtUZhRv/3+B9sW8mW HQz/Gk65lPdOnjTzA8gUfduLe3UspUUGNcUFgBX47c9R6IPL089VCI3igN+rhk2DuD3k Aqb9htyFoHY61fWGWnU/DXNoTdauTH/nPcrJLWA9hHLlj0UOlKDkQLRTynqzjDcoNVnX fzt1K4HfCZ5bBhO7KEXvQITKw2WVQs+NJs8Oe2PEKDgTG7ekYZAj3rcWL8uSmzwda1Ps BmpA== X-Gm-Message-State: ACgBeo3QraVg0Hyu6/4GcZRCHd/tXrFbNWiADYSNL5bqKB8tL8ztuqkm XnAk87BfkuWiD/AcgKnwDVYC6QFGnJ2usneO X-Google-Smtp-Source: AA6agR7KMLRuRJU4QEgqrPV8VHtUAJ9BPgmZLDhlXMJDMXoui7XPta3e0t32nqyWTa5027Q1GXe3xg== X-Received: by 2002:a67:f145:0:b0:390:2b5b:dd69 with SMTP id t5-20020a67f145000000b003902b5bdd69mr962122vsm.19.1661417749828; Thu, 25 Aug 2022 01:55:49 -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 t124-20020a1faa82000000b003743e7c87c5sm15447563vke.5.2022.08.25.01.55.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:49 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:11 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move 'chez-scheme-bootstrap-bootfiles' to ... [inputs]: ... this field. [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. (chez-scheme-for-racket)[native-inputs]: Move 'chez-scheme-for-racket-bootstrap-bootfiles' to ... [inputs]: ... this field. --- gnu/packages/chez.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b59398578a..c87786c091 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -293,6 +293,7 @@ (define-public chez-scheme (build-system gnu-build-system) (inputs (list + chez-scheme-bootstrap-bootfiles `(,util-linux "lib") ;<-- libuuid zlib lz4 @@ -300,8 +301,7 @@ (define-public chez-scheme ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 libx11)) - (native-inputs (list chez-scheme-bootstrap-bootfiles - chez-nanopass-bootstrap + (native-inputs (list chez-nanopass-bootstrap stex-bootstrap)) (native-search-paths (list (search-path-specification @@ -338,7 +338,7 @@ (define-public chez-scheme (when (directory-exists? "boot") (delete-file-recursively "boot")) (copy-recursively - (search-input-directory (or native-inputs inputs) + (search-input-directory inputs "lib/chez-scheme-bootfiles") "boot"))) ;; NOTE: The custom Chez 'configure' script doesn't allow @@ -449,12 +449,12 @@ (define-public chez-scheme-for-racket (source #f) ; avoid problematic cycle with racket.scm (inputs (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib"))) + (delete "libx11" "util-linux:lib") + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) - (prepend zuo) - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (prepend zuo))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 11/14] gnu: racket: Support cross-compiling the VM packages. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141780010006 (code B ref 57050); Thu, 25 Aug 2022 08:57:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:40 +0000 Received: from localhost ([127.0.0.1]:48901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8fH-0002bE-FA for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:39 -0400 Received: from mail-vs1-f44.google.com ([209.85.217.44]:43966) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ei-0002Yg-3h for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:04 -0400 Received: by mail-vs1-f44.google.com with SMTP id w188so12148056vsb.10 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=1veCoxHFoj5iPTmAArR9EFGJLAT1FoM0LJuQpEwFjoU=; b=aM/Z/A7WE8SZkAuWkxswJJdu2rFzKj6ICkaoHGG1fITVESCPI1XlSwWWCjb2bqSqU4 Mn0IRRVn1QADBZ+YC8M26rL8D9KHNfXkukxZa9OKQF0UB6ZzE5c1ozGk/KoUQG6xnYBN c9Sn4s3gaMDNEjJiLZ1q0sNKNhAa/l9nQa0J8bwz/X0Lv0oj5TpgeBPbz84ZejOdYmfy JmLICN0q/sfUMerCnaYaz8wcfDZ73JzyfB8NjOQluNAEvz/OXKKvGLzgMKhVFlG4C/N/ Pzmdzar3oO9M0kWnlhoAumX5NUC4FUH6lIm1B4CRhUfQh64sSKZdxpQHiIeFKCuUDVYq 0bFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=1veCoxHFoj5iPTmAArR9EFGJLAT1FoM0LJuQpEwFjoU=; b=RMkNA3k0flYQj5ePkAw7Xskx7+74Y1afTZe1i6K3DLFUOjwmRWC/CMb+TZdeVWKDR2 iNNP2n9E6RkMmskOWClSDaPFtK+dHV4EI6ORprL/E0+Ltla71oBaszSBw30pv0QdqUdI pR4jJC+tvp4XmZrCTKhXUVlIY83MEJtWWYbKujCCJ5ESMmyynoO6mPoxIMobiZhykcGf GYxPnqnm1NZUsjZgKfFk3GtBwDCuds6be5gpVbn40i7OUSFPgSekHiKOrvDrObC7hHSq OxhIMc1AV+va7ABuqc7/AceryomO5BFs6ckw7E8OrVSnTHDqvd3HdmKt04ortPb8eSiu s+SA== X-Gm-Message-State: ACgBeo3hrmlGLu3LZu+rF0hF47SHeCJyuVo5dPsyc2LUVnMxPwgoNAYr ey8QlY8PmXS/hl9A0It6MpTWX5GmxIu68zQI X-Google-Smtp-Source: AA6agR4Zeag3n99hGw7PRV+k8tUFGqzdVXUwpjYGHEHGseE0Woe/a7vuK2ZwfgvkWqHcaD8y8BWkkw== X-Received: by 2002:a67:d905:0:b0:390:57db:659d with SMTP id t5-20020a67d905000000b0039057db659dmr1106638vsj.31.1661417758559; Thu, 25 Aug 2022 01:55:58 -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 x203-20020a1f31d4000000b00378ceed8f5bsm15658282vkx.53.2022.08.25.01.55.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:55:58 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:13 -0400 Message-Id: <4b5de88c4a2cd08dd601b6adbbe7389a9c611785.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and 'racket-vm-cs'. These changes are not enough to cross-compile 'racket-minimal' or 'racket': that would require building and loading cross-compilation pluggins for 'racket-vm-cs', which will be much easier once we can build the package 'raco-cross'. * gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when cross-compiling. (racket-vm-bc)[native-inputs]: Adjust accordingly. (racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of 'racket-vm-bc' when cross-compiling. Adapt to changes to 'racket-vm-cgc'. [arguments]<#:configure-flags>: Fix '--enable-scheme' for cross-compilation. --- gnu/packages/racket.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index efabdd16f3..90e5e88be5 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -314,8 +314,11 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) libffi)) ;; <- only for BC variants - (native-inputs (list zuo ;; <- for all variants - libtool)) ;; <- only for BC variants + (native-inputs (cons* zuo ;; <- for all variants + libtool ;; <- only for BC variants + (if (%current-target-system) + (list this-package) + '()))) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -403,8 +406,10 @@ (define-public racket-vm-bc (inherit racket-vm-cgc) (name "racket-vm-bc") (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (prepend racket-vm-cgc))) + (if (%current-target-system) + (package-native-inputs racket-vm-cgc) + (modify-inputs (package-native-inputs racket-vm-cgc) + (prepend racket-vm-cgc)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) @@ -434,11 +439,17 @@ (define-public racket-vm-cs (prepend zlib lz4) (delete "libffi"))) (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (delete "libtool") - (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - racket-vm-bc))) + (let ((native-inputs (package-native-inputs racket-vm-cgc))) + (modify-inputs (if (%current-target-system) + (modify-inputs native-inputs + (delete "racket-vm-cgc")) + native-inputs) + (delete "libtool") + (prepend chez-scheme-for-racket + chez-nanopass-bootstrap + (if (%current-target-system) + racket-vm-cs + racket-vm-bc))))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) @@ -452,7 +463,7 @@ (define-public racket-vm-cs "--enable-libz" "--enable-lz4" (string-append "--enable-scheme=" - #$(this-package-native-input + #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") #$racket-vm-common-configure-flags)))) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 12/14] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141780010014 (code B ref 57050); Thu, 25 Aug 2022 08:57:03 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:40 +0000 Received: from localhost ([127.0.0.1]:48903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8fH-0002bL-SH for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:40 -0400 Received: from mail-ua1-f45.google.com ([209.85.222.45]:38695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8em-0002ZJ-LX for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:09 -0400 Received: by mail-ua1-f45.google.com with SMTP id ay32so7133142uab.5 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=46tkcNT77x5bsdBKdEOHMenRNTNCdM9cEcm+UWlJ4YI=; b=DUKCNsZpqrWdyldvx+cFn9Usp26+ExWzfMvGjPB8ZFRtnQHVTC1HWytzvQ3g2Auzxx KXfOZKNLaduPgjoyfa/UCNOep3p7bxAGK78Xq4Rm3kbU9m/o+T+6eWpXnBbzTPSOydJX U+vQqVR4nRzepbzq1TIQDybjsqlSOp3BXoloROc2dAIGfkBZsRRMZK2zIo0AHr2Vm4TW 6u67+Vb7p/ERRxVO1L4v4OLuNXpWXkI/SBfr2I2w7Gq76ClpcDWFCHirPa/6rURNpmYe TQys+LlIbrZtZtfSujS6EqAsZXo/Mr9hpvCIc51cOFR5/O7a2ZfhfacpDd53BOFnth6L qLuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=46tkcNT77x5bsdBKdEOHMenRNTNCdM9cEcm+UWlJ4YI=; b=Wz2ysAj+R34Moc9/bc3eL19+OTMLlAi5HRc8jJWFA7lefJt3jswxFCrFRTS9Y75v0j e7V20wJ+lG97/8LSiXJFPLlx6j8vS51/mwpS4pP000fXljCd9Lwd0+RyBbkfwG+BWv56 Gjx190ZCY3tEY7PTL6IRpj/FPp3MC4uphPbdJZ5b8DolPUTP+p86c29aFTz11ElZ9f2V v7Fk7RReXoyCU3PGqQZOJL7R6z3eiH43j6I30t2PKuVOp5iNQkch3Pg6RAUVYsTqWdpF RlyonT9pJbQKvs+gpGZukm/ziFzgcRocgodbkMFIW6eWfflOGTukRJCNVZx0H0++9wDU foPw== X-Gm-Message-State: ACgBeo1PMTSDX1NgPqhc9aipqDleYhFYeTlOGH3p1c80osbHKS1mGGtz GqUxFKXdia9aFa7+Cx0B/qDblDj7OheMb28v X-Google-Smtp-Source: AA6agR5Jx76yw0C5NIS14mZ0A9i84jDLCddhbTMzRQWmnqxXiHL4wzR5hf2z+/JtiiitGvk4d1yviw== X-Received: by 2002:ab0:53c5:0:b0:390:fff3:1494 with SMTP id l5-20020ab053c5000000b00390fff31494mr1033745uaa.28.1661417763055; Thu, 25 Aug 2022 01:56:03 -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 b17-20020a0561023a1100b0038f2a3601basm14157068vsu.20.2022.08.25.01.56.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:56:02 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:14 -0400 Message-Id: <7c5ee85372e4682282dc6a543c99a3620abf2cd5.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On systems for which Racket's variant of Chez Scheme cannot generate native code, it can use a 'pbarch' machine type: a variant of the ``portable bytecode'' backend specialized to word size and endianness. This allows Racket CS to replace Racket BC on those systems while maintaining comparable performance. (Racket BC lacks JIT support for those systems anyway.) It also lets us provide a Chez Scheme package on all systems Guix supports. This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and 'racket-vm-cs', but it does not change the Racket VM implementation used for the 'racket' and 'racket-minimal' packages. * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable. (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Always supply '-m='. Add applicable flags for non-native systems. [supported-systems]: Use '%supported-systems'. [description]: Update. (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: Adapt 'build' phase for non-native systems. * gnu/packages/racket.scm (racket-vm-bc)[description]: Update. (racket-vm-cs)[description]: Likewise. [inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Add applicable flags for non-native systems. --- gnu/packages/chez.scm | 76 ++++++++++++++++++++++++++++++----------- gnu/packages/racket.scm | 26 +++++++++----- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 26f653ea9d..5d152b3db5 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -37,6 +37,7 @@ (define-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages netpbm) #:use-module (gnu packages racket) @@ -49,6 +50,7 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system racket-cs-native-supported-system? + nix-system->pbarch-machine-type unpack-nanopass+stex)) ;; Commentary: @@ -231,6 +233,28 @@ (define* (chez-upstream-features-for-system #:optional (and=> (assoc-ref %chez-features-table chez-os) (cut assoc-ref <> chez-arch)))) +(define* (nix-system->pbarch-machine-type #:optional + (system + (or (%current-target-system) + (%current-system))) + #:key (threads? #t)) + "Return a string naming the pseudo–machine type used by Racket's variant of +Chez Scheme to represent the appropriate ``pbarch'' backend for SYSTEM: that +is, the ``portable bytecode'' backend specialized for SYSTEM's word size and +endianness. The result will name the threaded machine type unless THREADS? is +provided and is #f." + (string-append (if threads? + "t" + "") + "pb" + (if (target-64bit? system) + "64" + "32") + ;; missing (guix utils) predicate target-little-endian? + (if (target-ppc32? system) + "b" + "l"))) + (define* (racket-cs-native-supported-system? #:optional (system (or (%current-target-system) @@ -449,10 +473,14 @@ (define-public chez-scheme-for-racket ;; When updating, remember to also update %racket-version in racket.scm. (source #f) ; avoid problematic cycle with racket.scm (inputs - (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib") - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (let ((inputs (modify-inputs (package-inputs chez-scheme) + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles) + (delete "libx11" "util-linux:lib")))) + (if (racket-cs-native-supported-system?) + inputs + (modify-inputs inputs + (prepend libffi))))) (native-inputs (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) (prepend zuo)))) @@ -473,10 +501,16 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate - #$@(if (%current-target-system) - (list (string-append "-m=" - (racket-cs-native-supported-system?))) - '()) + #$(string-append "-m=" (or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type))) + ;; ^ could skip -m= for non-cross non-pbarch builds + #$@(if (racket-cs-native-supported-system?) + #~() + ;; not inferred on non-native platforms: see + ;; https://racket.discourse.group/t/950/9 + #~("--enable-libffi" + "CFLAGS=-g -O2 -D_REENTRANT -pthread" + "LIBS=-lm -ldl -lrt -lffi -lncurses")) #$@(if (%current-target-system) (list (string-append "--toolprefix=" (%current-target-system) @@ -543,10 +577,7 @@ (define-public chez-scheme-for-racket (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) - ;; 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)) + (supported-systems %supported-systems) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, ;; but it's designed to be a friendly landing place for people @@ -559,13 +590,17 @@ (define-public chez-scheme-for-racket Main additions to Chez Scheme in the Racket variant: @itemize @bullet @item -AArch64 support +AArch64 code generation @item -Portable bytes (@code{pb}) support, which is mainly useful for bootstrapping -a build on any supported platform +Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a +build on any platform, but can also be used on platforms without native-code +generation, compiled via Emscripten, linked with @code{libffi}, or used with +bytecode partially compiled to C @item Unboxed floating-point arithmetic and flvectors @item +Faster multiplication and division for large exact numbers +@item Type reconstruction during optimization (especially for safe code) @item Continuation attachments @@ -576,8 +611,6 @@ (define-public chez-scheme-for-racket @item Ordered finalization, immobile (but collectable) objects, weak/ephemeron generic hash tables, and reference bytevectors -@item -Faster multiplication and division for large exact numbers @end itemize") (license asl2.0))) @@ -655,13 +688,18 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles "makefiles/boot.zuo" (search-input-file (or native-inputs inputs) "/bin/scheme") - #$(racket-cs-native-supported-system?))) + #$(or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type)))) (else ;; bootstrapping #~(invoke (search-input-file (or native-inputs inputs) "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))))) + "rktboot/main.rkt" + #$@(if (racket-cs-native-supported-system?) + #~() + (let ((m (nix-system->pbarch-machine-type))) + #~("--machine" #$m))))))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 90e5e88be5..2fecae31f8 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -313,7 +313,7 @@ (define-public racket-vm-cgc (version %racket-version) (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) - libffi)) ;; <- only for BC variants + libffi)) ;; <- for BC and non-native CS variants (native-inputs (cons* zuo ;; <- for all variants libtool ;; <- only for BC variants (if (%current-target-system) @@ -419,10 +419,8 @@ (define-public racket-vm-bc (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written in C targeting architecture-independent bytecode, plus a JIT compiler on most -platforms. Racket BC has a different C API and supports a slightly different -set of architectures than the current default runtime system, Racket CS (based -on ``Chez Scheme''). It is the recommended implementation for architectures -that Racket CS doesn't support. +platforms. Racket BC has a different C API than the current default runtime +system, Racket CS (based on ``Chez Scheme''). This package is the normal implementation of Racket BC with a precise garbage collector, 3M (``Moving Memory Manager'').") @@ -435,9 +433,12 @@ (define-public racket-vm-cs (inherit racket-vm-bc) (name "racket-vm-cs") (inputs - (modify-inputs (package-inputs racket-vm-cgc) - (prepend zlib lz4) - (delete "libffi"))) + (let ((inputs (modify-inputs (package-inputs racket-vm-cgc) + (prepend zlib lz4)))) + (if (racket-cs-native-supported-system?) + (modify-inputs inputs + (delete "libffi")) + inputs))) (native-inputs (let ((native-inputs (package-native-inputs racket-vm-cgc))) (modify-inputs (if (%current-target-system) @@ -466,12 +467,19 @@ (define-public racket-vm-cs #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") + #$@(if (racket-cs-native-supported-system?) + #~() + #~(#$(string-append "--enable-mach=" + (nix-system->pbarch-machine-type)) + "--enable-pb")) #$racket-vm-common-configure-flags)))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM implementation since Racket 8.0. It performs better than the Racket BC -implementation for most programs. +implementation for most programs. On systems for which Racket CS cannot +generate machine code, this package uses a variant of its ``portable +bytecode'' backend specialized for word size and endianness. Using the Racket VM packages directly is not recommended: instead, install the @code{racket-minimal} or @code{racket} packages.") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 13/14] gnu: racket-vm-bc: Add workaround for ppc64le. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141780110020 (code B ref 57050); Thu, 25 Aug 2022 08:57:04 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:56:41 +0000 Received: from localhost ([127.0.0.1]:48905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8fI-0002bT-Ke for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:40 -0400 Received: from mail-vs1-f49.google.com ([209.85.217.49]:40944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8eq-0002a7-U8 for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:13 -0400 Received: by mail-vs1-f49.google.com with SMTP id 190so11954507vsz.7 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=G3Udd8q2pPdVXnUiG2PI9Ez693+l9WyOcyiY89bDjNM=; b=IeHFyeEDXqrKZm6PF1NdoXbPXD0TTxBY13dlBqVLM3LnUDKdftsMIRV/Lua67e1t4k WQ/Nk1KYEVIlMnSiW1V/m85U6uHzPTtUEjan8VTUzDESOg65b3D4qyAw0faRJx5s4VWQ RcIwAv1kC6SEyXAUfeLxLtq2nYKoH5kzniE3OQcEiSlz/4ui6REEo0MSVOH6iI09sK4L kM9oT3yaWmexK4Z/Hc6EZZatgiH6KRWKziC2U7aeI/rhMpk0zb+yw3mo2UfjYO+NGvFP Xk15NWNhSKrpl1c5Vz7fZ/9D2DuPtMSh1VrFEQdGpNCjVBOyvHJUlWP+6wM/ORUBlvuW xrww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=G3Udd8q2pPdVXnUiG2PI9Ez693+l9WyOcyiY89bDjNM=; b=5SdaSG2IkUKT1iU6duBFVSQf36TwM9cqUKbia8xakK5LCmS5M+zOSOhIOK/IL5qhIp t3bL/cPfj5KmjPuT/YIKAaKgeAPWRccXgNNEZvawx7rJNcUJoUA7/fYdzDrRD1KzFwk6 hCIBQ6D0c2zvsvKPr9z2rNAfQG61XbSkPUrhjazzHafmjzf6v2tjPUzUfcDybEcCK5nV GkAXjZJBC7fOdbAwfOySYlOOBRLqkVscYk05v3SwvAcVZa6VWEqV+TU4WAzH+ukq4Y6k ouUxkKOCxnx0hBpXKBMGVzS/tWkZnsJGtGgX5U22GadKlHWMfx9aWt1471zaU4HTxQXO ChUw== X-Gm-Message-State: ACgBeo18k1HDdWb6uxnVZvYTnda8FLAvNAiKJ0kcsuJu1qI+MUhgTR+/ ZZs7m7VaGhCnr5/MuslOPNRIb5qOkyAqxE+K X-Google-Smtp-Source: AA6agR5PI/Z2ElJiEZxhnTD3jLiXmHVgrD4ERNXkmCpW0AnWV+uthihRMxF0PV70OgBHPeOfMq30mQ== X-Received: by 2002:a67:d611:0:b0:390:1d18:284 with SMTP id n17-20020a67d611000000b003901d180284mr1178692vsj.6.1661417767408; Thu, 25 Aug 2022 01:56:07 -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 h25-20020a05612200d900b0037cf5f15a71sm15446503vkc.1.2022.08.25.01.56.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:56:07 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:15 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This is an attempt to avoid a problem with Racket BC on ppc64 reported in that was exposed by attempting to use Racket BC to bootstrap Chez Scheme. Thanks to Matthew Flatt for the workaround: . * gnu/packages/racket.scm (racket-vm-bc)[arguments]<#:configure-flags>: Increase the number of bytes that should be available on the stack for "safety" when checking for stack overflow. --- gnu/packages/racket.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 2fecae31f8..2d6bebf10e 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -414,7 +414,20 @@ (define-public racket-vm-bc (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) #~(cons "--enable-bconly" - #$racket-vm-common-configure-flags)))) + #$(cond + ((target-ppc64le?) + ;; Attempt to avoid a problem bootstrapping Chez Scheme: + ;; see + ;; and . + #~(map + (lambda (flag) + (if (string-prefix? "CPPFLAGS=" flag) + (string-append flag + " -DSTACK_SAFETY_MARGIN=2000000") + flag)) + #$racket-vm-common-configure-flags)) + (else + racket-vm-common-configure-flags)))))) (synopsis "Racket BC [3M] implementation") (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 14/14] gnu: racket: Use Racket CS on all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 08:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141782110049 (code B ref 57050); Thu, 25 Aug 2022 08:57:04 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 08:57:01 +0000 Received: from localhost ([127.0.0.1]:48907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8fd-0002c0-2v for submit@debbugs.gnu.org; Thu, 25 Aug 2022 04:57:01 -0400 Received: from mail-ua1-f46.google.com ([209.85.222.46]:33682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ev-0002aI-Bl for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 04:56:17 -0400 Received: by mail-ua1-f46.google.com with SMTP id x12so7713780uaf.0 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 01:56:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=qcG8nUWE2bT+aW0ZpsFpRuuOBnS9NUTQSy0PurD9LSQ=; b=M4wpXOnifbfdmhaiuPqBguelP91h78p/lSFLgn5QJyi1IidfAgLgvhBnUYrYE7ZSDr WgDCZCgfeCNbY1b99rhsaOZmJ/NOeLi5XRs7oMfXQeuMa15eNARFeCaYAdKfNvPkUd/8 7iZOhavrZ93IH4QgMfGRgT6h8akUItHp3kgS+D6XtVXp2ZSgEe/PwlxmRA/EKGKRnig2 g+LehReWseEICN3WSuK3cKfGDdxrIT0bL7apKeTJJV+P7JoyJuHs2iHiO4B4hSq6uaIB Mw4jdpKk4aBiv8+KpkTce2aH2YQat+/pjRBXAu5veMb+ACPQcVossc0X53aBIwIeEvLk SuRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=qcG8nUWE2bT+aW0ZpsFpRuuOBnS9NUTQSy0PurD9LSQ=; b=kJ5nRvlvjJSuz6Y+z9rLS9f3fdAua0PDtbXP3hZr4u4FPkBtBB6wI9ubcpAbpYfMmM gP+QE21RwTKmRwqpYq3DORKdLmiutLLXiI0QYkQMEkYDlbvgGlE7HyypommqLCR5D3FN rNuPF+RnTJsOm4CHRszQtmhK5wbbSjSYi3gtVbWFKbhIbhokWalJdS715Dxcy73qngfs eZh7yPXvdSJqWoJFezuJj3YWtnP4zTXwH0PH7AataQWWGSYEfObKUV5Zm7jO49Q+MR5A lz7g1cZG1yvM8wdLFRwQlXT1NfBLKkcKW/3v0Gbcyv56iXcGDJxbhcmL1jXNCoynsnE5 /2ww== X-Gm-Message-State: ACgBeo28Jmg39dGPXUFbrDFVOQypWa/7lLpwmCc4ktFuIIGHSy4u7ZPu MG1mhHMFodXcv1hBpdK06I/H6CFZb7v2VQz6 X-Google-Smtp-Source: AA6agR7srd2ipHnE9XdHQMiZf66xqbKpCz/cD4odkJ7Wy6PclttrEXFwSVGAq4P7EvXwseLwLEw5XQ== X-Received: by 2002:ab0:c19:0:b0:381:cadf:91b3 with SMTP id a25-20020ab00c19000000b00381cadf91b3mr989389uak.93.1661417771946; Thu, 25 Aug 2022 01:56:11 -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 y3-20020ab07843000000b0038467d003e3sm15276777uaq.38.2022.08.25.01.56.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Aug 2022 01:56:11 -0700 (PDT) From: Philip McGrath Date: Thu, 25 Aug 2022 04:54:16 -0400 Message-Id: <9b429caf1d9cd6574debcb11065b957874d2a31a.1661416343.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This patch uses the 'pbarch' support added to 'racket-vm-cs' to make it the default Racket VM implementation on all systems. * gnu/packages/racket.scm (racket-vm-for-system): Remove. (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' with 'racket-vm-cs'. --- gnu/packages/racket.scm | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 2d6bebf10e..16ad6eef8f 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -128,10 +128,9 @@ (define-module (gnu packages racket) ;; This file defines the packages 'racket-vm-cgc', 'racket-vm-bc', and ;; 'racket-vm-cs'. All three are in-place builds of 'racket/src/' and ;; 'racket/collects/' and are installed to 'opt/racket-vm/' in the store -;; output. The function 'racket-vm-for-system' returns the recomended Racket -;; VM package for a given system. +;; output. ;; -;; We then define the packages 'racket-minimal' and +;; Using 'racket-vm-cs', we then define the packages 'racket-minimal' and ;; 'racket'. These use Racket's support for ``layered installations'', which ;; allow an immutable base layer to be extended with additional packages. ;; They use the layer configuration directly provide ready-to-install FHS-like @@ -192,17 +191,6 @@ (define-module (gnu packages racket) ;; ;; CODE: -(define* (racket-vm-for-system #:optional - (system (or (%current-target-system) - (%current-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)) - (define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit @@ -568,7 +556,7 @@ (define-public racket-minimal (inputs (list openssl sqlite - (racket-vm-for-system) + racket-vm-cs (racket-packages-origin "base" %racket-origin '(("base" "pkgs/base") @@ -686,7 +674,7 @@ (define-public racket unixodbc libedit ;; TODO reconsider in light of expeditor and readline-gpl racket-minimal ;; <-- TODO non-tethered layer - (racket-vm-for-system) + racket-vm-cs (simple-racket-origin "2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7") '("2d" "2d-doc" "2d-lib")) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 09:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141857911365 (code B ref 57050); Thu, 25 Aug 2022 09:10:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 09:09:39 +0000 Received: from localhost ([127.0.0.1]:48932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8rr-0002xF-EZ for submit@debbugs.gnu.org; Thu, 25 Aug 2022 05:09:39 -0400 Received: from mail-ed1-f66.google.com ([209.85.208.66]:46847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8ro-0002x1-Id for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 05:09:38 -0400 Received: by mail-ed1-f66.google.com with SMTP id s11so25219738edd.13 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 02:09:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=yjb6oEoHGMVEaCpIfLmnFRZ5aSZ9pH/AVOy0tGGz6zc=; b=qgHYsbtwW6KE0ZGkzfDnUiNkJOoNkyk+j+4X1MbZi2ehR0Ua5LnUOoypYBlK2kgjva iNB6kmFmpB0uJsNrhMNq6l7so3iB/b2i3BK1v3M3FhcrrIVa2tMt16P5AEmB56VR1PzZ Sw7dfW3MywNqfkX6KGPsUVEhLPRCd2cROcnX4737pilXy42CjSmsg7T/OQ0u4NBYeS+5 tvcsUBkI8vHL2b5VTwEdBhrUPBFhcAfV4FPD3nZR2qP8JLZH05GpcWkVH+1R3yTVBu1J //LCBoSGSNO/4iXsr8yUvdKGPfOPx/aTH/oc1dt5qxtX29mbH8ppI9NAy5eUAAzQmJFv YHMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=yjb6oEoHGMVEaCpIfLmnFRZ5aSZ9pH/AVOy0tGGz6zc=; b=HbaDrcBKKKGXJxRJOhM7zB2m5+QKj9bEZ8tnlQSp/wclcg12WlFXIDZdsZaF8EELk9 7uPjXnaRQfIHWWd+miqDtC5bpx5u6gVnSUn0hYCNAUKulDCb5hd0BJmjUsxdIgY0HOHE 51/n0LI5v3fyfIg+52Gk26u/13EZQuWk1wLCxZHWwXMxq8GaoINBWL9/D3BRAbIiNmae //7/IuyeF889ybpja8iIL7PVA0BzEpAhLeenAGash+J927RHq/A/IpDZb1Ku/Pi3Agqj RC0LkxEo97OvprP7piaFsDA4908KnX7g91fPcWguE5kkuJ9ePf8VfSX6CEC6lvX1WcgI M0CA== X-Gm-Message-State: ACgBeo3g70W2Te5m/RDQl/maGKuk8E4342bd3gxTWuClgw4QTkNtvXp5 ManLkdtjXPNi3DPAHB3iXy4= X-Google-Smtp-Source: AA6agR7gEZHWzKRQACK40ovc5A5P/baZIhmWOCfq5xb9dO2WbN0dTfoZH4ou8DOT4zNZ1vBl2olHYA== X-Received: by 2002:aa7:cc06:0:b0:440:7258:ad16 with SMTP id q6-20020aa7cc06000000b004407258ad16mr2269436edt.74.1661418570775; Thu, 25 Aug 2022 02:09:30 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id q35-20020a05640224a300b00445f9faf13csm4494649eda.72.2022.08.25.02.09.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Aug 2022 02:09:30 -0700 (PDT) Message-ID: <6315c99fee19aa14228754ad3341aedcef838f4b.camel@gmail.com> From: Liliana Marie Prikler Date: Thu, 25 Aug 2022 11:09:29 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may > not > be The Right Thing in the long term, but it at least avoids a > proliferation of 'CPPFLAGS'. > > * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to > ... > * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and > change > to use '_PATH_BSHELL'. > * gnu/local.mk (dist_patch_DATA): Update accordingly. > * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. > (racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change > to a > constant instead of a function, since we no longer need the delay. > (racket-vm-cgc, racket-vm-bc, > racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly. > [inputs]: Remove 'bash-minimal'. I'm not quite sure about removing bash-minimal, but otherwise LGTM. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 09:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141878111712 (code B ref 57050); Thu, 25 Aug 2022 09:13:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 09:13:01 +0000 Received: from localhost ([127.0.0.1]:48947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8v5-00032o-V7 for submit@debbugs.gnu.org; Thu, 25 Aug 2022 05:13:01 -0400 Received: from mail-ej1-f66.google.com ([209.85.218.66]:39924) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8v1-00032Z-IH for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 05:12:58 -0400 Received: by mail-ej1-f66.google.com with SMTP id u15so29598371ejt.6 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 02:12:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=6jFJ58vo1Iz0k29j9cp/e858goiSLqqsDtcNcmvJyqg=; b=nt4vNWVOweI6ELO4huKMbPDG/dH6msjGMSAMiTSywfD4UTmAF4Y1MLvy8HCZC2Ty5l Bo1xTckK6EJGrgxjj157lXt+W0zrYbQXTcVGEuG35u/CcFQmcBKanL3OFsvTOrqqVgk/ JJgWPaoh0+fbOuyAWwJntvgEGUtxrbGs+n3JbWGwso4IJXCjr3jUn5RnypHWC27mMsX5 bAD8axuHT8glJ6/Degl2Mwm6FWXpskAxPIqmLbNcM9jAr/ZQyGRdgsJ0pboRJPaIAJmn eLTrKnNpuTqu7iXRVJHilnazdSrZCKUn2nzzAv5Lxfdc5p/a0RY9+K48jEZbWDzrEede KzMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=6jFJ58vo1Iz0k29j9cp/e858goiSLqqsDtcNcmvJyqg=; b=oTPtDra7w6d/q96eiYF642wLMOf7Yih/l4jA5EzuY9wVyDHsRqhwqlWc/FADSPeMZI LQRugHdZPPyie6FsPAC3m24ubxG00kRLTuIwREVuwz+0TX/QiPUq+39F7ov9eykytWcp pVncyOidHLCCC/NP8GeeenooblXeod3txrv/OK9NfvDO0tGQYoKedM+XkgAXXJGKUrcG 9t/fCB3Z/O+QBMICjOdmUBWFr9UAuAMLmpuJtp+ZEfGM+0bShQwjVx8l0r4ngmMoVQv8 LnVbpjjgph/eseCEP9/TBkumi4bx3Q6+OKzEU2ZzssljatG2bumQArjvjSZkFaBFlNzY drHQ== X-Gm-Message-State: ACgBeo3bvWN8njj2r5Sk3DZrUr/ahUSr9utpJp5JxN77zxABsmq0jUNg OfxhjjsFRKofFxB9hDNQ6K4= X-Google-Smtp-Source: AA6agR4u+rD4nv7zcoNHi3CL0xoTIzVIAiiNUElIUbp0+nJWw7kCewZDXKWlIN98500/2UzUNfoACA== X-Received: by 2002:a17:907:1dc9:b0:73d:b1b1:47ba with SMTP id og9-20020a1709071dc900b0073db1b147bamr1822917ejc.252.1661418769552; Thu, 25 Aug 2022 02:12:49 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id d26-20020a50cd5a000000b0044758c9b951sm3136706edj.79.2022.08.25.02.12.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Aug 2022 02:12:49 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Thu, 25 Aug 2022 11:12:48 +0200 In-Reply-To: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > * gnu/packages/patches/racket-backport-8.6-zuo.patch, > gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. This should probably be zuo-bin-sh.patch. > * gnu/local.mk (dist_patch_DATA): Add them. > * gnu/packages/racket.scm (%zuo-version): New variable. > (zuo): New variable. > --- >  gnu/local.mk                                  |   2 + >  .../patches/racket-backport-8.6-zuo.patch     | 481 > ++++++++++++++++++ >  gnu/packages/patches/racket-zuo-bin-sh.patch  |  74 +++ >  gnu/packages/racket.scm                       |  51 ++ >  4 files changed, 608 insertions(+) >  create mode 100644 gnu/packages/patches/racket-backport-8.6- > zuo.patch >  create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index babd54c8c6..c9c3061b33 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1769,8 +1769,10 @@ dist_patch_DATA > =                                                \ >    %D%/packages/patches/ripperx-missing-file.patch              \ >    %D%/packages/patches/rpcbind-CVE-2017-8779.patch             \ >    %D%/packages/patches/rtags-separate- > rct.patch                        \ > +  %D%/packages/patches/racket-backport-8.6-zuo.patch           \ >    %D%/packages/patches/racket-chez-scheme-bin-sh.patch         \ >    %D%/packages/patches/racket-rktio-bin-sh.patch               \ > +  %D%/packages/patches/racket-zuo-bin-sh.patch                 \ >    %D%/packages/patches/remake-impure- > dirs.patch                        \ >    %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ >    %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch      \ > diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch > b/gnu/packages/patches/racket-backport-8.6-zuo.patch > new file mode 100644 > index 0000000000..b86679b7ec > --- /dev/null > +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch > @@ -0,0 +1,481 @@ > +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 > 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 17:10:58 -0600 > +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` > and > + `CC_FOR_BUILD` > + > +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) > +--- > + racket/src/zuo/Makefile.in  |  7 ++++++- > + racket/src/zuo/README.md    | 10 ++++++++++ > + racket/src/zuo/configure    | 15 +++++++++++++++ > + racket/src/zuo/configure.ac | 11 +++++++++++ > + 4 files changed, 42 insertions(+), 1 deletion(-) > + > +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in > +index 5d16e145bf..747b584c5c 100644 > +--- a/racket/src/zuo/Makefile.in > ++++ b/racket/src/zuo/Makefile.in > +@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@ > + LDFLAGS = @LDFLAGS@ > + LIBS = @LIBS@ > + > ++CC_FOR_BUILD = @CC_FOR_BUILD@ > ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ > ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ > ++LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ > ++ > + EMBED_LIBS = @EMBED_LIBS@ > + > + .PHONY: zuos-to-run-and-install > +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo > +       ./zuo . zuos-to-run-and-install > + > + zuo: $(srcdir)/zuo.c > +-      $(CC) $(CPPFLAGS) $(CFLAGS) - > DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) > $(LIBS) > ++      $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) - > DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c > $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) > + > + .PHONY: check > + check: zuo > +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md > +index 17c88ee9ec..3aad504b7e 100644 > +--- a/racket/src/zuo/README.md > ++++ b/racket/src/zuo/README.md > +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a > stand-alone file or > + embedded in `.c` source. > + > + > ++Cross Compiling > ++--------------- > ++ > ++If you use `./configure --host=...` to cross compile, then you will > ++also need to add something like `CC_FOR_BUILD=cc` as a > `./configure` > ++argument to specify the compiler for a `zuo` to use on the build > ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, > ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. > ++ > ++ > + Embedding Zuo in Another Application > + ------------------------------------ > + > +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure > +index 1fa34a3fe8..575ce07d96 100755 > +--- a/racket/src/zuo/configure > ++++ b/racket/src/zuo/configure > +@@ -589,6 +589,10 @@ enable_embed="zuo" > + ac_subst_vars='LTLIBOBJS > + LIBOBJS > + EMBED_LIBS > ++LIBS_FOR_BUILD > ++LDFLAGS_FOR_BUILD > ++CFLAGS_FOR_BUILD > ++CC_FOR_BUILD > + OBJEXT > + EXEEXT > + ac_ct_CC > +@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS > $CPPFLAGS $LDFLAGS conftest.$ac_ext $ > + ac_compiler_gnu=$ac_cv_c_compiler_gnu > + > + > ++if test "${CC_FOR_BUILD}" = ""; then > ++  CC_FOR_BUILD='$(CC) -O2' > ++  CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' > ++  LDFLAGS_FOR_BUILD='$(LDFLAGS)' > ++  LIBS_FOR_BUILD='$(LIBS)' > ++fi > ++ > ++ > ++ > ++ > ++ > + > + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: > \"${EMBED_LIBS}\"" >&5 > + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} > +diff --git a/racket/src/zuo/configure.ac > b/racket/src/zuo/configure.ac > +index 89b3c6391d..598ff79629 100644 > +--- a/racket/src/zuo/configure.ac > ++++ b/racket/src/zuo/configure.ac > +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno], > + AC_PROG_MAKE_SET() > + AC_PROG_CC > + > ++if test "${CC_FOR_BUILD}" = ""; then > ++  CC_FOR_BUILD='$(CC) -O2' > ++  CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' > ++  LDFLAGS_FOR_BUILD='$(LDFLAGS)' > ++  LIBS_FOR_BUILD='$(LIBS)' > ++fi > ++AC_SUBST(CC_FOR_BUILD) > ++AC_SUBST(CFLAGS_FOR_BUILD) > ++AC_SUBST(LDFLAGS_FOR_BUILD) > ++AC_SUBST(LIBS_FOR_BUILD) > ++ > + AC_SUBST(EMBED_LIBS) > + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) > + > +-- > +2.32.0 > + > + > +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 > 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 17:47:03 -0600 > +Subject: [PATCH 2/4] Zuo: sort hash keys > + > +Printing in a sorted order is helpful to make things more > +deterministic independent of symbol inputs. Making `hash-keys` > +produce a sorted list generalizes that determinism. > + > +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) > +--- > + racket/src/zuo/build.zuo              |  5 ++- > + racket/src/zuo/tests/hash.zuo         |  8 ++-- > + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- > + racket/src/zuo/zuo.c                  | 57 > ++++++++++++++++++++++++++- > + 4 files changed, 78 insertions(+), 10 deletions(-) > + > +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo > +index c1b5e8ce66..129240120a 100644 > +--- a/racket/src/zuo/build.zuo > ++++ b/racket/src/zuo/build.zuo > +@@ -47,7 +47,10 @@ > +     (target (at-dir (add-exe name)) > +             (lambda (path token) > +               (rule (list image_zuo.c > +-                          (input-data-target 'config config) > ++                          (input-data-target 'config (cons > ++                                                      lib-path > ++                                                      (map (lambda > (key) (hash-ref config key)) > ++                                                           '(CC > CPPFLAGS CFLAGS LDFLAGS LIBS)))) > +                           (quote-module-path)) > +                     (lambda () > +                       (define l (split-path path)) > +diff --git a/racket/src/zuo/tests/hash.zuo > b/racket/src/zuo/tests/hash.zuo > +index a35741c730..0d3d7f3af6 100644 > +--- a/racket/src/zuo/tests/hash.zuo > ++++ b/racket/src/zuo/tests/hash.zuo > +@@ -35,9 +35,7 @@ > + > + (check (hash-keys (hash)) '()) > + (check (hash-keys (hash 'a 1)) '(a)) > +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) > +-         (or (equal? keys '(a b)) > +-             (equal? keys '(b a))))) > ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order > + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) > + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) > + (check-arg-fail (hash-keys 0) "not a hash table") > +@@ -50,3 +48,7 @@ > + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) > + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") > + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") > ++ > ++;; print sorts keys alphabetically: > ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") > ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") > +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +index 94641d041e..4605e47471 100644 > +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +@@ -538,10 +538,20 @@ support to convert the textual form back into > a hash table value. > + > + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove > + hash-keys hash-count hash-keys-subset?] from > @racketmodname[racket]. > +-Besides being constrained to symbol keys, there is one additional > +-difference: the third argument to @racket[hash-ref], when supplied, > +-is always used as a value to return if a key is missing, as > +-opposed to a failure thunk.} > ++ > ++Besides being constrained to symbol keys, there are two additional > ++differences: > ++ > ++@itemlist[ > ++ > ++ @item{the third argument to @racket[hash-ref], when supplied, is > ++       always used as a value to return if a key is missing, as > ++       opposed to a failure thunk; and} > ++ > ++ @item{the @racket[hash-keys] function returns interned keys sorted > ++       alphabetically.} > ++ > ++]} > + > + > + @section{Procedures} > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 2957d478af..88d5747326 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, > zuo_t *accum) { > +   return accum; > + } > + > ++/*================================================================= > =====*/ > ++/* symbol-list > sorting                                                  */ > ++/*================================================================= > =====*/ > ++ > ++/* merge sort used to make hash printing deterministic */ > ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { > ++  zuo_t *l, *left, *right, *first, *last; > ++  zuo_uint_t len = 0, i; > ++ > ++  for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l)) > ++    len++; > ++ > ++  if (len < 2) > ++    return l_in; > ++ > ++  left = z.o_null; > ++  for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--) > ++    left = zuo_cons(_zuo_car(l), left); > ++  right = l; > ++ > ++  left = zuo_symbol_list_sort(left); > ++  right = zuo_symbol_list_sort(right); > ++ > ++  first = last = z.o_null; > ++  while ((left != z.o_null) && (right != z.o_null)) { > ++    zuo_t *p; > ++ > ++    if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))- > >str), > ++               ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))- > >str)) > ++        < 1) { > ++      p = zuo_cons(_zuo_car(left), z.o_null); > ++      left = _zuo_cdr(left); > ++    } else { > ++      p = zuo_cons(_zuo_car(right), z.o_null); > ++      right = _zuo_cdr(right); > ++    } > ++ > ++    if (first == z.o_null) > ++      first = p; > ++    else > ++      ((zuo_pair_t *)last)->cdr = p; > ++    last = p; > ++  } > ++ > ++  ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right); > ++ > ++  return first; > ++} > ++ > ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { > ++  return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); > ++} > ++ > + > /*=================================================================== > ===*/ > + /* terminal > support                                                     */ > + > /*=================================================================== > ===*/ > +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t > *obj, zuo_print_mode_t mode) { > +         out_string(out, "opaque"); > +       out_string(out, ">"); > +     } else if (obj->tag == zuo_trie_node_tag) { > +-      zuo_t *keys = zuo_trie_keys(obj, z.o_null); > ++      zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null); > +       if (mode == zuo_print_mode) { > +         out_string(out, "(hash"); > +         if (keys != z.o_null) > +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t > *sym) { > + > + static zuo_t *zuo_hash_keys(zuo_t *ht) { > +   check_hash("hash-keys", ht); > +-  return zuo_trie_keys(ht, z.o_null); > ++  return zuo_trie_sorted_keys(ht, z.o_null); > + } > + > + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { > +-- > +2.32.0 > + > + > +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 > 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 18:06:41 -0600 > +Subject: [PATCH 3/4] Zuo: check for nul characters in `string- > >symbol` > + > +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) > +--- > + racket/src/zuo/tests/symbol.zuo       |  3 +++ > + racket/src/zuo/zuo-doc/lang-zuo.scrbl |  4 ++- > + racket/src/zuo/zuo.c                  | 37 +++++++++++++++++------- > --- > + 3 files changed, 29 insertions(+), 15 deletions(-) > + > +diff --git a/racket/src/zuo/tests/symbol.zuo > b/racket/src/zuo/tests/symbol.zuo > +index 7775aeeb04..5600a89755 100644 > +--- a/racket/src/zuo/tests/symbol.zuo > ++++ b/racket/src/zuo/tests/symbol.zuo > +@@ -19,3 +19,6 @@ > + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) > + (check-arg-fail (string->symbol 'apple) not-string) > + (check-arg-fail (string->uninterned-symbol 'apple) not-string) > ++ > ++(check-arg-fail (string->symbol "apple\0spice") "without a nul > character") > ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) > +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +index 4605e47471..07dd5815b0 100644 > +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +@@ -500,7 +500,9 @@ back into Zuo. > + )]{ > + > + Analogous to @realracket*[symbol? symbol->string string->symbol > +-string->uninterned-symbol] from @racketmodname[racket].} > ++string->uninterned-symbol] from @racketmodname[racket], but > ++@racket[string->symbol] accepts only strings that do not contain > the > ++null character.} > + > + > + @section{Hash Tables (Persistent Maps)} > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 88d5747326..17f161826d 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t > *l_in) { > + > +   first = last = z.o_null; > +   while ((left != z.o_null) && (right != z.o_null)) { > +-    zuo_t *p; > ++    zuo_t *p, *s_left, *s_right; > + > +     if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))- > >str), > +                ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))- > >str)) > +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t > *start_i, zuo_t *end_i) { > +   return zuo_sized_string((const char *)&((zuo_string_t *)obj)- > >s[s_idx], e_idx - s_idx); > + } > + > ++static int zuo_is_string_without_nul(zuo_t *obj) { > ++  zuo_int_t i; > ++ > ++  if ((obj->tag != zuo_string_tag) > ++      || ZUO_STRING_LEN(obj) == 0) > ++    return 0; > ++ > ++  for (i = ZUO_STRING_LEN(obj); i--; ) { > ++    if (((zuo_string_t *)obj)->s[i] == 0) > ++      return 0; > ++  } > ++ > ++  return 1; > ++} > ++ > + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { > +-  check_string("string->symbol", obj); > ++  if (!zuo_is_string_without_nul(obj)) { > ++    const char *who = "string->symbol"; > ++    check_string(who, obj); > ++    zuo_fail_arg(who, "string without a nul character", obj); > ++  } > ++ > +   return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); > + } > + > +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char > *who, zuo_t *envvars) > + #endif > + > + static int zuo_is_path_string(zuo_t *obj) { > +-  zuo_int_t i; > +- > +-  if ((obj->tag != zuo_string_tag) > +-      || ZUO_STRING_LEN(obj) == 0) > +-    return 0; > +- > +-  for (i = ZUO_STRING_LEN(obj); i--; ) { > +-    if (((zuo_string_t *)obj)->s[i] == 0) > +-      return 0; > +-  } > +- > +-  return 1; > ++  return zuo_is_string_without_nul(obj); > + } > + > + static zuo_t *zuo_path_string_p(zuo_t *obj) { > +-- > +2.32.0 > + > + > +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 > 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 19:50:46 -0600 > +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too > + > +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) > +--- > + racket/src/zuo/Makefile.in  | 3 ++- > + racket/src/zuo/configure    | 5 ++++- > + racket/src/zuo/configure.ac | 4 +++- > + 3 files changed, 9 insertions(+), 3 deletions(-) > + > +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in > +index 747b584c5c..0376c038a8 100644 > +--- a/racket/src/zuo/Makefile.in > ++++ b/racket/src/zuo/Makefile.in > +@@ -19,6 +19,7 @@ LIBS = @LIBS@ > + > + CC_FOR_BUILD = @CC_FOR_BUILD@ > + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ > ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ > + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ > + LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ > + > +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo > +       ./zuo . zuos-to-run-and-install > + > + zuo: $(srcdir)/zuo.c > +-      $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) - > DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c > $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) > ++      $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) - > DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c > $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) > + > + .PHONY: check > + check: zuo > +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure > +index 575ce07d96..7ac453e3bc 100755 > +--- a/racket/src/zuo/configure > ++++ b/racket/src/zuo/configure > +@@ -591,6 +591,7 @@ LIBOBJS > + EMBED_LIBS > + LIBS_FOR_BUILD > + LDFLAGS_FOR_BUILD > ++CPPFLAGS_FOR_BUILD > + CFLAGS_FOR_BUILD > + CC_FOR_BUILD > + OBJEXT > +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu > + > + if test "${CC_FOR_BUILD}" = ""; then > +   CC_FOR_BUILD='$(CC) -O2' > +-  CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' > ++  CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' > ++  CFLAGS_FOR_BUILD='$(CFLAGS)' > +   LDFLAGS_FOR_BUILD='$(LDFLAGS)' > +   LIBS_FOR_BUILD='$(LIBS)' > + fi > +@@ -2600,6 +2602,7 @@ fi > + > + > + > ++ > + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: > \"${EMBED_LIBS}\"" >&5 > + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} > + > +diff --git a/racket/src/zuo/configure.ac > b/racket/src/zuo/configure.ac > +index 598ff79629..051ea0beb5 100644 > +--- a/racket/src/zuo/configure.ac > ++++ b/racket/src/zuo/configure.ac > +@@ -27,12 +27,14 @@ AC_PROG_CC > + > + if test "${CC_FOR_BUILD}" = ""; then > +   CC_FOR_BUILD='$(CC) -O2' > +-  CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' > ++  CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' > ++  CFLAGS_FOR_BUILD='$(CFLAGS)' > +   LDFLAGS_FOR_BUILD='$(LDFLAGS)' > +   LIBS_FOR_BUILD='$(LIBS)' > + fi > + AC_SUBST(CC_FOR_BUILD) > + AC_SUBST(CFLAGS_FOR_BUILD) > ++AC_SUBST(CPPFLAGS_FOR_BUILD) > + AC_SUBST(LDFLAGS_FOR_BUILD) > + AC_SUBST(LIBS_FOR_BUILD) > + > +-- > +2.32.0 > + > diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch > b/gnu/packages/patches/racket-zuo-bin-sh.patch > new file mode 100644 > index 0000000000..bcdcb8e963 > --- /dev/null > +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch > @@ -0,0 +1,74 @@ > +From 73d9b77a11b4516905caf579abb559736f715ea6 Mon Sep 17 00:00:00 > 2001 > +From: Philip McGrath > +Date: Mon, 11 Apr 2022 20:43:18 -0400 > +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix > + > +If: > + > +    1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from > +       is defined; and > + > +    2. `zuo_process` is called with the exact path "/bin/sh"; and > + > +    3. The path specified by `_PATH_BSHELL` exists; > + > +then `zuo_process` will execute the file specified by `_PATH_BSHELL` > +instead of "/bin/sh". > + > +Checking that the path specified by `_PATH_BSHELL` exists safeguards > +against obscure errors if attempting to use stand-alone executables > +built by the patched Racket in non-Guix envoronments. > +--- > + racket/src/zuo/zuo.c | 20 ++++++++++++++++++-- > + 1 file changed, 18 insertions(+), 2 deletions(-) > + > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 17f161826d..c4fb3929bb 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -15,6 +15,7 @@ > + #include > + #include > + #ifdef ZUO_UNIX > ++# include /* PATCHED for Guix */ > + # include > + # include > + # include > +@@ -5730,7 +5731,10 @@ static void zuo_pipe(zuo_raw_handle_t *_r, > zuo_raw_handle_t *_w) > + zuo_t *zuo_process(zuo_t *command_and_args) > + { > +   const char *who = "process"; > +-  zuo_t *command = _zuo_car(command_and_args); > ++  /* BEGIN PATCH for Guix */ > ++  zuo_t *_guix_orig_command = _zuo_car(command_and_args); > ++  zuo_t *command; > ++  /* END PATCH for Guix */ > +   zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null; > +   zuo_t *options = z.o_empty_hash, *opt; > +   zuo_t *dir, *l, *p_handle, *result; > +@@ -5741,7 +5745,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) > +   void *env; > +   int as_child, exact_cmdline; > + > +-  check_path_string(who, command); > ++  /* BEGIN PATCH for Guix */ > ++  check_path_string(who, _guix_orig_command); > ++#if defined(_PATH_BSHELL) > ++  command = > ++    ((z.o_false == zuo_string_eql(_guix_orig_command, > zuo_string("/bin/sh"))) > ++     || (z.o_false == zuo_stat(zuo_string(_PATH_BSHELL), z.o_false, > z.o_true))) > ++    ? _guix_orig_command > ++    : zuo_string(_PATH_BSHELL); > ++#else > ++  command = _guix_orig_command; > ++#endif > ++  /* END PATCH for Guix */ > ++ > +   for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) { > +     zuo_t *a = _zuo_car(l); > +     if (a == z.o_null) { > + > +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 > +-- > +2.32.0 > + > diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm > index 0f766e7850..6433897981 100644 > --- a/gnu/packages/racket.scm > +++ b/gnu/packages/racket.scm > @@ -200,6 +200,7 @@ (define* (racket-vm-for-system #:optional >        racket-vm-bc)) >   >  (define %racket-version "8.5") ; Remember to update chez-scheme-for- > racket! > +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c >  (define %racket-commit >    (string-append "v" %racket-version)) >  (define %racket-origin > @@ -232,6 +233,56 @@ (define %racket-origin >           ;; Unbundle libffi. >           (delete-file-recursively > "racket/src/bc/foreign/libffi"))))) >   > + > +(define-public zuo > +  (let ((revision #f)) > +    (package > +      (name "zuo") > +      (version (string-append %zuo-version > +                              "-racket" > +                              "8.6" > +                              (if revision "-guix" "") > +                              (or revision ""))) > +      (source > +       (origin > +         (inherit %racket-origin) > +         (uri (git-reference > +               (url "https://github.com/racket/racket") > +               (commit "v8.6"))) Reiterate my old point on git-version. > +         (sha256 > +          (base32 > "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) > +         (patches (append (origin-patches %racket-origin) > +                          (search-patches "racket-backport-8.6- > zuo.patch" > +                                          "racket-zuo-bin- > sh.patch"))) > +         (file-name (git-file-name "racket" "8.6")))) > +      (outputs '("out" "debug")) > +      (build-system gnu-build-system) > +      (arguments > +       (list > +        #:out-of-source? #t > +        #:phases > +        #~(modify-phases %standard-phases > +            (add-after 'unpack 'chdir > +              (lambda args > +                (chdir "racket/src/zuo")))))) > +      (home-page "https://github.com/racket/zuo") > +      ;; ^ This is downstream of https://github.com/racket/racket, > +      ;; but it's designed to be a friendly landing place > +      (synopsis "Tiny Racket for build scripts") > +      (description "You should use Racket to write scripts.  But > what if you > +need something much smaller than Racket for some reason—or what if > you're > +trying to script a build of Racket itself?  Zuo (作) is a tiny Racket > with > +primitives for dealing with files and running processes, and it > comes with a > +@command{make}-like embedded DSL. > + > +Zuo is a Racket variant in the sense that program files start with > +@code{#lang}, and the module path after @code{#lang} determines the > parsing > +and expansion of the file content.  That's how the @command{make}- > like DSL is > +defined, and even the base Zuo language is defined by layers of > @code{#lang}s. > +One of the early layers implements macros.") > +      (license (list license:asl2.0 license:expat))))) Reiterate my aversion to advertisements. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 08/14] gnu: racket: Update to 8.6. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 09:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141888511908 (code B ref 57050); Thu, 25 Aug 2022 09:15:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 09:14:45 +0000 Received: from localhost ([127.0.0.1]:48955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8wm-000360-Ur for submit@debbugs.gnu.org; Thu, 25 Aug 2022 05:14:45 -0400 Received: from mail-ej1-f66.google.com ([209.85.218.66]:36787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8wl-00035n-4N for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 05:14:43 -0400 Received: by mail-ej1-f66.google.com with SMTP id d21so18940262eje.3 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 02:14:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=yanplt4AFqYXYNU59KCr+9Lb4gYNEUb+uvowovtqkN4=; b=aERJH7Jf3oup7NKbTRSihPjadHP2FWiSCE1uvpkBLuOseZcAN+gmYSCgrJklZPIfkg 264ziV+dvA6YvEdfpkwpT4BWEFrxIcBahcJVVIetThwBgQB2rc3gHkMV/+uS97bPGIKj gvFg9SnQ3vnCb2sUWLEpPPQf3hDjSE3jC4AA/k+aFazF9ryJgE+gZCqFGALzgt+BtFtn sA9BQ0dlRpHhpEaJEVmIevt6Phws4zIKm9nF6owmqa9RzMQrUFhcJTKQ5rGbMj0v9phH dt30s3wALcU0V0UvA9DIPRf3hKPX9DF+jgRzjXXRck77DKsdnWCiNWOQZnEkeQOcJJ93 eEXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=yanplt4AFqYXYNU59KCr+9Lb4gYNEUb+uvowovtqkN4=; b=29Kqu0+P0BPoN3HxNjci+GA30LIa4vxi6XTMMwuD9wgp9/9OzGZj9AtGM2n+ME/kn/ 67JxwAWrrya5jTUTwf31ooGtmzDKafSNKOx1BDxV8KXMcPNr0f6IesvhxQ6DwBNK29Q0 ymLhP2/+lr1eMCVyRr/pS48Dxh77PFXyqRkjxA0+p3+UcyFaiqnQKjbbz09cSFNq1bOe hRHQwHVNx5uD+oUoPbju9lLp7cYqYppgg7AHjE2s31YBxHdhiQwyJT5SkCjOMOvvc45y iufSXl3yFqusDXW2sK9ge2P366p5YWNRfGHhgjBIuCl+5sKeertA51oltNDagfeeK2Z1 Sy3g== X-Gm-Message-State: ACgBeo3ZDSbXJc6jMoAh3vfJgHh5Fr9ibgxaiqWd1xtSyP/SQLuSezaX SoZBwUuQlcjczOBSGsD/T6k= X-Google-Smtp-Source: AA6agR6+g1cQrRErCOqcmbfkCDq2aeYpFbw7M31UPxZInZUxw6xs948z5V5c2yjogbW/nfIyU4/fhA== X-Received: by 2002:a17:907:6293:b0:73d:b27b:e594 with SMTP id nd19-20020a170907629300b0073db27be594mr1872355ejc.526.1661418877602; Thu, 25 Aug 2022 02:14:37 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b93-20020a509f66000000b00445a06b6920sm4484065edf.17.2022.08.25.02.14.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Aug 2022 02:14:37 -0700 (PDT) Message-ID: <0f82d20277054e3d7d4562db7bb3b29a23f9ab86.camel@gmail.com> From: Liliana Marie Prikler Date: Thu, 25 Aug 2022 11:14:36 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > Also, update 'chez-scheme-for-racket' to 9.5.9.2. Reiterate my argument for splitting this in two along the "Also" line. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 14/14] gnu: racket: Use Racket CS on all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 09:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141904012298 (code B ref 57050); Thu, 25 Aug 2022 09:18:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 09:17:20 +0000 Received: from localhost ([127.0.0.1]:48980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8zH-0003CH-QC for submit@debbugs.gnu.org; Thu, 25 Aug 2022 05:17:20 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:34309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR8zF-0003C2-Ti for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 05:17:18 -0400 Received: by mail-ed1-f67.google.com with SMTP id z2so25292545edc.1 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 02:17:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=WaHszGi8wS5zg2JEXr82aRW/5gZm7b1XCjKiweTM6/Q=; b=gEB3HuxCgEFjL1OJFss2YYXk+f/dzLQJ4o9KCbmbBoXs8YyHhIeOyhLV84vnQ3WNsG k5lUGV2KDFNfRcpBvgS67FW8ROm58Xs02ClG+TQh1q5eMtrQhus7n41F2NpoIlrp9uPD UCWU0gQHzBcIVy/l3tIcqJK/8VbmK2iMPVgoO0nBnvzfHwqn1UNbln5/gdiqskrOQs7r Aiwro6+zY6ApPx/neYLhvv26yiQCpeVMDkI3uGSKDT7n46DOFZ/68iY8fWYg6pmlGbRJ MdwyL5NNX2fxurpZ36IbNAb602LB4ZmhHWTEaCCfHIcQd+87ITnPz23BwMj7rcUh7uAP CiBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=WaHszGi8wS5zg2JEXr82aRW/5gZm7b1XCjKiweTM6/Q=; b=U9HZaTJHJJj4v9l11CUGHu4xCOoo0rFg2rXw75E159aYjC0Lc3brcBbi/dIwR8w5FQ yIL4mPf1QnE1UnIAJEFvJktlWV63PrbsQqk5dWAPXNH5vShvur7Fw8pXvZTkasdQbDAZ P5paIvl3YepAKduMihBaPvDxqH/vHQC5553aZ0QrhXmFLOHO4W+OfZxSOsCfPcgMP6bR Faq5CTOC6/mh4eRyBAUzpzJYoPCRX5Jgq8d7m99dY0bWdBpg6CD+bfgAvJhRHgisy4Qn J2+CISPk1MBOqeO7wfSh87ZcD+6YqUtNqxeImLKZ6a06HKiIoebWh7CBOS5v/s0iHBK1 5NOA== X-Gm-Message-State: ACgBeo2V9UZOLYGPtpHTUaVwwEGwC/tboCbIhsRfZ1ixNL+Vdh4tA0jR n2Okwjne4a0gm/XJ+ke/TYA= X-Google-Smtp-Source: AA6agR5QJSrXC/OFU3nbvKz+vH4ip2vbQ1SuVcA2oAkQSJnVbMuln/ulyqDieG77w4Prbcd+aR7GrQ== X-Received: by 2002:a05:6402:42d4:b0:443:4b8:8cba with SMTP id i20-20020a05640242d400b0044304b88cbamr2402862edc.3.1661419032204; Thu, 25 Aug 2022 02:17:12 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id v12-20020a1709067d8c00b007324aa2ca77sm2181502ejo.85.2022.08.25.02.17.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Aug 2022 02:17:11 -0700 (PDT) Message-ID: <0f2a526ce3b7aaea7c069b7a699e027d781e64f7.camel@gmail.com> From: Liliana Marie Prikler Date: Thu, 25 Aug 2022 11:17:10 +0200 In-Reply-To: <9b429caf1d9cd6574debcb11065b957874d2a31a.1661416343.git.philip@philipmcgrath.com> References: <9b429caf1d9cd6574debcb11065b957874d2a31a.1661416343.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > This patch uses the 'pbarch' support added to 'racket-vm-cs' to make > it the default Racket VM implementation on all systems. > > * gnu/packages/racket.scm (racket-vm-for-system): Remove. > (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' > with 'racket-vm-cs'. LGTM. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 12/14] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 09:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: Liliana Marie Prikler , "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166141948113032 (code B ref 57050); Thu, 25 Aug 2022 09:25:01 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 09:24:41 +0000 Received: from localhost ([127.0.0.1]:48992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR96O-0003O7-OM for submit@debbugs.gnu.org; Thu, 25 Aug 2022 05:24:41 -0400 Received: from mail-ej1-f66.google.com ([209.85.218.66]:33788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oR96N-0003Nu-33 for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 05:24:39 -0400 Received: by mail-ej1-f66.google.com with SMTP id cu2so405988ejb.0 for <57050@debbugs.gnu.org>; Thu, 25 Aug 2022 02:24:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=WO8CvZWb91kybGJtWZDfH/1EG5qHZbfbxtbK8z1QPK4=; b=D+DSJas/kvYm30iZetfC1QbV1sXimA1hNWSeDynPEFrfmAEp6fc21TJRJEnhjjDRj5 BsVkBvdYY+Eacg5/ad5lh/It6YB0nfObwJP1ZakH9fdT2cpLp/7IzgX7bi8Ned/UciV5 iQqQnzvlgStCBYUfFfFtDuCNlPAjCxiYjB/IX0NreyiG71Z/7R8eMmsdzBfcV0UmabMs zAVCTArxRJC67jw4qtjXee1DTqzTRlUZDomLtUtEOdmvDjWAIZ9QKWrX9b+x5+i/jbKE Bz/AH8/BLTK21xHnklLLPqufq09IPJSEGE8u+6URve0a1dsP8EjUaWIAoB3HVV+xSsxE paZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=WO8CvZWb91kybGJtWZDfH/1EG5qHZbfbxtbK8z1QPK4=; b=uaPkR/H6R8G1Rem+CaF5zYMoOguX7ehfE5vHkOKXkqAsHW6GifyS9wzdsGGNUtwLI3 gqhAtxO+clk8TM/Oo2btSzXZKYGFbNHL9KG6zSEDbUUxCe2vvcPUu37pbjMB9RMp5GbG HkyYq1X8P09W3v4Ce2rj+U/XFZvg9v/QOJTNjJG7hPCpRVMGl5E4/AnYyX8+oGCouFj5 l1gNR1J6fezBGtoZ1HGZDDnyXDHd4Nxn8Q7yJFY1/43s+72m2vgrHc0jQmB6E1/Ume8B 5jAeGGbAFwd0XW2Q+F6/fUYMUSsFor0IA426ZpiBtlBU3S15RqEQCMyNf1UfTxMrI53s SV1A== X-Gm-Message-State: ACgBeo1jEh68QmvSvOpAt7QXhc92bJ08Zu07jfW3pUGgsXxRTlPUPPqB o/ktpoCDC6VONLcyU01ng9c= X-Google-Smtp-Source: AA6agR5bZ+ZF+RN3Uwm3rxv2r29tp6E0pjk13fsfDURbmnoFH2KyBK4lciPbwsV48Qy42+jkNiJB/w== X-Received: by 2002:a17:907:e89:b0:73d:a99a:7943 with SMTP id ho9-20020a1709070e8900b0073da99a7943mr1761600ejc.682.1661419473074; Thu, 25 Aug 2022 02:24:33 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id 2-20020a170906328200b0073c9d68ca0dsm2179131ejw.133.2022.08.25.02.24.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Aug 2022 02:24:32 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Thu, 25 Aug 2022 11:24:31 +0200 In-Reply-To: <7c5ee85372e4682282dc6a543c99a3620abf2cd5.1661416343.git.philip@philipmcgrath.com> References: <7c5ee85372e4682282dc6a543c99a3620abf2cd5.1661416343.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Should be "Support all systems". Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > On systems for which Racket's variant of Chez Scheme cannot generate > native code, it can use a 'pbarch' machine type: a variant of the > ``portable bytecode'' backend specialized to word size and endianness. > This allows Racket CS to replace Racket BC on those systems while > maintaining comparable performance. (Racket BC lacks JIT support for > those systems anyway.) It also lets us provide a Chez Scheme package on > all systems Guix supports. > > This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and > 'racket-vm-cs', but it does not change the Racket VM implementation > used > for the 'racket' and 'racket-minimal' packages. > > * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New > variable. > (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems. > [arguments]<#:configure-flags>: Always supply '-m='. Add applicable > flags for non-native systems. > [supported-systems]: Use '%supported-systems'. > [description]: Update. > (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: > Adapt > 'build' phase for non-native systems. > * gnu/packages/racket.scm (racket-vm-bc)[description]: Update. > (racket-vm-cs)[description]: Likewise. > [inputs]: Use 'libffi' for non-native systems. > [arguments]<#:configure-flags>: Add applicable flags for non-native > systems. > --- >  gnu/packages/chez.scm   | 76 ++++++++++++++++++++++++++++++----------- >  gnu/packages/racket.scm | 26 +++++++++----- >  2 files changed, 74 insertions(+), 28 deletions(-) > > diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm > index 26f653ea9d..5d152b3db5 100644 > --- a/gnu/packages/chez.scm > +++ b/gnu/packages/chez.scm > @@ -37,6 +37,7 @@ (define-module (gnu packages chez) >    #:use-module (gnu packages compression) >    #:use-module (gnu packages ncurses) >    #:use-module (gnu packages ghostscript) > +  #:use-module (gnu packages libffi) >    #:use-module (gnu packages linux) >    #:use-module (gnu packages netpbm) >    #:use-module (gnu packages racket) > @@ -49,6 +50,7 @@ (define-module (gnu packages chez) >    #:use-module (srfi srfi-26) >    #:export (chez-scheme-for-system >              racket-cs-native-supported-system? > +            nix-system->pbarch-machine-type >              unpack-nanopass+stex)) >   >  ;; Commentary: > @@ -231,6 +233,28 @@ (define* (chez-upstream-features-for-system > #:optional >      (and=> (assoc-ref %chez-features-table chez-os) >             (cut assoc-ref <> chez-arch)))) >   > +(define* (nix-system->pbarch-machine-type #:optional > +                                          (system > +                                           (or (%current-target- > system) > +                                               (%current-system))) > +                                          #:key (threads? #t)) > +  "Return a string naming the pseudo–machine type used by Racket's > variant of > +Chez Scheme to represent the appropriate ``pbarch'' backend for > SYSTEM: that > +is, the ``portable bytecode'' backend specialized for SYSTEM's word > size and > +endianness.  The result will name the threaded machine type unless > THREADS? is > +provided and is #f." > +  (string-append (if threads? > +                     "t" > +                     "") > +                 "pb" > +                 (if (target-64bit? system) > +                     "64" > +                     "32") > +                 ;; missing (guix utils) predicate target-little- > endian? > +                 (if (target-ppc32? system) > +                     "b" > +                     "l"))) > + Don't we already have a function that does something similar? Can't we add a #:portable-bytecode? keyword to that one? >  (define* (racket-cs-native-supported-system? #:optional >                                               (system >                                                (or (%current-target- > system) > @@ -449,10 +473,14 @@ (define-public chez-scheme-for-racket >      ;; When updating, remember to also update %racket-version in > racket.scm. >      (source #f) ; avoid problematic cycle with racket.scm >      (inputs > -     (modify-inputs (package-inputs chez-scheme) > -       (delete "libx11" "util-linux:lib") > -        (replace "chez-scheme-bootstrap-bootfiles" > -          chez-scheme-for-racket-bootstrap-bootfiles))) > +     (let ((inputs (modify-inputs (package-inputs chez-scheme) > +                     (replace "chez-scheme-bootstrap-bootfiles" > +                       chez-scheme-for-racket-bootstrap-bootfiles) > +                     (delete "libx11" "util-linux:lib")))) > +       (if (racket-cs-native-supported-system?) > +           inputs > +           (modify-inputs inputs > +             (prepend libffi))))) >      (native-inputs >       (let ((native-inputs (modify-inputs (package-native-inputs chez- > scheme) >                              (prepend zuo)))) > @@ -473,10 +501,16 @@ (define-public chez-scheme-for-racket >         ((#:configure-flags cfg-flags #~'()) >          #~`("--disable-x11" >              "--threads" ;; ok to potentially duplicate > -            #$@(if (%current-target-system) > -                   (list (string-append "-m=" > -                                        (racket-cs-native-supported- > system?))) > -                   '()) > +            #$(string-append "-m=" (or (racket-cs-native-supported- > system?) > +                                       (nix-system->pbarch-machine- > type))) > +            ;; ^ could skip -m= for non-cross non-pbarch builds > +            #$@(if (racket-cs-native-supported-system?) > +                   #~() > +                   ;; not inferred on non-native platforms: see > +                   ;; https://racket.discourse.group/t/950/9 > +                   #~("--enable-libffi" > +                      "CFLAGS=-g -O2 -D_REENTRANT -pthread" > +                      "LIBS=-lm -ldl -lrt -lffi -lncurses")) >              #$@(if (%current-target-system) >                     (list (string-append "--toolprefix=" >                                          (%current-target-system) > @@ -543,10 +577,7 @@ (define-public chez-scheme-for-racket >                (add-after 'unpack 'chdir >                  (lambda args >                    (chdir "racket/src/ChezScheme")))))))) > -    ;; 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)) > +    (supported-systems %supported-systems) I don't think this needs to be specified, does it? See the definition in guix/packages.scm: (supported-systems package-supported-systems ; list of strings (default %supported-systems)) Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 10:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Liliana Marie Prikler , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166142349128592 (code B ref 57050); Thu, 25 Aug 2022 10:32:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 10:31:31 +0000 Received: from localhost ([127.0.0.1]:49084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRA94-0007R5-6O for submit@debbugs.gnu.org; Thu, 25 Aug 2022 06:31:31 -0400 Received: from flashner.co.il ([178.62.234.194]:50608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRA8z-0007Qo-2d for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 06:31:28 -0400 Received: from localhost (unknown [31.210.177.64]) by flashner.co.il (Postfix) with ESMTPSA id A567C40204; Thu, 25 Aug 2022 10:31:18 +0000 (UTC) Date: Thu, 25 Aug 2022 13:30:45 +0300 From: Efraim Flashner Message-ID: Mail-Followup-To: Efraim Flashner , Philip McGrath , 57050@debbugs.gnu.org, Thiago Jung Bauermann , Liliana Marie Prikler , Liliana Marie Prikler , Maxime Devos , "(" References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="fZmL0MsKYgSBV6nf" Content-Disposition: inline In-Reply-To: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --fZmL0MsKYgSBV6nf Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 25, 2022 at 04:54:09AM -0400, Philip McGrath wrote: > * gnu/packages/patches/racket-backport-8.6-zuo.patch, > gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. > * gnu/local.mk (dist_patch_DATA): Add them. > * gnu/packages/racket.scm (%zuo-version): New variable. > (zuo): New variable. > --- > gnu/local.mk | 2 + > .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++++++ > gnu/packages/patches/racket-zuo-bin-sh.patch | 74 +++ > gnu/packages/racket.scm | 51 ++ > 4 files changed, 608 insertions(+) > create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch > create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch >=20 > diff --git a/gnu/local.mk b/gnu/local.mk > index babd54c8c6..c9c3061b33 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1769,8 +1769,10 @@ dist_patch_DATA =3D \ > %D%/packages/patches/ripperx-missing-file.patch \ > %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ > %D%/packages/patches/rtags-separate-rct.patch \ > + %D%/packages/patches/racket-backport-8.6-zuo.patch \ > %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ > %D%/packages/patches/racket-rktio-bin-sh.patch \ > + %D%/packages/patches/racket-zuo-bin-sh.patch \ > %D%/packages/patches/remake-impure-dirs.patch \ > %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ > %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ > diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch b/gnu/pac= kages/patches/racket-backport-8.6-zuo.patch > new file mode 100644 > index 0000000000..b86679b7ec > --- /dev/null > +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch > @@ -0,0 +1,481 @@ > +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 17:10:58 -0600 > +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and > + `CC_FOR_BUILD` > + > +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) > +--- > + racket/src/zuo/Makefile.in | 7 ++++++- > + racket/src/zuo/README.md | 10 ++++++++++ > + racket/src/zuo/configure | 15 +++++++++++++++ > + racket/src/zuo/configure.ac | 11 +++++++++++ > + 4 files changed, 42 insertions(+), 1 deletion(-) > + > +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in > +index 5d16e145bf..747b584c5c 100644 > +--- a/racket/src/zuo/Makefile.in > ++++ b/racket/src/zuo/Makefile.in > +@@ -17,6 +17,11 @@ CPPFLAGS =3D @CPPFLAGS@ > + LDFLAGS =3D @LDFLAGS@ > + LIBS =3D @LIBS@ > +=20 > ++CC_FOR_BUILD =3D @CC_FOR_BUILD@ > ++CFLAGS_FOR_BUILD =3D @CFLAGS_FOR_BUILD@ > ++LDFLAGS_FOR_BUILD =3D @LDFLAGS_FOR_BUILD@ > ++LIBS_FOR_BUILD =3D @LIBS_FOR_BUILD@ > ++ > + EMBED_LIBS =3D @EMBED_LIBS@ > +=20 > + .PHONY: zuos-to-run-and-install > +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo > + ./zuo . zuos-to-run-and-install > +=20 > + zuo: $(srcdir)/zuo.c > +- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH=3D'"'"$(srcdir)/lib"'"' -o = zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS) > ++ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH=3D'"'"$(srcdir)/lib"= '"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) > +=20 > + .PHONY: check > + check: zuo > +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md > +index 17c88ee9ec..3aad504b7e 100644 > +--- a/racket/src/zuo/README.md > ++++ b/racket/src/zuo/README.md > +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a sta= nd-alone file or > + embedded in `.c` source. > +=20 > +=20 > ++Cross Compiling > ++--------------- > ++ > ++If you use `./configure --host=3D...` to cross compile, then you will > ++also need to add something like `CC_FOR_BUILD=3Dcc` as a `./configure` > ++argument to specify the compiler for a `zuo` to use on the build > ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, > ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. > ++ > ++ > + Embedding Zuo in Another Application > + ------------------------------------ > +=20 > +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure > +index 1fa34a3fe8..575ce07d96 100755 > +--- a/racket/src/zuo/configure > ++++ b/racket/src/zuo/configure > +@@ -589,6 +589,10 @@ enable_embed=3D"zuo" > + ac_subst_vars=3D'LTLIBOBJS > + LIBOBJS > + EMBED_LIBS > ++LIBS_FOR_BUILD > ++LDFLAGS_FOR_BUILD > ++CFLAGS_FOR_BUILD > ++CC_FOR_BUILD > + OBJEXT > + EXEEXT > + ac_ct_CC > +@@ -2584,6 +2588,17 @@ ac_link=3D'$CC -o conftest$ac_exeext $CFLAGS $CPP= FLAGS $LDFLAGS conftest.$ac_ext $ > + ac_compiler_gnu=3D$ac_cv_c_compiler_gnu > +=20 > +=20 > ++if test "${CC_FOR_BUILD}" =3D ""; then > ++ CC_FOR_BUILD=3D'$(CC) -O2' > ++ CFLAGS_FOR_BUILD=3D'$(CPPFLAGS) $(CFLAGS)' > ++ LDFLAGS_FOR_BUILD=3D'$(LDFLAGS)' > ++ LIBS_FOR_BUILD=3D'$(LIBS)' > ++fi > ++ > ++ > ++ > ++ > ++ > +=20 > + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EM= BED_LIBS}\"" >&5 > + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} > +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac > +index 89b3c6391d..598ff79629 100644 > +--- a/racket/src/zuo/configure.ac > ++++ b/racket/src/zuo/configure.ac > +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" =3D xno], > + AC_PROG_MAKE_SET() > + AC_PROG_CC > +=20 > ++if test "${CC_FOR_BUILD}" =3D ""; then > ++ CC_FOR_BUILD=3D'$(CC) -O2' > ++ CFLAGS_FOR_BUILD=3D'$(CPPFLAGS) $(CFLAGS)' > ++ LDFLAGS_FOR_BUILD=3D'$(LDFLAGS)' > ++ LIBS_FOR_BUILD=3D'$(LIBS)' > ++fi > ++AC_SUBST(CC_FOR_BUILD) > ++AC_SUBST(CFLAGS_FOR_BUILD) > ++AC_SUBST(LDFLAGS_FOR_BUILD) > ++AC_SUBST(LIBS_FOR_BUILD) > ++ > + AC_SUBST(EMBED_LIBS) > + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) > +=20 > +--=20 > +2.32.0 > + > + > +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 17:47:03 -0600 > +Subject: [PATCH 2/4] Zuo: sort hash keys > + > +Printing in a sorted order is helpful to make things more > +deterministic independent of symbol inputs. Making `hash-keys` > +produce a sorted list generalizes that determinism. > + > +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) > +--- > + racket/src/zuo/build.zuo | 5 ++- > + racket/src/zuo/tests/hash.zuo | 8 ++-- > + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- > + racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++- > + 4 files changed, 78 insertions(+), 10 deletions(-) > + > +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo > +index c1b5e8ce66..129240120a 100644 > +--- a/racket/src/zuo/build.zuo > ++++ b/racket/src/zuo/build.zuo > +@@ -47,7 +47,10 @@ > + (target (at-dir (add-exe name)) > + (lambda (path token) > + (rule (list image_zuo.c > +- (input-data-target 'config config) > ++ (input-data-target 'config (cons > ++ lib-path > ++ (map (lambda (key= ) (hash-ref config key)) > ++ '(CC CPPFLAG= S CFLAGS LDFLAGS LIBS)))) > + (quote-module-path)) > + (lambda () > + (define l (split-path path)) > +diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.z= uo > +index a35741c730..0d3d7f3af6 100644 > +--- a/racket/src/zuo/tests/hash.zuo > ++++ b/racket/src/zuo/tests/hash.zuo > +@@ -35,9 +35,7 @@ > +=20 > + (check (hash-keys (hash)) '()) > + (check (hash-keys (hash 'a 1)) '(a)) > +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) > +- (or (equal? keys '(a b)) > +- (equal? keys '(b a))))) > ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order > + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) > + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) > + (check-arg-fail (hash-keys 0) "not a hash table") > +@@ -50,3 +48,7 @@ > + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) > + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") > + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") > ++ > ++;; print sorts keys alphabetically: > ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") > ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") > +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-= doc/lang-zuo.scrbl > +index 94641d041e..4605e47471 100644 > +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +@@ -538,10 +538,20 @@ support to convert the textual form back into a ha= sh table value. > +=20 > + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove > + hash-keys hash-count hash-keys-subset?] from @racketmodname[racket]. > +-Besides being constrained to symbol keys, there is one additional > +-difference: the third argument to @racket[hash-ref], when supplied, > +-is always used as a value to return if a key is missing, as > +-opposed to a failure thunk.} > ++ > ++Besides being constrained to symbol keys, there are two additional > ++differences: > ++ > ++@itemlist[ > ++ > ++ @item{the third argument to @racket[hash-ref], when supplied, is > ++ always used as a value to return if a key is missing, as > ++ opposed to a failure thunk; and} > ++ > ++ @item{the @racket[hash-keys] function returns interned keys sorted > ++ alphabetically.} > ++ > ++]} > +=20 > +=20 > + @section{Procedures} > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 2957d478af..88d5747326 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t= *accum) { > + return accum; > + } > +=20 > ++/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ > ++/* symbol-list sorting = */ > ++/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ > ++ > ++/* merge sort used to make hash printing deterministic */ > ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { > ++ zuo_t *l, *left, *right, *first, *last; > ++ zuo_uint_t len =3D 0, i; > ++ > ++ for (l =3D l_in, len =3D 0; l !=3D z.o_null; l =3D _zuo_cdr(l)) > ++ len++; > ++ > ++ if (len < 2) > ++ return l_in; > ++ > ++ left =3D z.o_null; > ++ for (l =3D l_in, i =3D len >> 1; i > 0; l =3D _zuo_cdr(l), i--) > ++ left =3D zuo_cons(_zuo_car(l), left); > ++ right =3D l; > ++ > ++ left =3D zuo_symbol_list_sort(left); > ++ right =3D zuo_symbol_list_sort(right); > ++ > ++ first =3D last =3D z.o_null; > ++ while ((left !=3D z.o_null) && (right !=3D z.o_null)) { > ++ zuo_t *p; > ++ > ++ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), > ++ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) > ++ < 1) { > ++ p =3D zuo_cons(_zuo_car(left), z.o_null); > ++ left =3D _zuo_cdr(left); > ++ } else { > ++ p =3D zuo_cons(_zuo_car(right), z.o_null); > ++ right =3D _zuo_cdr(right); > ++ } > ++ > ++ if (first =3D=3D z.o_null) > ++ first =3D p; > ++ else > ++ ((zuo_pair_t *)last)->cdr =3D p; > ++ last =3D p; > ++ } > ++ > ++ ((zuo_pair_t *)last)->cdr =3D ((left !=3D z.o_null) ? left : right); > ++ > ++ return first; > ++} > ++ > ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { > ++ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); > ++} > ++ > + /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ > + /* terminal support = */ > + /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ > +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zu= o_print_mode_t mode) { > + out_string(out, "opaque"); > + out_string(out, ">"); > + } else if (obj->tag =3D=3D zuo_trie_node_tag) { > +- zuo_t *keys =3D zuo_trie_keys(obj, z.o_null); > ++ zuo_t *keys =3D zuo_trie_sorted_keys(obj, z.o_null); > + if (mode =3D=3D zuo_print_mode) { > + out_string(out, "(hash"); > + if (keys !=3D z.o_null) > +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sy= m) { > +=20 > + static zuo_t *zuo_hash_keys(zuo_t *ht) { > + check_hash("hash-keys", ht); > +- return zuo_trie_keys(ht, z.o_null); > ++ return zuo_trie_sorted_keys(ht, z.o_null); > + } > +=20 > + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { > +--=20 > +2.32.0 > + > + > +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 18:06:41 -0600 > +Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol` > + > +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) > +--- > + racket/src/zuo/tests/symbol.zuo | 3 +++ > + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++- > + racket/src/zuo/zuo.c | 37 +++++++++++++++++---------- > + 3 files changed, 29 insertions(+), 15 deletions(-) > + > +diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symb= ol.zuo > +index 7775aeeb04..5600a89755 100644 > +--- a/racket/src/zuo/tests/symbol.zuo > ++++ b/racket/src/zuo/tests/symbol.zuo > +@@ -19,3 +19,6 @@ > + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) > + (check-arg-fail (string->symbol 'apple) not-string) > + (check-arg-fail (string->uninterned-symbol 'apple) not-string) > ++ > ++(check-arg-fail (string->symbol "apple\0spice") "without a nul characte= r") > ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) > +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-= doc/lang-zuo.scrbl > +index 4605e47471..07dd5815b0 100644 > +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl > ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl > +@@ -500,7 +500,9 @@ back into Zuo. > + )]{ > +=20 > + Analogous to @realracket*[symbol? symbol->string string->symbol > +-string->uninterned-symbol] from @racketmodname[racket].} > ++string->uninterned-symbol] from @racketmodname[racket], but > ++@racket[string->symbol] accepts only strings that do not contain the > ++null character.} > +=20 > +=20 > + @section{Hash Tables (Persistent Maps)} > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 88d5747326..17f161826d 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { > +=20 > + first =3D last =3D z.o_null; > + while ((left !=3D z.o_null) && (right !=3D z.o_null)) { > +- zuo_t *p; > ++ zuo_t *p, *s_left, *s_right; > +=20 > + if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), > + ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) > +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *st= art_i, zuo_t *end_i) { > + return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx= ], e_idx - s_idx); > + } > +=20 > ++static int zuo_is_string_without_nul(zuo_t *obj) { > ++ zuo_int_t i; > ++ > ++ if ((obj->tag !=3D zuo_string_tag) > ++ || ZUO_STRING_LEN(obj) =3D=3D 0) > ++ return 0; > ++ > ++ for (i =3D ZUO_STRING_LEN(obj); i--; ) { > ++ if (((zuo_string_t *)obj)->s[i] =3D=3D 0) > ++ return 0; > ++ } > ++ > ++ return 1; > ++} > ++ > + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { > +- check_string("string->symbol", obj); > ++ if (!zuo_is_string_without_nul(obj)) { > ++ const char *who =3D "string->symbol"; > ++ check_string(who, obj); > ++ zuo_fail_arg(who, "string without a nul character", obj); > ++ } > ++ > + return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); > + } > +=20 > +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, z= uo_t *envvars) > + #endif > +=20 > + static int zuo_is_path_string(zuo_t *obj) { > +- zuo_int_t i; > +- > +- if ((obj->tag !=3D zuo_string_tag) > +- || ZUO_STRING_LEN(obj) =3D=3D 0) > +- return 0; > +- > +- for (i =3D ZUO_STRING_LEN(obj); i--; ) { > +- if (((zuo_string_t *)obj)->s[i] =3D=3D 0) > +- return 0; > +- } > +- > +- return 1; > ++ return zuo_is_string_without_nul(obj); > + } > +=20 > + static zuo_t *zuo_path_string_p(zuo_t *obj) { > +--=20 > +2.32.0 > + > + > +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Sat, 23 Jul 2022 19:50:46 -0600 > +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too > + > +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) > +--- > + racket/src/zuo/Makefile.in | 3 ++- > + racket/src/zuo/configure | 5 ++++- > + racket/src/zuo/configure.ac | 4 +++- > + 3 files changed, 9 insertions(+), 3 deletions(-) > + > +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in > +index 747b584c5c..0376c038a8 100644 > +--- a/racket/src/zuo/Makefile.in > ++++ b/racket/src/zuo/Makefile.in > +@@ -19,6 +19,7 @@ LIBS =3D @LIBS@ > +=20 > + CC_FOR_BUILD =3D @CC_FOR_BUILD@ > + CFLAGS_FOR_BUILD =3D @CFLAGS_FOR_BUILD@ > ++CPPFLAGS_FOR_BUILD =3D @CPPFLAGS_FOR_BUILD@ > + LDFLAGS_FOR_BUILD =3D @LDFLAGS_FOR_BUILD@ > + LIBS_FOR_BUILD =3D @LIBS_FOR_BUILD@ > +=20 > +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo > + ./zuo . zuos-to-run-and-install > +=20 > + zuo: $(srcdir)/zuo.c > +- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH=3D'"'"$(srcdir)/lib"= '"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) > ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PA= TH=3D'"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LI= BS_FOR_BUILD) > +=20 > + .PHONY: check > + check: zuo > +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure > +index 575ce07d96..7ac453e3bc 100755 > +--- a/racket/src/zuo/configure > ++++ b/racket/src/zuo/configure > +@@ -591,6 +591,7 @@ LIBOBJS > + EMBED_LIBS > + LIBS_FOR_BUILD > + LDFLAGS_FOR_BUILD > ++CPPFLAGS_FOR_BUILD > + CFLAGS_FOR_BUILD > + CC_FOR_BUILD > + OBJEXT > +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=3D$ac_cv_c_compiler_gnu > +=20 > + if test "${CC_FOR_BUILD}" =3D ""; then > + CC_FOR_BUILD=3D'$(CC) -O2' > +- CFLAGS_FOR_BUILD=3D'$(CPPFLAGS) $(CFLAGS)' > ++ CPPFLAGS_FOR_BUILD=3D'$(CPPFLAGS)' > ++ CFLAGS_FOR_BUILD=3D'$(CFLAGS)' > + LDFLAGS_FOR_BUILD=3D'$(LDFLAGS)' > + LIBS_FOR_BUILD=3D'$(LIBS)' > + fi > +@@ -2600,6 +2602,7 @@ fi > +=20 > +=20 > +=20 > ++ > + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EM= BED_LIBS}\"" >&5 > + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} > +=20 > +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac > +index 598ff79629..051ea0beb5 100644 > +--- a/racket/src/zuo/configure.ac > ++++ b/racket/src/zuo/configure.ac > +@@ -27,12 +27,14 @@ AC_PROG_CC > +=20 > + if test "${CC_FOR_BUILD}" =3D ""; then > + CC_FOR_BUILD=3D'$(CC) -O2' > +- CFLAGS_FOR_BUILD=3D'$(CPPFLAGS) $(CFLAGS)' > ++ CPPFLAGS_FOR_BUILD=3D'$(CPPFLAGS)' > ++ CFLAGS_FOR_BUILD=3D'$(CFLAGS)' > + LDFLAGS_FOR_BUILD=3D'$(LDFLAGS)' > + LIBS_FOR_BUILD=3D'$(LIBS)' > + fi > + AC_SUBST(CC_FOR_BUILD) > + AC_SUBST(CFLAGS_FOR_BUILD) > ++AC_SUBST(CPPFLAGS_FOR_BUILD) > + AC_SUBST(LDFLAGS_FOR_BUILD) > + AC_SUBST(LIBS_FOR_BUILD) > +=20 > +--=20 > +2.32.0 > + > diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch b/gnu/packages/= patches/racket-zuo-bin-sh.patch > new file mode 100644 > index 0000000000..bcdcb8e963 > --- /dev/null > +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch > @@ -0,0 +1,74 @@ > +From 73d9b77a11b4516905caf579abb559736f715ea6 Mon Sep 17 00:00:00 2001 > +From: Philip McGrath > +Date: Mon, 11 Apr 2022 20:43:18 -0400 > +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix > + > +If: > + > + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from > + is defined; and > + > + 2. `zuo_process` is called with the exact path "/bin/sh"; and > + > + 3. The path specified by `_PATH_BSHELL` exists; > + > +then `zuo_process` will execute the file specified by `_PATH_BSHELL` > +instead of "/bin/sh". > + > +Checking that the path specified by `_PATH_BSHELL` exists safeguards > +against obscure errors if attempting to use stand-alone executables > +built by the patched Racket in non-Guix envoronments. > +--- > + racket/src/zuo/zuo.c | 20 ++++++++++++++++++-- > + 1 file changed, 18 insertions(+), 2 deletions(-) > + > +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c > +index 17f161826d..c4fb3929bb 100644 > +--- a/racket/src/zuo/zuo.c > ++++ b/racket/src/zuo/zuo.c > +@@ -15,6 +15,7 @@ > + #include > + #include > + #ifdef ZUO_UNIX > ++# include /* PATCHED for Guix */ > + # include > + # include > + # include > +@@ -5730,7 +5731,10 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_ra= w_handle_t *_w) > + zuo_t *zuo_process(zuo_t *command_and_args) > + { > + const char *who =3D "process"; > +- zuo_t *command =3D _zuo_car(command_and_args); > ++ /* BEGIN PATCH for Guix */ > ++ zuo_t *_guix_orig_command =3D _zuo_car(command_and_args); > ++ zuo_t *command; > ++ /* END PATCH for Guix */ > + zuo_t *args =3D _zuo_cdr(command_and_args), *rev_args =3D z.o_null; > + zuo_t *options =3D z.o_empty_hash, *opt; > + zuo_t *dir, *l, *p_handle, *result; > +@@ -5741,7 +5745,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) > + void *env; > + int as_child, exact_cmdline; > +=20 > +- check_path_string(who, command); > ++ /* BEGIN PATCH for Guix */ > ++ check_path_string(who, _guix_orig_command); > ++#if defined(_PATH_BSHELL) > ++ command =3D > ++ ((z.o_false =3D=3D zuo_string_eql(_guix_orig_command, zuo_string("/= bin/sh"))) > ++ || (z.o_false =3D=3D zuo_stat(zuo_string(_PATH_BSHELL), z.o_false,= z.o_true))) > ++ ? _guix_orig_command > ++ : zuo_string(_PATH_BSHELL); > ++#else > ++ command =3D _guix_orig_command; > ++#endif > ++ /* END PATCH for Guix */ > ++ > + for (l =3D args; l->tag =3D=3D zuo_pair_tag; l =3D _zuo_cdr(l)) { > + zuo_t *a =3D _zuo_car(l); > + if (a =3D=3D z.o_null) { > + > +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 > +--=20 > +2.32.0 > + > diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm > index 0f766e7850..6433897981 100644 > --- a/gnu/packages/racket.scm > +++ b/gnu/packages/racket.scm > @@ -200,6 +200,7 @@ (define* (racket-vm-for-system #:optional > racket-vm-bc)) > =20 > (define %racket-version "8.5") ; Remember to update chez-scheme-for-rack= et! > +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c > (define %racket-commit > (string-append "v" %racket-version)) > (define %racket-origin > @@ -232,6 +233,56 @@ (define %racket-origin > ;; Unbundle libffi. > (delete-file-recursively "racket/src/bc/foreign/libffi"))))) > =20 > + > +(define-public zuo > + (let ((revision #f)) > + (package > + (name "zuo") > + (version (string-append %zuo-version > + "-racket" > + "8.6" Should the 8.6 instead be %racket-version? I understand above it is currently 8.5 but why is it hardcoded? I'm a little late to the party. > + (if revision "-guix" "") > + (or revision ""))) I'd rather this be (if revision (string-append "-guix" revision) "") > + (source > + (origin > + (inherit %racket-origin) > + (uri (git-reference > + (url "https://github.com/racket/racket") > + (commit "v8.6"))) > + (sha256 > + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk"= )) > + (patches (append (origin-patches %racket-origin) > + (search-patches "racket-backport-8.6-zuo.patch" > + "racket-zuo-bin-sh.patch"))) > + (file-name (git-file-name "racket" "8.6")))) I see a third instance of "8.6", lets factor this out either use %racket-version (I see we've decided on updating separately from racket, so that's out) or zuo-racket-version would also work, as a variable up with revision. > + (outputs '("out" "debug")) > + (build-system gnu-build-system) > + (arguments > + (list > + #:out-of-source? #t > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'chdir > + (lambda args > + (chdir "racket/src/zuo")))))) > + (home-page "https://github.com/racket/zuo") > + ;; ^ This is downstream of https://github.com/racket/racket, > + ;; but it's designed to be a friendly landing place > + (synopsis "Tiny Racket for build scripts") > + (description "You should use Racket to write scripts. But what if= you > +need something much smaller than Racket for some reason=E2=80=94or what = if you're > +trying to script a build of Racket itself? Zuo (=E4=BD=9C) is a tiny Ra= cket with > +primitives for dealing with files and running processes, and it comes wi= th a > +@command{make}-like embedded DSL. > + > +Zuo is a Racket variant in the sense that program files start with > +@code{#lang}, and the module path after @code{#lang} determines the pars= ing > +and expansion of the file content. That's how the @command{make}-like D= SL is > +defined, and even the base Zuo language is defined by layers of @code{#l= ang}s. > +One of the early layers implements macros.") > + (license (list license:asl2.0 license:expat))))) I'm not sold on the second paragraph, but I understand it's from upstream so that's not too bad. For the first paragraph I'd drop the first two sentences and consider @acronym{symbol, Zuo} for the next sentence. > + > + > (define racket-vm-common-configure-flags > #~`(,@(cond > ((false-if-exception > --=20 > 2.32.0 >=20 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --fZmL0MsKYgSBV6nf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmMHT1MACgkQQarn3Mo9 g1GM+BAAlUy7u7/yc5/BA3wR8dbKn3hMCsbnlud/N4qpqHpTaimhQZkk4gk1U3b1 5hN5PT69SEsYtQjeZkAgHI/x2hR3wMOUT8CfqjNDlQiqfVNIBI0HCHBB6eqjgn99 baiIEThgQ0Jz+29l4xGAw7LeoQBdRx9pI3Jz3fT8EZfErfG2VbRaYXpxrb1nEwY7 kSxkuffrSuEt3blP1w0xcAwMpTE0ptIqN/PwaJLPHrh7ul+/VFfXJk/AXqCINDNL P40bg06UarmRdWamwyJNTIU9WJUq06mlkN9pBpjstApvYEtpOnbpka2qECLczxkk YZDyQzzAvas378BU8bUuOIdSwlo4qOGOUo4j7jYyn5DL6PqEyRIFL+OTMYGdFcQl ZtTD8OoE47v/Gxgrh1w9z3IQa7yz9I3AWGCZi10YIE/WaUJs6JEgdyvzOmvCNvpQ 8esO0kiQpjH1gx/PVIxqQpH3IHHCsw6ZwiuqY0BMtm3WpH21vYqraY5rW1/JorzN 2wcbf/1MwGcIc9n6awyzOVROz0/b8lgIWMG+zHBzKoQgXtIuAwCto6BhRS77xiOg BPokLVWFgPGGbRa3U+4ksRr01BuW1x/IBmtYa1XK3nadBH3430Svu1CEbsB/bTD8 c/oYoKLxr5um1JMpyoRbguCZGIVaOtYBbqXTVqM4SZg+O0jg9qc= =sTOb -----END PGP SIGNATURE----- --fZmL0MsKYgSBV6nf-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 08/14] gnu: racket: Update to 8.6. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 10:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Liliana Marie Prikler , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166142403229484 (code B ref 57050); Thu, 25 Aug 2022 10:41:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 10:40:32 +0000 Received: from localhost ([127.0.0.1]:49112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRAHk-0007fM-S8 for submit@debbugs.gnu.org; Thu, 25 Aug 2022 06:40:32 -0400 Received: from flashner.co.il ([178.62.234.194]:50648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRAHg-0007f5-Ez for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 06:40:27 -0400 Received: from localhost (unknown [31.210.177.64]) by flashner.co.il (Postfix) with ESMTPSA id 0B7FA40204; Thu, 25 Aug 2022 10:40:17 +0000 (UTC) Date: Thu, 25 Aug 2022 13:39:45 +0300 From: Efraim Flashner Message-ID: Mail-Followup-To: Efraim Flashner , Philip McGrath , 57050@debbugs.gnu.org, Thiago Jung Bauermann , Liliana Marie Prikler , Liliana Marie Prikler , Maxime Devos , "(" References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lCl/lM2rz9HVOOZr" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --lCl/lM2rz9HVOOZr Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 25, 2022 at 04:54:10AM -0400, Philip McGrath wrote: > Also, update 'chez-scheme-for-racket' to 9.5.9.2. >=20 > * gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch. > * gnu/packages/patches/racket-backport-8.6-cross-install.patch, > gnu/packages/patches/racket-backport-8.6-docindex-write.patch, > gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches. > * gnu/local.mk (dist_patch_DATA): Add them. > * gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the > patches for Zuo. > (%racket-version): Update to 8.6. I see this addresses my comments from the other patch about having 8.6 everywhere, so disregard those comments. > (zuo)[version]: Refer to '%racket-version'. > [origin]: Use '%racket-origin'. > (racket-vm-cgc)[native-inputs]: Add 'zuo'. > [arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'. > (racket)[inputs] gui, htdp, math, option-contract, parser-tools, pict, rackunit, realm, > redex, scribble, typed-racket, string-constants, swindle, syntax-color, > web-server>: Update checksums. > * gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX. > (%chez-features-table): Likewise. > (chez-scheme-for-racket): Update to 9.5.9.2. > [native-inputs]: Add 'zuo'. > [arguments]<#:out-of-source?>: Use out-of-source build. > <#:tests?>: Skip them due to ongoing problems. > <#:configure-flags>: Add '--install-csug=3D' and '--installreleasenotes= =3D'. > <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=3D' here, > rather than in a phase. > <#:phases>: Replace 'install-docs' using new 'make' target. > --- > gnu/packages/chez.scm | 52 +- > .../racket-backport-8.6-cross-install.patch | 126 ++++ > .../racket-backport-8.6-docindex-write.patch | 36 ++ > .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ > .../patches/racket-chez-scheme-bin-sh.patch | 26 +- > gnu/packages/racket.scm | 121 ++-- > 6 files changed, 893 insertions(+), 77 deletions(-) > create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-instal= l.patch > create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-wri= te.patch > create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch >=20 > diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm > index c627c4d842..b59398578a 100644 > --- a/gnu/packages/chez.scm > +++ b/gnu/packages/chez.scm > @@ -115,7 +115,7 @@ (define* (target-chez-os #:optional (system (or (%cur= rent-target-system) > ((target-linux? system) > "le") > ((target-hurd? system) > - #f) > + "gnu") > ((target-mingw? system) > "nt") > ;; missing (guix utils) predicates > @@ -131,6 +131,8 @@ (define* (target-chez-os #:optional (system (or (%cur= rent-target-system) > ;; Nix says "x86_64-solaris", but accommodate "-solaris2" > ((string-contains system "solaris") > "s2") > + ((string-suffix? "-qnx" system) > + "qnx") > ;; unknown > (else > #f))) > @@ -167,6 +169,9 @@ (define %chez-features-table > ("arm32" bootstrap-bootfiles) > ("arm64" . #f) > ("ppc32" threads)) > + ;; Hurd > + ("gnu" > + ("i3" . #f)) > ;; FreeBSD > ("fb" > ("i3" threads) ;; commented out > @@ -192,6 +197,9 @@ (define %chez-features-table > ("s2" > ("i3" threads) ;; commented out > ("a6" threads)) ;; commented out > + ;; QNX > + ("qnx" > + ("i3" . #f)) > ;; Windows > ("nt" > ("i3" threads bootstrap-bootfiles) > @@ -433,7 +441,7 @@ (define-public chez-scheme-for-racket > (package > (inherit chez-scheme) > (name "chez-scheme-for-racket") > - (version "9.5.7.6") > + (version "9.5.9.2") > ;; 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! > @@ -444,18 +452,52 @@ (define-public chez-scheme-for-racket > (delete "libx11" "util-linux:lib"))) > (native-inputs > (modify-inputs (package-native-inputs chez-scheme) > + (prepend zuo) > (replace "chez-scheme-bootstrap-bootfiles" > chez-scheme-for-racket-bootstrap-bootfiles))) > (arguments > (substitute-keyword-arguments (package-arguments chez-scheme) > + ((#:out-of-source? _ #f) > + #t) > + ((#:tests? _ #t) > + ;; FIXME: There have been some flaky test failures. Some have be= en > + ;; fixed upstream post-release but have proven non-trivial to > + ;; backport; at least one issue remains. Re-enable tests once > + ;; https://github.com/racket/racket/issues/4359 is fixed. > + #f) > ((#:configure-flags cfg-flags #~'()) > - #~(cons* "--disable-x11" > - "--threads" ;; ok to potentially duplicate > - #$cfg-flags)) > + #~`("--disable-x11" > + "--threads" ;; ok to potentially duplicate > + ,@(let* ((chez+version (strip-store-file-name #$output)) I would've used (string-append #$name "-" #$version) but that works too. > + (doc-prefix (assoc-ref %outputs "doc")) This can be #$output:doc, but what you have is also ok. > + (doc-dir (string-append doc-prefix > + "/share/doc/" > + chez+version))) > + (list (string-append "--installcsug=3D" > + doc-dir > + "/csug") > + (string-append "--installreleasenotes=3D" > + doc-dir > + "/release_notes"))) > + ,@#$cfg-flags)) > + ((#:make-flags mk-flags #~'()) > + #~(cons* (string-append "ZUO=3D" > + #+(this-package-native-input "zuo") > + "/bin/zuo") > + (string-append "STEXLIB=3D" > + #+(this-package-native-input "stex") > + "/lib/stex") > + #$mk-flags)) > ((#:phases those-phases #~%standard-phases) > #~(let* ((those-phases #$those-phases) > (unpack (assoc-ref those-phases 'unpack))) > (modify-phases those-phases > + (replace 'install-docs > + (lambda* (#:key make-flags #:allow-other-keys) > + (apply invoke > + "make" > + "install-docs" > + make-flags))) > (replace 'unpack > (lambda args > (unpack #:source #$(or (package-source this-package) > diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch= b/gnu/packages/patches/racket-backport-8.6-cross-install.patch > new file mode 100644 > index 0000000000..2c4d8924ed > --- /dev/null > +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch > @@ -0,0 +1,126 @@ > +From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Sat, 30 Jul 2022 07:06:55 -0600 > +Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross > + compilation > + > +Closes #4377 > + > +(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5) > +--- > + racket/src/cs/c/build.zuo | 5 ++--- > + 1 file changed, 2 insertions(+), 3 deletions(-) > + > +diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo > +index 8d3950bb27..d8b74c509d 100644 > +--- a/racket/src/cs/c/build.zuo > ++++ b/racket/src/cs/c/build.zuo > +@@ -1016,10 +1016,9 @@ > + (define (setup) > + (call-with-dest-racket > + (lambda (bindir dest-racket) > +- (define copytree-racket (and cross? (config-bootstrap-racket))) > ++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-= racket) 'racket))) > + (maybe-copytree config dest-racket copytree-racket at-dir) > +- (run-raco-setup config dest-racket > +- (and cross? (hash-ref (config-bootstrap-racket) = 'racket)) > ++ (run-raco-setup config dest-racket copytree-racket > + ;; this can be redundant if it's also supplied v= ia `SETUP_MACHINE_FLAGS`, > + ;; but redundant should be ok: > + (list "-MCR" (~a (at-dir "compiled") ":") > +--=20 > +2.32.0 > + > + > +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 > +From: Matthew Flatt > +Date: Mon, 15 Aug 2022 10:37:01 +0800 > +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb b= uild > + > +Don't assume a cross build for a pb target on a platform that's only > +supported via pb. > + > +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) > + > +(Edited to remove unrelated tweak to comments in > +"racket/src/expander/expand/require+provide.rkt".) > +--- > + racket/src/cs/c/configure | 15 +++++++++++---- > + racket/src/cs/c/configure.ac | 15 +++++++++++---- > + 2 files changed, 22 insertions(+), 8 deletions(-) > + > +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure > +index 454d79e11a..7e0fa5600d 100755 > +--- a/racket/src/cs/c/configure > ++++ b/racket/src/cs/c/configure > +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in > + ;; > + esac > +=20 > ++if test "${MACH}" =3D "" ; then > ++ default_mach_was_empty=3Dyes > ++else > ++ default_mach_was_empty=3Dno > ++fi > +=20 > + if test "${enable_mach}" !=3D "" ; then > + MACH=3D"${enable_mach}" > +@@ -4701,13 +4706,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; = then > + exit 1 > + fi > +=20 > +-# For a pb build where Racket is supplied, force cross-build > +-# mode on the assumption that the host is not a pb build > +-# (because it should be created with default configure options) > ++# For a pb build where Racket is supplied and MACH was not originally > ++# empty, force cross-build mode on the assumption that the host is not > ++# a pb build (because it should be created with default configure optio= ns) > + if test "${enable_pb}" =3D "yes" ; then > + if test "${enable_racket}" !=3D "" ; then > + if test "${enable_target}" =3D "" ; then > +- enable_target=3D"${MACH}" > ++ if test "${default_mach_was_empty}" =3D "no" ; then > ++ enable_target=3D"${MACH}" > ++ fi > + fi > + fi > + fi > +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac > +index 5bce979c92..734c1e8feb 100644 > +--- a/racket/src/cs/c/configure.ac > ++++ b/racket/src/cs/c/configure.ac > +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in > + ;; > + esac > +=20 > ++if test "${MACH}" =3D "" ; then > ++ default_mach_was_empty=3Dyes > ++else > ++ default_mach_was_empty=3Dno > ++fi > +=20 > + if test "${enable_mach}" !=3D "" ; then > + MACH=3D"${enable_mach}" > +@@ -437,13 +442,15 @@ elif test "$MACH" =3D "" -o "$MACH_OS" =3D "" ; th= en > + exit 1 > + fi > +=20 > +-# For a pb build where Racket is supplied, force cross-build > +-# mode on the assumption that the host is not a pb build > +-# (because it should be created with default configure options) > ++# For a pb build where Racket is supplied and MACH was not originally > ++# empty, force cross-build mode on the assumption that the host is not > ++# a pb build (because it should be created with default configure optio= ns) > + if test "${enable_pb}" =3D "yes" ; then > + if test "${enable_racket}" !=3D "" ; then > + if test "${enable_target}" =3D "" ; then > +- enable_target=3D"${MACH}" > ++ if test "${default_mach_was_empty}" =3D "no" ; then > ++ enable_target=3D"${MACH}" > ++ fi > + fi > + fi > + fi > +--=20 > +2.32.0 > + > diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patc= h b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch > new file mode 100644 > index 0000000000..abe1984507 > --- /dev/null > +++ b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch > @@ -0,0 +1,36 @@ > +From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001 > +From: Philip McGrath > +Date: Sun, 17 Jul 2022 22:51:44 -0400 > +Subject: [PATCH] racket-index: set write permission when copying > + `docindex.sqlite` > + > +Fixes https://github.com/racket/racket/issues/4357 > + > +(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2) > +--- > + pkgs/racket-index/setup/scribble.rkt | 9 ++++++++- > + 1 file changed, 8 insertions(+), 1 deletion(-) > + > +diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/se= tup/scribble.rkt > +index 6694f0b793..e27a8fa348 100644 > +--- a/pkgs/racket-index/setup/scribble.rkt > ++++ b/pkgs/racket-index/setup/scribble.rkt > +@@ -252,7 +252,14 @@ > + (unless (file-exists? db-file) > + (define-values (base name dir?) (split-path db-file)) > + (make-directory* base) > +- (when copy-from (copy-file copy-from db-file)) > ++ (when copy-from > ++ (copy-file copy-from db-file) > ++ ;; we might not have write permissions for the previous layer: > ++ ;; ensure that we do for the new file > ++ (define orig-mode (file-or-directory-permissions db-file 'bits)) > ++ (define writeable-mode (bitwise-ior user-write-bit orig-mode)) > ++ (unless (=3D writeable-mode orig-mode) > ++ (file-or-directory-permissions db-file writeable-mode))) > + (doc-db-disconnect > + (doc-db-file->connection db-file #t)))) > + (when (or (ormap can-build*? main-docs) > +--=20 > +2.32.0 > + > diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/pa= ckages/patches/racket-backport-8.6-hurd.patch > new file mode 100644 > index 0000000000..d593b01e62 > --- /dev/null > +++ b/gnu/packages/patches/racket-backport-8.6-hurd.patch > @@ -0,0 +1,609 @@ > +From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001 > +From: Philip McGrath > +Date: Wed, 3 Aug 2022 03:13:03 -0400 > +Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd > + > +Mostly GNU/Hurd should take the same options as GNU/Linux. One > +difference is that the Hurd does not define macros such as `PATH_MAX` or > +`NOFILE`, because it avoids imposing arbitrary limits on such resources. > +This patch provides alternatives for localized uses of those constants, > +but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for > +now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html. > + > +(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085) > +--- > + racket/src/ChezScheme/README.md | 1 + > + racket/src/ChezScheme/c/number.c | 22 +++++++++---------- > + racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++-- > + racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------ > + racket/src/ChezScheme/c/version.h | 7 ++++-- > + racket/src/ChezScheme/configure | 17 ++++++++++----- > + racket/src/ChezScheme/s/cmacros.ss | 1 + > + racket/src/cs/c/configure | 14 ++++++++++-- > + racket/src/cs/c/configure.ac | 14 ++++++++++-- > + racket/src/cs/rumble/system.ss | 3 +++ > + 10 files changed, 109 insertions(+), 39 deletions(-) > + > +diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/REA= DME.md > +index a4a11a5eef..25231dd9bb 100644 > +--- a/racket/src/ChezScheme/README.md > ++++ b/racket/src/ChezScheme/README.md > +@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for= others): > + * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 > + * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 > + * Solaris: x86, x86_64 > ++ * GNU/Hurd: x86 > + * Android: ARMv7, AArch64 > + * iOS: AArch64 > + * WebAssembly via Emscripten (bytecode interpreter only) > +diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/= number.c > +index ede38cc626..e2bce0d2d3 100644 > +--- a/racket/src/ChezScheme/c/number.c > ++++ b/racket/src/ChezScheme/c/number.c > +@@ -1041,15 +1041,15 @@ floating-point operations > +=20 > + #ifdef IEEE_DOUBLE > + /* exponent stored + 1024, hidden bit to left of decimal point */ > +-#define bias 1023 > +-#define bitstoright 52 > +-#define m1mask 0xf > +-#ifdef WIN32 > +-#define hidden_bit 0x10000000000000 > +-#else > +-#define hidden_bit 0x10000000000000ULL > +-#endif > +-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE > ++# define bias 1023 > ++# define bitstoright 52 > ++# define m1mask 0xf > ++# ifdef WIN32 > ++# define hidden_bit 0x10000000000000 > ++# else > ++# define hidden_bit 0x10000000000000ULL > ++# endif > ++# ifdef LITTLE_ENDIAN_IEEE_DOUBLE > + struct dblflt { > + UINT m4: 16; > + UINT m3: 16; > +@@ -1058,7 +1058,7 @@ struct dblflt { > + UINT e: 11; > + UINT sign: 1; > + }; > +-#else > ++# else > + struct dblflt { > + UINT sign: 1; > + UINT e: 11; > +@@ -1067,7 +1067,7 @@ struct dblflt { > + UINT m3: 16; > + UINT m4: 16; > + }; > +-#endif > ++# endif > + #endif > +=20 > + double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) { > +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/p= rim5.c > +index 124d1e049c..82bbf8d687 100644 > +--- a/racket/src/ChezScheme/c/prim5.c > ++++ b/racket/src/ChezScheme/c/prim5.c > +@@ -23,6 +23,10 @@ > + #include > + #include > +=20 > ++#if defined(__GNU__) /* Hurd */ > ++#include > ++#endif > ++ > + /* locally defined functions */ > + static INT s_errno(void); > + static IBOOL s_addr_in_heap(uptr x); > +@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *o= utfn); > + static ptr s_system(const char *s); > + static ptr s_process(char *s, IBOOL stderrp); > + static I32 s_chdir(const char *inpath); > +-#ifdef GETWD > ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ > + static char *s_getwd(void); > + #endif > + static ptr s_set_code_byte(ptr p, ptr n, ptr x); > +@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) { > + CLOSE(0); if (dup(tofds[0]) !=3D 0) _exit(1); > + CLOSE(1); if (dup(fromfds[1]) !=3D 1) _exit(1); > + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) !=3D 2) _exit(1); > ++#ifndef __GNU__ /* Hurd */ > + {INT i; for (i =3D 3; i < NOFILE; i++) (void)CLOSE(i);} > ++#else /* __GNU__ Hurd: no NOFILE */ > ++ { > ++ INT i; > ++ struct rlimit rlim; > ++ getrlimit(RLIMIT_NOFILE, &rlim); > ++ for (i =3D 3; i < rlim.rlim_cur; i++) { > ++ (void)CLOSE(i); > ++ } > ++ } > ++#endif /* __GNU__ Hurd */ > + execl("/bin/sh", "/bin/sh", "-c", s, NULL); > + _exit(1) /* only if execl fails */; > + /*NOTREACHED*/ > +@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) { > + static char *s_getwd() { > + return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0))); > + } > ++#elif defined(__GNU__) /* Hurd: no PATH_MAX */ > ++static char *s_getwd() { > ++ char *path; > ++ size_t len; > ++ ptr bv; > ++ path =3D getcwd(NULL, 0); > ++ if (NULL =3D=3D path) { > ++ return NULL; > ++ } else { > ++ len =3D strlen(path); > ++ bv =3D S_bytevector(len); > ++ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len); > ++ free(path); > ++ return TO_VOIDP(&BVIT(bv, 0)); > ++ } > ++} > + #endif /* GETWD */ > +=20 > + static ptr s_set_code_byte(ptr p, ptr n, ptr x) { > +@@ -1817,7 +1848,7 @@ void S_prim5_init(void) { > + Sforeign_symbol("(cs)s_rational", (void *)S_rational); > + Sforeign_symbol("(cs)sub", (void *)S_sub); > + Sforeign_symbol("(cs)rem", (void *)S_rem); > +-#ifdef GETWD > ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ > + Sforeign_symbol("(cs)s_getwd", (void *)s_getwd); > + #endif > + Sforeign_symbol("(cs)s_chdir", (void *)s_chdir); > +diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/= scheme.c > +index ed5564540b..0c40e3eaf0 100644 > +--- a/racket/src/ChezScheme/c/scheme.c > ++++ b/racket/src/ChezScheme/c/scheme.c > +@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name= , const char *ext, const char > + static const char *path_last(const char *path); > + static char *get_defaultheapdirs(void); > +=20 > ++#ifdef PATH_MAX > ++# define BOOT_PATH_MAX PATH_MAX > ++#else /* hack for Hurd: better to remove the restriction */ > ++# define BOOT_PATH_MAX 4096 > ++#endif > ++ > + static const char *path_last(const char *p) { > + const char *s; > + #ifdef WIN32 > +@@ -483,7 +489,7 @@ static const char *path_last(const char *p) { > +=20 > + static char *get_defaultheapdirs() { > + char *result; > +- wchar_t buf[PATH_MAX]; > ++ wchar_t buf[BOOT_PATH_MAX]; > + DWORD len =3D sizeof(buf); > + if (ERROR_SUCCESS !=3D RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\C= hez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len= )) > + return DEFAULT_HEAP_PATH; > +@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() { > + * leaving the full path with name affixed in path and *sp / *dsp point= ing > + * past the current entry. it returns 1 on success and 0 if at the end= of > + * the search path. path should be a pointer to an unoccupied buffer > +- * PATH_MAX characters long. either or both of sp/dsp may be empty, > ++ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empt= y, > + * but neither may be null, i.e., (char *)0. */ > + static IBOOL next_path(char *path, const char *name, const char *ext, > + const char **sp, const char **dsp) { > + char *p; > + const char *s, *t; > +=20 > +-#define setp(c) if (p >=3D path + PATH_MAX) { fprintf(stderr, "search p= ath entry too long\n"); S_abnormal_exit(); } else *p++ =3D (c) > ++#define setp(c) if (p >=3D path + BOOT_PATH_MAX) { fprintf(stderr, "sea= rch path entry too long\n"); S_abnormal_exit(); } else *p++ =3D (c) > + for (;;) { > + s =3D *sp; > + p =3D path; > +@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *nam= e, const char *ext, > + switch (*s) { > + #ifdef WIN32 > + case 'x': { > +- wchar_t exepath[PATH_MAX]; DWORD n; > ++ wchar_t exepath[BOOT_PATH_MAX]; DWORD n; > + s +=3D 1; > +- n =3D GetModuleFileNameW(NULL, exepath, PATH_MAX); > +- if (n =3D=3D 0 || (n =3D=3D PATH_MAX && GetLastError() = =3D=3D ERROR_INSUFFICIENT_BUFFER)) { > ++ n =3D GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX); > ++ if (n =3D=3D 0 || (n =3D=3D BOOT_PATH_MAX && GetLastError= () =3D=3D ERROR_INSUFFICIENT_BUFFER)) { > + fprintf(stderr, "warning: executable path is too long; = ignoring %%x\n"); > + } else { > + char *tstart; > +@@ -608,7 +614,7 @@ typedef struct { > + iptr len; /* 0 =3D> unknown */ > + iptr offset; > + IBOOL need_check, close_after; > +- char path[PATH_MAX]; > ++ char path[BOOT_PATH_MAX]; > + } boot_desc; > +=20 > + #define MAX_BOOT_FILES 10 > +@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, con= st char *path, int c) { > + static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_= pathp, > + int fd, > + IBOOL errorp) { > +- char pathbuf[PATH_MAX], buf[PATH_MAX]; > ++ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX]; > + uptr n =3D 0; > + INT c; > + const char *path; > + char *expandedpath; > +=20 > + if ((fd !=3D -1) || direct_pathp || S_fixedpathp(name)) { > +- if (strlen(name) >=3D PATH_MAX) { > ++ if (strlen(name) >=3D BOOT_PATH_MAX) { > + fprintf(stderr, "boot-file path is too long %s\n", name); > + S_abnormal_exit(); > + } > +@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char = *ext, IBOOL direct_pathp, > + if (boot_count =3D=3D 0) { > + for (;;) { > + /* try to load heap or boot file this boot file requires */ > +- if (get_string(fd, buf, PATH_MAX, &c) !=3D 0) { > ++ if (get_string(fd, buf, BOOT_PATH_MAX, &c) !=3D 0) { > + fprintf(stderr, "unexpected end of file on %s\n", path); > + CLOSE(fd); > + S_abnormal_exit(); > +@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char = *ext, IBOOL direct_pathp, > + c =3D get_u8(fd); > + for (sep =3D " "; ; sep =3D "or ") { > + if (c =3D=3D ')') break; > +- (void) get_string(fd, buf, PATH_MAX, &c); > ++ (void) get_string(fd, buf, BOOT_PATH_MAX, &c); > + fprintf(stderr, "%s%s.boot ", sep, buf); > + } > + fprintf(stderr, "required by %s\n", path); > +@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const ch= ar *name, > + int close_after) { > + check_boot_file_state("Sregister_boot_file_fd"); > +=20 > +- if (strlen(name) >=3D PATH_MAX) { > ++ if (strlen(name) >=3D BOOT_PATH_MAX) { > + fprintf(stderr, "boot-file path is too long %s\n", name); > + S_abnormal_exit(); > + } > +@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void= (*custom_init)(void)) { > + } > +=20 > + name =3D path_last(kernel); > +- if (strlen(name) >=3D PATH_MAX) { > ++ if (strlen(name) >=3D BOOT_PATH_MAX) { > + fprintf(stderr, "executable name too long: %s\n", name); > + S_abnormal_exit(); > + } > +=20 > + #ifdef WIN32 > + { /* strip off trailing .exe, if any */ > +- static char buf[PATH_MAX]; > ++ static char buf[BOOT_PATH_MAX]; > + iptr n; > +=20 > + n =3D strlen(name) - 4; > +diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c= /version.h > +index a79d12621b..61751a9fad 100644 > +--- a/racket/src/ChezScheme/c/version.h > ++++ b/racket/src/ChezScheme/c/version.h > +@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr= val) { > + /*****************************************/ > + /* Operating systems */ > +=20 > +-#if defined(__linux__) > ++#if defined(__linux__) || defined(__GNU__) /* Hurd */ > + #define NOBLOCK O_NONBLOCK > + #define LOAD_SHARED_OBJECT > + #define USE_MMAP > +@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, upt= r val) { > + #define GETPAGESIZE() getpagesize() > + typedef char *memcpy_t; > + #define MAKE_NAN(x) { x =3D 0.0; x =3D x / x; } > +-#define GETWD(x) getcwd((x),PATH_MAX) > ++#ifndef __GNU__ /* Hurd: no PATH_MAX */ > ++/* n.b. don't test PATH_MAX directly: we have not yet included */ > ++# define GETWD(x) getcwd((x),PATH_MAX) > ++#endif > + typedef int tputsputcchar; > + #ifndef __ANDROID__ > + # define LOCKF > +diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/con= figure > +index f64b639c3a..efdb6029cb 100755 > +--- a/racket/src/ChezScheme/configure > ++++ b/racket/src/ChezScheme/configure > +@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in > + installprefix=3D/usr > + installmansuffix=3Dshare/man > + ;; > ++ GNU) > ++ unixsuffix=3Dgnu # the Hurd > ++ installprefix=3D/usr > ++ installmansuffix=3Dshare/man > ++ ;; > + QNX) > + if uname -a | egrep 'x86' > /dev/null 2>&1 ; then > + m32=3Di3qnx > +@@ -591,7 +596,7 @@ fi > +=20 > + # Infer flags needed for threads: > + case "${flagsm}" in > +- *le|*fb|*ob|*nb) > ++ *le|*gnu|*fb|*ob|*nb) > + threadFlags=3D"-D_REENTRANT -pthread" > + threadLibs=3D"-lpthread" > + ;; > +@@ -627,7 +632,7 @@ if [ "$cflagsset" =3D "no" ] ; then > + a6*) > + CFLAGS=3D"-m64 ${optFlags}" > + ;; > +- i3le) > ++ i3le) # intentionally not including i3gnu, which may not support ss= e2 > + CFLAGS=3D"-m32 -msse2 -mfpmath=3Dsse ${optFlags}" > + ;; > + i3nt) > +@@ -688,7 +693,7 @@ fi > + # Add automatic linking flags, unless suppressed by --disable-auto-flags > + if [ "$addflags" =3D "yes" ] ; then > + case "${flagsm}" in > +- *le) > ++ *le|*gnu) > + LDFLAGS=3D"${LDFLAGS} -rdynamic" > + ;; > + *fb|*nb) > +@@ -702,7 +707,7 @@ if [ "$addflags" =3D "yes" ] ; then > + esac > +=20 > + case "${flagsm}" in > +- *le) > ++ *le|*gnu) > + LIBS=3D"${LIBS} -lm -ldl ${ncursesLib} -lrt" > + ;; > + *fb|*ob) > +@@ -749,7 +754,7 @@ exeSuffix=3D > +=20 > + # compile flags for c/Mf-unix and mats/Mf-unix > + case "${flagsmuni}" in > +- *le) > ++ *le|*gnu) > + mdcflags=3D"-fPIC -shared" > + ;; > + *fb|*ob) > +@@ -781,7 +786,7 @@ case "${flagsmuni}" in > + i3le) > + mdldflags=3D"-melf_i386" > + ;; > +- *le) > ++ *le|*gnu) > + ;; > + i3nb) > + mdldflags=3D"-m elf_i386" > +diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/= s/cmacros.ss > +index ff2b09217b..2e79a4d8de 100644 > +--- a/racket/src/ChezScheme/s/cmacros.ss > ++++ b/racket/src/ChezScheme/s/cmacros.ss > +@@ -385,6 +385,7 @@ > + i3fb ti3fb > + i3ob ti3ob > + i3osx ti3osx > ++ i3gnu ti3gnu > + a6le ta6le > + a6osx ta6osx > + a6ob ta6ob > +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure > +index 454d79e11a..dab545c0b4 100755 > +--- a/racket/src/cs/c/configure > ++++ b/racket/src/cs/c/configure > +@@ -4449,8 +4449,15 @@ case "$host_os" in > + ;; > + irix*) > + ;; > +- linux*) > +- MACH_OS=3Dle > ++ linux*|gnu*) > ++ case "$host_os" in > ++ *linux*) > ++ MACH_OS=3Dle > ++ ;; > ++ *) > ++ MACH_OS=3Dgnu # Hurd > ++ ;; > ++ esac > + case "$host_os" in > + *linux-android*) > + ;; > +@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" !=3D "${host_os= }_${host_cpu}" ; then > + linux*) > + BUILD_OS=3Dle > + ;; > ++ gnu*) # Hurd: must come after linux* > ++ BUILD_OS=3Dgnu > ++ ;; > + *mingw*) > + BUILD_OS=3Dnt > + ;; > +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac > +index 5bce979c92..43e7307b1b 100644 > +--- a/racket/src/cs/c/configure.ac > ++++ b/racket/src/cs/c/configure.ac > +@@ -272,8 +272,15 @@ case "$host_os" in > + ;; > + irix*) > + ;; > +- linux*) > +- MACH_OS=3Dle > ++ linux*|gnu*) > ++ case "$host_os" in > ++ linux*) > ++ MACH_OS=3Dle > ++ ;; > ++ *) > ++ MACH_OS=3Dgnu # Hurd > ++ ;; > ++ esac > + case "$host_os" in > + *linux-android*) > + ;; > +@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" !=3D "${host_os}_= ${host_cpu}" ; then > + linux*) > + BUILD_OS=3Dle > + ;; > ++ gnu*) # Hurd - must come after linux* > ++ BUILD_OS=3Dgnu > ++ ;; > + *mingw*) > + BUILD_OS=3Dnt > + ;; > +diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/syste= m.ss > +index 2319cbe7a5..773eb79cf3 100644 > +--- a/racket/src/cs/rumble/system.ss > ++++ b/racket/src/cs/rumble/system.ss > +@@ -48,6 +48,8 @@ > + arm32le tarm32le arm64le tarm64le > + ppc32le tppc32le) > + 'linux] > ++ [(i3gnu ti3gnu) > ++ 'gnu-hurd] > + [(a6fb ta6fb i3fb ti3fb > + arm32fb tarm32fb arm64fb tarm64fb > + ppc32fb tppc32fb) > +@@ -85,6 +87,7 @@ > + i3nb ti3nb > + i3fb ti3fb > + i3s2 ti3s2 > ++ i3gnu ti3gnu > + i3qnx) > + 'i386] > + [(arm32le tarm32le > +--=20 > +2.32.0 > + > + > +From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001 > +From: Philip McGrath > +Date: Thu, 4 Aug 2022 20:18:09 -0400 > +Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd > + > +(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43) > +--- > + racket/src/bc/configure | 2 +- > + racket/src/bc/configure.ac | 2 +- > + racket/src/bc/sconfig.h | 14 +++++++++----- > + 3 files changed, 11 insertions(+), 7 deletions(-) > + > +diff --git a/racket/src/bc/configure b/racket/src/bc/configure > +index 4ddb607b37..4ee346014d 100755 > +--- a/racket/src/bc/configure > ++++ b/racket/src/bc/configure > +@@ -5018,7 +5018,7 @@ case "$host_os" in > + X_PRE_LIBS=3D"" > + fi > + ;; > +- linux*) > ++ linux*,gnu*) > + LIBS=3D"$LIBS -ldl -lm -lrt -rdynamic" > + DYN_CFLAGS=3D"-fPIC" > + curses_portable_link=3D"/usr/lib/${host_cpu}-${host_os}/libncurses.= a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" > +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac > +index deef8f3077..866851236e 100644 > +--- a/racket/src/bc/configure.ac > ++++ b/racket/src/bc/configure.ac > +@@ -557,7 +557,7 @@ case "$host_os" in > + X_PRE_LIBS=3D"" > + fi > + ;; > +- linux*) > ++ linux*,gnu*) > + LIBS=3D"$LIBS -ldl -lm -lrt -rdynamic" > + DYN_CFLAGS=3D"-fPIC" > + curses_portable_link=3D"/usr/lib/${host_cpu}-${host_os}/libncurses.= a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" > +diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h > +index 01ecb48158..8468942fcd 100644 > +--- a/racket/src/bc/sconfig.h > ++++ b/racket/src/bc/sconfig.h > +@@ -79,12 +79,14 @@ > +=20 > + #endif > +=20 > +- /************** Linux with gcc ****************/ > ++ /************** Linux (or Hurd) with gcc ****************/ > +=20 > +-#if defined(__linux__) > ++#if defined(__linux__) || defined(__GNU__) > +=20 > + # ifdef __ANDROID__ > + # define SCHEME_OS "android" > ++# elif defined(__GNU__) > ++# define SCHEME_OS "gnu-hurd" > + # else > + # define SCHEME_OS "linux" > + # endif > +@@ -146,13 +148,15 @@ > + # define USE_IEEE_FP_PREDS > + # define USE_EXPLICT_FP_FORM_CHECK > +=20 > +-# define LINUX_FIND_STACK_BASE > ++# define LINUX_FIND_STACK_BASE /* also ok for Hurd */ > +=20 > + # define FLAGS_ALREADY_SET > +=20 > + #if defined(__i386__) > +-# define MZ_USE_JIT_I386 > +-# define MZ_JIT_USE_MPROTECT > ++# ifndef __GNU__ /* Hurd */ > ++# define MZ_USE_JIT_I386 > ++# define MZ_JIT_USE_MPROTECT > ++# endif > + # ifndef MZ_NO_UNWIND_SUPPORT > + # define MZ_USE_DWARF_LIBUNWIND > + # endif > +--=20 > +2.32.0 > + > + > +From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001 > +From: Philip McGrath > +Date: Sat, 6 Aug 2022 22:48:40 -0400 > +Subject: [PATCH 3/3] BC: repair configure script > + > +Hopefully this will fix the DrDr failures caused by 5c05496. > + > +Related to https://github.com/racket/racket/pull/4384 > + > +(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77) > +--- > + racket/src/bc/configure | 2 +- > + racket/src/bc/configure.ac | 2 +- > + 2 files changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/racket/src/bc/configure b/racket/src/bc/configure > +index 4ee346014d..b1c5175b84 100755 > +--- a/racket/src/bc/configure > ++++ b/racket/src/bc/configure > +@@ -5018,7 +5018,7 @@ case "$host_os" in > + X_PRE_LIBS=3D"" > + fi > + ;; > +- linux*,gnu*) > ++ linux*|gnu*) > + LIBS=3D"$LIBS -ldl -lm -lrt -rdynamic" > + DYN_CFLAGS=3D"-fPIC" > + curses_portable_link=3D"/usr/lib/${host_cpu}-${host_os}/libncurses.= a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" > +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac > +index 866851236e..ecc3b0b579 100644 > +--- a/racket/src/bc/configure.ac > ++++ b/racket/src/bc/configure.ac > +@@ -557,7 +557,7 @@ case "$host_os" in > + X_PRE_LIBS=3D"" > + fi > + ;; > +- linux*,gnu*) > ++ linux*|gnu*) > + LIBS=3D"$LIBS -ldl -lm -lrt -rdynamic" > + DYN_CFLAGS=3D"-fPIC" > + curses_portable_link=3D"/usr/lib/${host_cpu}-${host_os}/libncurses.= a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" > +--=20 > +2.32.0 > + > diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/p= ackages/patches/racket-chez-scheme-bin-sh.patch > index 65cf2f99f3..331b4f244b 100644 > --- a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch > +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch > @@ -1,4 +1,4 @@ > -From e982b6687494bf071386c67be74e57a29cf4ce00 Mon Sep 17 00:00:00 2001 > +From f86370295c5bb14d4bb93d0ccfa37a2b79f19f25 Mon Sep 17 00:00:00 2001 > From: Philip McGrath > Date: Wed, 24 Aug 2022 19:55:14 -0400 > Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix > @@ -24,12 +24,12 @@ on `system` from the C library. > 1 file changed, 20 insertions(+), 1 deletion(-) > =20 > diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/p= rim5.c > -index f5e3e345be..922421ca75 100644 > +index 82bbf8d687..be8f603447 100644 > --- a/racket/src/ChezScheme/c/prim5.c > +++ b/racket/src/ChezScheme/c/prim5.c > -@@ -22,6 +22,12 @@ > - #include > - #include > +@@ -27,6 +27,12 @@ > + #include > + #endif > =20 > +/* BEGIN PATCH for Guix */ > +#ifndef WIN32 > @@ -38,9 +38,9 @@ index f5e3e345be..922421ca75 100644 > +/* END PATCH for Guix */ > + > /* locally defined functions */ > - static INT s_errno PROTO((void)); > - static IBOOL s_addr_in_heap PROTO((uptr x)); > -@@ -856,6 +862,17 @@ static ptr s_process(s, stderrp) char *s; IBOOL std= errp; { > + static INT s_errno(void); > + static IBOOL s_addr_in_heap(uptr x); > +@@ -861,6 +867,17 @@ static ptr s_process(char *s, IBOOL stderrp) { > =20 > INT tofds[2], fromfds[2], errfds[2]; > struct sigaction act, oint_act; > @@ -58,10 +58,10 @@ index f5e3e345be..922421ca75 100644 > =20 > if (pipe(tofds)) S_error("process","cannot open pipes"); > if (pipe(fromfds)) { > -@@ -881,7 +898,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stde= rrp; { > - CLOSE(1); if (dup(fromfds[1]) !=3D 1) _exit(1); > - CLOSE(2); if (dup(stderrp ? errfds[1] : 1) !=3D 2) _exit(1); > - {INT i; for (i =3D 3; i < NOFILE; i++) (void)CLOSE(i);} > +@@ -897,7 +914,9 @@ static ptr s_process(char *s, IBOOL stderrp) { > + } > + } > + #endif /* __GNU__ Hurd */ > - execl("/bin/sh", "/bin/sh", "-c", s, NULL); > + /* BEGIN PATCH for Guix */ > + execl(guix_sh, guix_sh, "-c", s, NULL); > @@ -70,7 +70,7 @@ index f5e3e345be..922421ca75 100644 > /*NOTREACHED*/ > } else { > =20 > -base-commit: 9d228d16fb99c274c964e5bef93e97333888769f > +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 > --=20 > 2.32.0 > =20 > diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm > index 6433897981..efabdd16f3 100644 > --- a/gnu/packages/racket.scm > +++ b/gnu/packages/racket.scm > @@ -53,7 +53,7 @@ (define-module (gnu packages racket) > #:use-module (gnu packages xorg) > #:use-module ((guix licenses) #:prefix license:)) > =20 > -;; Commentary: > +;; COMMENTARY: > ;; > ;; Anatomy of Racket: > ;; ------------------ > @@ -72,14 +72,16 @@ (define-module (gnu packages racket) > ;; =E2=94=9C=E2=94=80=E2=94=80 bc/ > ;; =E2=94=9C=E2=94=80=E2=94=80 cs/ > ;; =E2=94=9C=E2=94=80=E2=94=80 ChezScheme/ > +;; =E2=94=9C=E2=94=80=E2=94=80 zuo/ > ;; =E2=94=94=E2=94=80=E2=94=80 ... > ;; > ;; The 'racket/src/' directory contains the source of the runtime system= , core > ;; compiler, and primitives for the major Racket implementations: this l= ayer > -;; is called the ``Racket VM''. It is basically a normal autotools > -;; project. (Even when Racket VM implementations use components implemen= ted in > -;; Racket, they are compiled in special modes to produce VM primitives.) > -;; (There are or have been experimental Racket VM implementations elsewh= ere, > +;; is called the ``Racket VM''. It is basically a normal Autoconf proje= ct, > +;; except that the makefiles just run Zuo to do the real work. (Even when > +;; Racket VM implementations use components implemented in Racket, they = are > +;; compiled in special modes to produce VM primitives.) (There are or ha= ve > +;; been experimental Racket VM implementations elsewhere, > ;; e.g. .) > ;; > ;; The 'racket/collects/' directory contains ``built in'' Racket librari= es > @@ -100,10 +102,10 @@ (define-module (gnu packages racket) > ;; > ;; The top-level 'Makefile' is more like a directory of scripts: it has > ;; convienience targets for developing Racket, and it cooperates with the > -;; 'distro-build' package to assemble custom Racket distributions. It is= not > -;; part of Racket source distributions: the root of a source distributio= n is > -;; basically 'racket/src' with some extra package sources and configurat= ion > -;; added. > +;; 'distro-build' package to assemble custom Racket distributions. (Agai= n, > +;; the makefile just delegates to Zuo.) It is not part of Racket source > +;; distributions: the root of a source distribution is basically 'racket= /src' > +;; with some extra package sources and configuration added. > ;; > ;; A ''minimal Racket'' installation includes two packages: 'base', whic= h is a > ;; sort of bridge between the current ``built-in'' collections and the p= ackage > @@ -129,12 +131,12 @@ (define-module (gnu packages racket) > ;; output. The function 'racket-vm-for-system' returns the recomended Ra= cket > ;; VM package for a given system. > ;; > -;; The file 'racket.scm' builds on these packages to define 'racket-mini= mal' > -;; and 'racket' packages. These use Racket's support for ``layered > -;; installations'', which allow an immutable base layer to be extended w= ith > -;; additional packages. They use the layer configuration directly provide > -;; ready-to-install FHS-like trees, rather than relying on the built in > -;; ``Unix-style install'' mechanism. > +;; We then define the packages 'racket-minimal' and > +;; 'racket'. These use Racket's support for ``layered installations'', w= hich > +;; allow an immutable base layer to be extended with additional packages. > +;; They use the layer configuration directly provide ready-to-install FH= S-like > +;; trees, rather than relying on the built in ``Unix-style install'' > +;; mechanism. > ;; > ;; Bootstrapping Racket: > ;; --------------------- > @@ -177,16 +179,18 @@ (define-module (gnu packages racket) > ;; However, other Racket subsystems implemented in Racket for Racket CS > ;; use older C implementations for Racket BC, whereas the reader, expand= er, > ;; and module system were completely replaced with the Racket implementa= tion > -;; as of Racket 7.0. > +;; as of Racket 7.0. See also . > ;; > ;; For Racket BC, the compiled "linklet" s-expressions (primitive module= s) > ;; are embeded in C as a static string constant. Eventually, they are fu= rther > ;; compiled by the C-implemented Racket BC bytecode and JIT compilers. > -;; (On platforms where Racket BC's JIT is not supported, yet another com= piler > -;; instead compiles the linklets to C code, but this is not a bootstrapp= ing > -;; issue.) > ;; > -;; Code: > +;; Zuo is notably *not* a problem for bootstrapping. The implementation = is a > +;; single hand-written C file designed to build with just `cc -o zuo zuo= =2Ec`, > +;; even with very old or limited compilers. (We use the Autoconf support= for > +;; convienience.) > +;; > +;; CODE: > =20 > (define* (racket-vm-for-system #:optional > (system (or (%current-target-system) > @@ -199,7 +203,7 @@ (define* (racket-vm-for-system #:optional > racket-vm-cs > racket-vm-bc)) > =20 > -(define %racket-version "8.5") ; Remember to update chez-scheme-for-rack= et! > +(define %racket-version "8.6") ; Remember to update chez-scheme-for-rack= et! > (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c > (define %racket-commit > (string-append "v" %racket-version)) > @@ -210,10 +214,15 @@ (define %racket-origin > (url "https://github.com/racket/racket") > (commit %racket-commit))) > (sha256 > - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) > + (base32 "1lw6h70dk8zqpl96zz0hmhn8vjcc0c7gw4prkfz2wid5bkq4mhg4")) > (file-name (git-file-name "racket" %racket-version)) > - (patches (search-patches "racket-chez-scheme-bin-sh.patch" > - "racket-rktio-bin-sh.patch")) > + (patches (search-patches "racket-backport-8.6-cross-install.patch" > + "racket-backport-8.6-docindex-write.patch" > + "racket-backport-8.6-hurd.patch" > + "racket-backport-8.6-zuo.patch" > + "racket-chez-scheme-bin-sh.patch" > + "racket-rktio-bin-sh.patch" > + "racket-zuo-bin-sh.patch")) > (modules '((guix build utils))) > (snippet > #~(begin > @@ -240,21 +249,10 @@ (define-public zuo > (name "zuo") > (version (string-append %zuo-version > "-racket" > - "8.6" > + %racket-version > (if revision "-guix" "") > (or revision ""))) > - (source > - (origin > - (inherit %racket-origin) > - (uri (git-reference > - (url "https://github.com/racket/racket") > - (commit "v8.6"))) > - (sha256 > - (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk"= )) > - (patches (append (origin-patches %racket-origin) > - (search-patches "racket-backport-8.6-zuo.patch" > - "racket-zuo-bin-sh.patch"))) > - (file-name (git-file-name "racket" "8.6")))) > + (source %racket-origin) > (outputs '("out" "debug")) > (build-system gnu-build-system) > (arguments > @@ -316,7 +314,8 @@ (define-public racket-vm-cgc > (source %racket-origin) > (inputs (list ncurses ;; <- common to all variants (for #%terminal) > libffi)) ;; <- only for BC variants > - (native-inputs (list libtool)) ;; <- only for BC variants > + (native-inputs (list zuo ;; <- for all variants > + libtool)) ;; <- only for BC variants > (outputs '("out" "debug")) > (build-system gnu-build-system) > (arguments > @@ -324,6 +323,10 @@ (define-public racket-vm-cgc > #:configure-flags > #~(cons "--enable-cgcdefault" > #$racket-vm-common-configure-flags) > + #:make-flags > + #~(list (string-append "ZUO=3D" > + #+(this-package-native-input "zuo") > + "/bin/zuo")) > ;; Tests are in packages like racket-test-core and > ;; main-distribution-test that aren't part of the main > ;; distribution. > @@ -683,25 +686,25 @@ (define-public racket > "contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb= 8qv1w7akp73paj3") > '(("contract-profile" "."))) > (simple-racket-origin > - "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1= f55") > + "data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprf= isc") > '("data" "data-doc" "data-enumerate-lib" "data-lib")) > (simple-racket-origin > "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v= 6qwq1s") > '(("datalog" "."))) > (simple-racket-origin > - "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc= 5") > + "db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmj= q") > '("db" "db-doc" "db-lib")) > (simple-racket-origin > - "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a= 7zlqmdyicfr") > + "deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y6= 4pij489x34v") > '("deinprogramm" "deinprogramm-signature")) > (simple-racket-origin > "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx= 5vncariiac4vbdpa0") > '("distributed-places" "distributed-places-doc" "distributed-plac= es-lib")) > (simple-racket-origin > - "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8f= f92") > + "draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i4263= 5sm") > '("draw" "draw-doc" "draw-lib")) > (simple-racket-origin > - "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p= 75mljnz") > + "drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189= fn42q62") > '("drracket" > "drracket-plugin-lib" > "drracket-tool" > @@ -718,7 +721,7 @@ (define-public racket > "eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n= 27s") > '(("eopl" "."))) > (simple-racket-origin > - "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsg= lz4pcxhip") > + "errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124p= p6xkjyavx") > '("errortrace" "errortrace-doc" "errortrace-lib")) > (simple-racket-origin > "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy= 3prh1j7q") > @@ -735,13 +738,13 @@ (define-public racket > "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8= 415d") > '(("games" "."))) > (simple-racket-origin > - "gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0= wx") > + "gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv40= 1w") > '("gui" "gui-doc" "gui-lib" "tex-table")) > (simple-racket-origin > "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14= f9mx47did5myb5") > '("gui-pkg-manager-lib")) > (simple-racket-origin > - "htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx= 9g3") > + "htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjyk= wir") > '("htdp" "htdp-doc" "htdp-lib")) > (simple-racket-origin > "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00an= x2x") > @@ -765,7 +768,7 @@ (define-public racket > "make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g= 2sa") > '(("make" "."))) > (simple-racket-origin > - "math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp21= 7ac") > + "math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq= 9ai") > '("math" "math-doc" "math-lib")) > (simple-racket-origin > "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kz= jdyr48") > @@ -800,16 +803,16 @@ (define-public racket > (git-file-name "stamourv-optimization-coach" %racket-version))) > '(("optimization-coach" "."))) > (simple-racket-origin > - "option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflz= fd52hj7awafqhk") > + "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bg= zaqja1h8vnj2ww") > '("option-contract" "option-contract-doc" "option-contract-lib")) > (simple-racket-origin > - "parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq= 0rj49cr8fl3") > + "parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic1= 9cj6f7rmcnj") > '("parser-tools" "parser-tools-doc" "parser-tools-lib")) > (simple-racket-origin > "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7= wk79pb1") > '("pconvert-lib")) > (simple-racket-origin > - "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4z= mlv") > + "pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq= 6sx") > '("pict" "pict-doc" "pict-lib")) > (simple-racket-origin > "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3c= hm4kng6x") > @@ -863,7 +866,7 @@ (define-public racket > "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwyp= ibqzr9") > '(("racklog" "."))) > (simple-racket-origin > - "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96= 496a83n") > + "rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyz= l7prn81") > '("rackunit" > "rackunit-doc" > "rackunit-gui" > @@ -876,10 +879,10 @@ (define-public racket > "readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w= 2pxkfwn") > '("readline" "readline-doc" "readline-lib")) > (simple-racket-origin > - "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kz= n0hi") > + "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb= 6x4g") > '(("realm" "."))) > (simple-racket-origin > - "redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xn= nv8i") > + "redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852c= zil7") > '("redex" > "redex-benchmark" > "redex-doc" > @@ -894,7 +897,7 @@ (define-public racket > "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapy= klzx1jx8x") > '(("scheme-lib" "."))) > (simple-racket-origin > - "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjv= ik70zb3") > + "scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9= b2acvd3") > '("scribble" > "scribble-doc" > "scribble-html-lib" > @@ -926,7 +929,7 @@ (define-public racket > "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj= 6hj") > '("snip" "snip-lib")) > (simple-racket-origin > - "typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvday= ad0bgbg0mdc") > + "typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7b= dc0jfg8a18l") > '("source-syntax" > "typed-racket" > "typed-racket-compatibility" > @@ -937,13 +940,13 @@ (define-public racket > "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28= gvn") > '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) > (simple-racket-origin > - "string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r= 4c4nkar1fzfwfac") > + "string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6h= j4az5lfbbdvqz47") > '("string-constants" "string-constants-doc" "string-constants-lib= ")) > (simple-racket-origin > - "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8= 589y67") > + "swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbg= qxvsyb") > '(("swindle" "."))) > (simple-racket-origin > - "syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjh= i16rpj3a9vm") > + "syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b= 8dsvbbrjyq1") > '("syntax-color" "syntax-color-doc" "syntax-color-lib")) > (simple-racket-origin > "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mrib= vhia") > @@ -952,7 +955,7 @@ (define-public racket > "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k= 0n9ph9vq0y") > '("unix-socket" "unix-socket-doc" "unix-socket-lib")) > (simple-racket-origin > - "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r= 0i7p0cbjd") > + "web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxm= d6r3fwcpf") > '("web-server" "web-server-doc" "web-server-lib")) > (simple-racket-origin > "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirv= n0b") > --=20 > 2.32.0 >=20 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --lCl/lM2rz9HVOOZr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmMHUXEACgkQQarn3Mo9 g1E4lQ//ZAC3SYCAuANcGAu4ELlfn8E9ExOYfK1IpelaUX9NKj4dZysZILsYuYMj 5wtLEzYWyGU5lZEpL8vIDm26PtO5f9ey5fG7pGyMpW9bp8r5KGaobi6LfppK1tFb pCIWN92pXnsLAOcrMBBAQo/HY1b6yLTn40MxyBFjF81fuENW1sX4K3nSjYpjm7yt XYEwLCQa1yusv+l+fYLpSb3Gezp8JXsq4TapdiH4EwBUF3lrEuORKwDo/aspUBoJ axTXLvYlR7YvMUqMC7jhONHGg6vWeTxK36k9dE2XqAWmvBzfQHAHFnBECoNAiPs6 wafvgEcoaWIeNAvgv7VuAXwkhisJALZNagpxmb9Ey9Ic6161heHK9A8RdEw32SFI zAUnl6fC93g0mY+DHY0SSnGzLEVZEZczwmdfiuRZ8sj2RWfjAwExivdNc/YU5F8+ hyHVDJHCHmOQxFUgS41ZP1FZSPpAEKpQtj8vtr2/Car9QqW21vxE84Tcg+4W0fyX ZOM0gCNeyVTd78geqcc/021UgcWyt2SdG9/QgMVPpip7QnMRCRS1psjNVkPXZ4Tn lzWubbp2ytOH0VC8iIqm1zFmMkbXTWDsKbxJLMoTKakTH5kaMZqBiezJ3p+DGeFS 30zNEBPTSXNwXkk/P+laheh3wRnFRG9LVtbPvR4fHCt36FM3lZ8= =nsS4 -----END PGP SIGNATURE----- --lCl/lM2rz9HVOOZr-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 12/14] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 10:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166142464730662 (code B ref 57050); Thu, 25 Aug 2022 10:51:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 10:50:47 +0000 Received: from localhost ([127.0.0.1]:49136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRARj-0007yU-2x for submit@debbugs.gnu.org; Thu, 25 Aug 2022 06:50:47 -0400 Received: from flashner.co.il ([178.62.234.194]:50670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRARg-0007yI-07 for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 06:50:45 -0400 Received: from localhost (unknown [31.210.177.64]) by flashner.co.il (Postfix) with ESMTPSA id AC97640204; Thu, 25 Aug 2022 10:50:37 +0000 (UTC) Date: Thu, 25 Aug 2022 13:50:05 +0300 From: Efraim Flashner Message-ID: Mail-Followup-To: Efraim Flashner , Liliana Marie Prikler , Philip McGrath , 57050@debbugs.gnu.org, Thiago Jung Bauermann , Liliana Marie Prikler , Maxime Devos , "(" References: <7c5ee85372e4682282dc6a543c99a3620abf2cd5.1661416343.git.philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="u78UL3dAgXimtIiZ" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --u78UL3dAgXimtIiZ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 25, 2022 at 11:24:31AM +0200, Liliana Marie Prikler wrote: > Should be "Support all systems". >=20 > Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: > > On systems for which Racket's variant of Chez Scheme cannot generate > > native code, it can use a 'pbarch' machine type: a variant of the > > ``portable bytecode'' backend specialized to word size and endianness. > > This allows Racket CS to replace Racket BC on those systems while > > maintaining comparable performance. (Racket BC lacks JIT support for > > those systems anyway.) It also lets us provide a Chez Scheme package on > > all systems Guix supports. > >=20 > > This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and > > 'racket-vm-cs', but it does not change the Racket VM implementation > > used > > for the 'racket' and 'racket-minimal' packages. > >=20 > > * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New > > variable. > > (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems. > > [arguments]<#:configure-flags>: Always supply '-m=3D'. Add applicable > > flags for non-native systems. > > [supported-systems]: Use '%supported-systems'. > > [description]: Update. > > (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: > > Adapt > > 'build' phase for non-native systems. > > * gnu/packages/racket.scm (racket-vm-bc)[description]: Update. > > (racket-vm-cs)[description]: Likewise. > > [inputs]: Use 'libffi' for non-native systems. > > [arguments]<#:configure-flags>: Add applicable flags for non-native > > systems. > > --- > > =C2=A0gnu/packages/chez.scm=C2=A0=C2=A0 | 76 ++++++++++++++++++++++++++= ++++----------- > > =C2=A0gnu/packages/racket.scm | 26 +++++++++----- > > =C2=A02 files changed, 74 insertions(+), 28 deletions(-) > >=20 > > diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm > > index 26f653ea9d..5d152b3db5 100644 > > --- a/gnu/packages/chez.scm > > +++ b/gnu/packages/chez.scm > > @@ -37,6 +37,7 @@ (define-module (gnu packages chez) > > =C2=A0=C2=A0 #:use-module (gnu packages compression) > > =C2=A0=C2=A0 #:use-module (gnu packages ncurses) > > =C2=A0=C2=A0 #:use-module (gnu packages ghostscript) > > +=C2=A0 #:use-module (gnu packages libffi) > > =C2=A0=C2=A0 #:use-module (gnu packages linux) > > =C2=A0=C2=A0 #:use-module (gnu packages netpbm) > > =C2=A0=C2=A0 #:use-module (gnu packages racket) > > @@ -49,6 +50,7 @@ (define-module (gnu packages chez) > > =C2=A0=C2=A0 #:use-module (srfi srfi-26) > > =C2=A0=C2=A0 #:export (chez-scheme-for-system > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 racket-cs-native-supported-system? > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nix= -system->pbarch-machine-type > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 unpack-nanopass+stex)) > > =C2=A0 > > =C2=A0;; Commentary: > > @@ -231,6 +233,28 @@ (define* (chez-upstream-features-for-system > > #:optional > > =C2=A0=C2=A0=C2=A0=C2=A0 (and=3D> (assoc-ref %chez-features-table chez-= os) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (cut= assoc-ref <> chez-arch)))) > > =C2=A0 > > +(define* (nix-system->pbarch-machine-type #:optional > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (system > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (or (%current-target- > > system) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (%current-system)= )) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 #:key (threads? #t)) > > +=C2=A0 "Return a string naming the pseudo=E2=80=93machine type used by= Racket's > > variant of > > +Chez Scheme to represent the appropriate ``pbarch'' backend for > > SYSTEM: that > > +is, the ``portable bytecode'' backend specialized for SYSTEM's word > > size and > > +endianness.=C2=A0 The result will name the threaded machine type unless > > THREADS? is > > +provided and is #f." > > +=C2=A0 (string-append (if threads? > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "t" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "") > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 "pb" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (target-64bit? system) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "64" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "32") > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; missing (guix utils) predicate target-little- > > endian? > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (target-ppc32? system) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "b" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "l"))) > > + > Don't we already have a function that does something similar? Can't we > add a #:portable-bytecode? keyword to that one? I'm not aware of a function that checks for endianness. The only other place I know of is (guix build-system meson), but there the logic is hand-written. > > =C2=A0(define* (racket-cs-native-supported-system? #:optional > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (system > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (or (%current-tar= get- > > system) > > @@ -449,10 +473,14 @@ (define-public chez-scheme-for-racket > > =C2=A0=C2=A0=C2=A0=C2=A0 ;; When updating, remember to also update %rac= ket-version in > > racket.scm. > > =C2=A0=C2=A0=C2=A0=C2=A0 (source #f) ; avoid problematic cycle with rac= ket.scm > > =C2=A0=C2=A0=C2=A0=C2=A0 (inputs > > -=C2=A0=C2=A0=C2=A0=C2=A0 (modify-inputs (package-inputs chez-scheme) > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete "libx11" "util-linux:lib") > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (replace "chez-scheme-boots= trap-bootfiles" > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 chez-scheme-for= -racket-bootstrap-bootfiles))) > > +=C2=A0=C2=A0=C2=A0=C2=A0 (let ((inputs (modify-inputs (package-inputs = chez-scheme) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (replace "chez-scheme-b= ootstrap-bootfiles" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 chez-scheme= -for-racket-bootstrap-bootfiles) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete "libx11" "util-= linux:lib")))) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (racket-cs-native-supported-s= ystem?) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 inputs > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (modify-i= nputs inputs > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 (prepend libffi))))) > > =C2=A0=C2=A0=C2=A0=C2=A0 (native-inputs > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (let ((native-inputs (modify-inputs (pac= kage-native-inputs chez- > > scheme) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 (prepend zuo)))) > > @@ -473,10 +501,16 @@ (define-public chez-scheme-for-racket > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((#:configure-flags cfg-flag= s #~'()) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~`("--disable-x11" > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 "--threads" ;; ok to potentially duplicate > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #$@= (if (%current-target-system) > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (list (string-append "-m=3D" > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 (racket-cs-native-supported- > > system?))) > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '()) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #$(= string-append "-m=3D" (or (racket-cs-native-supported- > > system?) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (nix-system->pbarch-machine- > > type))) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; = ^ could skip -m=3D for non-cross non-pbarch builds > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #$@= (if (racket-cs-native-supported-system?) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~() > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; not inferred on non-native platf= orms: see > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; https://racket.discourse.group/t= /950/9 > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~("--enable-libffi" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "CFLAGS=3D-g -O2 = -D_REENTRANT -pthread" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "LIBS=3D-lm -ldl = -lrt -lffi -lncurses")) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 #$@(if (%current-target-system) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (list (string-append "--toolp= refix=3D" > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (%current-target-system) > > @@ -543,10 +577,7 @@ (define-public chez-scheme-for-racket > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 (add-after 'unpack 'chdir > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (lambda args > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (chdir "racket/src/ChezScheme")))))= ))) > > -=C2=A0=C2=A0=C2=A0 ;; TODO: How to build pbarch/pbchunks for other sys= tems? > > -=C2=A0=C2=A0=C2=A0 ;; See https://racket.discourse.group/t/950 > > -=C2=A0=C2=A0=C2=A0 (supported-systems (filter racket-cs-native-support= ed-system? > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 %supported-systems)) > > +=C2=A0=C2=A0=C2=A0 (supported-systems %supported-systems) > I don't think this needs to be specified, does it? >=20 > See the definition in guix/packages.scm: > (supported-systems package-supported-systems ; list of strings > (default %supported-systems)) Unless this package inherits from somewhere else then by default supported-systems is all systems. (Regardless if all dependencies are supported. To see more look at the difference between (package-supported-systems "pandoc") and (package-transitive-supported-systems "pandoc")) --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --u78UL3dAgXimtIiZ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmMHU9oACgkQQarn3Mo9 g1ETwA//eELhvdrXEw5ImOWWiEPz38AlNtPYzPPupKbu4OsJWs82z2YVEefeAgU6 /9YC83HUMtMoso4z41r6UzeyZPwVWjB7sMH4eWhjZVvR/KfGPjYR1iSqnLSSmjsB GE7AXRkl0mg3S5xTbP5TwmbOOZDy/IazJCvRUfqYA25SVpgwRLawLzo2IQb7HUUS 4h5E8V26y2aXGYOU7px1kz9GUcjNgsuFY6x4I6qubsP4lGpqmDpn/0bRwNnr9qec 4/g3ExB49DDBP6b1/PmP2yC8bWyZ487YOukByPka/YMTO/ig+BMq6ohmzmKfmva4 j+BbHyRoyusfSpeWVMNHFECJaj6qLv0Kj8Er6v392jfFlS6ICy5abSIyquIF+IH2 qI1VQjMcLBVFKg9AywQD5Pz15BQtM6gzz/qOhUiU4iaFHXSTbem1o0/YYX9OUqkh WzP5mjA8t4pYt2CJQWpVvQBC45/Y3/5yVZyhDg3hgvtQbAa0x7BLOC7Vdn4N79L7 gbR2nlLpreY7EPZ9pd3tTBGCxSk1JubLx56PH8MCGxeewue7w8Fyz2MQ9jJCC1dD HqE5w209H6J84AdV0d+42fNUWJ/kjzo7mfnsM+RK7qdU+F/bUP4XAufk3AvH/HaY pgzLzJAuAN+M0Fp3BlH7azDXniwYgCc3rrEgk3eeq+MU+7JaZM8= =Hmfz -----END PGP SIGNATURE----- --u78UL3dAgXimtIiZ-- From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 19:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614550144689 (code B ref 57050); Thu, 25 Aug 2022 19:17:02 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 19:16:54 +0000 Received: from localhost ([127.0.0.1]:51332 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRILH-0001DI-2Z for submit@debbugs.gnu.org; Thu, 25 Aug 2022 15:16:54 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:58795) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRILF-0001D4-6F for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 15:16:38 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 5A60E3200A8D; Thu, 25 Aug 2022 15:16:28 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 25 Aug 2022 15:16:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1661454987; x= 1661541387; bh=Bct8Tju1is+GPEbiLDq/F1RGWUbCwTDoST5jq4Ouj6o=; b=m 0EtmlZhI3n7DrLY/X4nA/LZUJJrh0HT+XBRydQ664+qBoBkjuKJIOE1V1a9fbm1R oHrOTSvAi0GI5DRBTbQURsjmkxSX3cw9Mip+ZqdHg/ZxqrVdRIEFcI/8dBPrWjdZ WJ/axmED5+wi6cMzAujnyPVR1HtnADdoGkjNXVJhBBUAQ2tm7o4nukyqlanaCJPl UGga477jVMgxcc+9UaNGm3hRX/2nW+hQO02qqt+8M5+Tuww8wmj1dHNVE3d1JT8O wenmlbPJhHjOhY6Y6C28lZw5P3QK/mc4Z0APvyz/AR+bEghTtZqmYifiQmd3bJTX V0G9NbJRNCJO1QGllS2xw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1661454987; x=1661541387; bh=Bct8Tju1is+GPEbiLDq/F1RGWUbC wTDoST5jq4Ouj6o=; b=UWQhdo2ydHgtdHM9mAYnrj6cSgP6G1T1CdQLSYBzHfSq OhYfW/6+NL52At7JXObeA1QWOPnSW3UYjW1ao2d0q7JNr/Zb4WnKcj+v2RxdY70W 6Wvg7Cfr75DWbhPyn99ubogafXeEFO6qyt/+EqbZCMKeLsvzGM6wmZCNzd722Lvq k+vVyvQt8SV5lAwNDyQZVhYa7nOFTpkSHlyc3vTy04Bh4UkhRN/LLZteo6Mn+3fo FUUEnujDmqTK4Ivpq72trMDjdxButb9Y7mWL9JQWIUOPztKpCBkVKeQcgL8sosv8 Wmyg5wJpgCmiioiWSz6fUSSFC9iDFkux2QIhbbsLXQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejfedgudeffecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpedvjedvteefgefhjeeludeiveelkeefhfet heejveekteffvddtvdeivdeggefhfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtgho mh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7B8E0C60091; Thu, 25 Aug 2022 15:16:27 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <8acb845a-9710-4cff-a537-93076c18f7bd@www.fastmail.com> In-Reply-To: <6315c99fee19aa14228754ad3341aedcef838f4b.camel@gmail.com> References: <6315c99fee19aa14228754ad3341aedcef838f4b.camel@gmail.com> Date: Thu, 25 Aug 2022 15:16:06 -0400 From: "Philip McGrath" Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, Aug 25, 2022, at 5:09 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: >> Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may >> not >> be The Right Thing in the long term, but it at least avoids a >> proliferation of 'CPPFLAGS'. >> >> * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to >> ... >> * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and >> change >> to use '_PATH_BSHELL'. >> * gnu/local.mk (dist_patch_DATA): Update accordingly. >> * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. >> (racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change >> to a >> constant instead of a function, since we no longer need the delay. >> (racket-vm-cgc, racket-vm-bc, >> racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly. >> [inputs]: Remove 'bash-minimal'. > I'm not quite sure about removing bash-minimal, but otherwise LGTM. `_PATH_BSHELL` expands to "/gnu/store/720rj90bch716isd8z7lcwrnvz28ap4y-bash-static-5.1.8/bin/sh", not bash-minimal. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 20:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Efraim Flashner" Cc: Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Liliana Marie Prikler , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16614578949314 (code B ref 57050); Thu, 25 Aug 2022 20:05:01 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 20:04:54 +0000 Received: from localhost ([127.0.0.1]:51390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRJ5w-0002Q6-Gl for submit@debbugs.gnu.org; Thu, 25 Aug 2022 16:04:54 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:38441) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRJ5r-0002Pi-HW for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 16:04:51 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id D1A7E32000CC; Thu, 25 Aug 2022 16:04:38 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 25 Aug 2022 16:04:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661457878; x=1661544278; bh=Hq0f+PFWRV +fPiiDOUsptDSpo+Bsfv2kAE4RMn81SLs=; b=LQL2Yb757QQofbysR2DMz87+xz NBXwjfQT5ux8N0Tnluv0bbkeoCeEQVeX0WBQWJ5csYERa4DcgvlHzDP6d+jquKVl 9DppNoz6OYpEZTpHx6IXJo2IP13abDGaw75n50qAIUyprwJlu/JqO8KYToIw1SQk DEImbp7Xll5qxmjzgK82v8f71TSYf102Dd9dYTpDaxOhI6EBNW/HsnPufYMHwvQ1 cMa6DMJ2XbdQkdRPXOPPQAm6FrIlgcFKoG1b46uMbZF2tvHePC2h/rtx6erYit/Z 2INHd6Sy2Bq5rgRQcYDZ9Vj1/ANF8Iammu6ehumf5q/q27jP4evMGXNH4jYQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661457878; x= 1661544278; bh=Hq0f+PFWRV+fPiiDOUsptDSpo+Bsfv2kAE4RMn81SLs=; b=e zoIOGa0YTEfF8h/WmNPkHWZFNVI5SRKujoG7EZqEoKDaX899O3f6ADrbIdABOzUw 5Qo6SOaaLfb0zn4ronmesGhhpb4Nju54D+FPJE4f3P+5+RSOG98D7awoO4LgFEBZ 4P+/okpMn3G/mzEqs4mdh3CPpu7zUeXd0ZYCFxQR+8xrObdQ9oL619B2g0rVKMjn 3Rnc74ngxYgBSE1vRIxshxnvTceJM0wX3ZTB3sdNz9mfePY61iKCNvmw6yXCyfk7 6sgTLzlagJNfRXOYNj9yLbaLFOrZysfAan1qdenUezL9PHwpyLxaT5yXm6B8KUBM g9xhFUMNBk6xkQkrygs6g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejfedgudegfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepkeeijeehgfegtedvjeduleeiudeghefh tdffteevudefleeiffelveekhfevveetnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgt ohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id BA7D9C60093; Thu, 25 Aug 2022 16:04:37 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> In-Reply-To: References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> Date: Thu, 25 Aug 2022 16:04:15 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Thu, Aug 25, 2022, at 6:30 AM, Efraim Flashner wrote: > On Thu, Aug 25, 2022 at 04:54:09AM -0400, Philip McGrath wrote: >> + (synopsis "Tiny Racket for build scripts") >> + (description "You should use Racket to write scripts. But wha= t if you >> +need something much smaller than Racket for some reason=E2=80=94or w= hat if you're >> +trying to script a build of Racket itself? Zuo (=E4=BD=9C) is a tin= y Racket with >> +primitives for dealing with files and running processes, and it come= s with a >> +@command{make}-like embedded DSL. >> + >> +Zuo is a Racket variant in the sense that program files start with >> +@code{#lang}, and the module path after @code{#lang} determines the = parsing >> +and expansion of the file content. That's how the @command{make}-li= ke DSL is >> +defined, and even the base Zuo language is defined by layers of @cod= e{#lang}s. >> +One of the early layers implements macros.") >> + (license (list license:asl2.0 license:expat))))) > > I'm not sold on the second paragraph, but I understand it's from > upstream so that's not too bad. For the first paragraph I'd drop the > first two sentences and consider @acronym{symbol, Zuo} for the next > sentence. > That seems reasonable. For acronym, though, the manual says that "in Tex= info, an acronym (but not an abbreviation) should consist only of capita= l letters and periods, no lowercase," and when I tried '@abbr{Zuo, =E4=BD= =9C}' it was rejected as "invalid Texinfo markup". I'm also not sure tha= t the generated HTML would be semantically correct. How does this seem? (description "Zuo (=E4=BD=9C) is a tiny Racket with primitives for= dealing with files and running processes. It comes with a @command{make}-like embedded DSL, which is used to build Racket itself. Zuo is a Racket variant in the sense that program files start with @code{#lang}, and the module path after @code{#lang} determines the pars= ing and expansion of the file content. That's how the @command{make}-like D= SL is defined, and even the base Zuo language is defined by layers of @code{#l= ang}s. One of the early layers implements macros.") -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 12/14] gnu: chez-scheme-for-racket: Suport all systems. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Aug 2022 20:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Efraim Flashner" , "Liliana Marie Prikler" Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166145867810536 (code B ref 57050); Thu, 25 Aug 2022 20:18:01 +0000 Received: (at 57050) by debbugs.gnu.org; 25 Aug 2022 20:17:58 +0000 Received: from localhost ([127.0.0.1]:51400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRJIb-0002jq-Ea for submit@debbugs.gnu.org; Thu, 25 Aug 2022 16:17:57 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:36201) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRJIW-0002jb-6o for 57050@debbugs.gnu.org; Thu, 25 Aug 2022 16:17:56 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 949563200A71; Thu, 25 Aug 2022 16:17:45 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Thu, 25 Aug 2022 16:17:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661458665; x=1661545065; bh=rV3kKk5iBR m1hRdLfu3uyfvJJIPUayV3Fs1Y0PpldDE=; b=FpXlvO0Nvmmia6uQERBPm2GKyx gVJeP+Bk/daC1N5ZlQzkQu2TSlaLXYQUK9DzJhEMkpV40b7KuCM0C5nkjdUn9DOl khRf5yPN0mdQiTObOnMXT59a0WHrXm9NeFf1DvL/KNx7FTaCfV6bPgoara/dPgeO AsR+gxpkNAQlJuexRB8zpaUqE8RjhrwEcBl8KaJcbywsoYRdWqOndxOdlyRyrYZh iidvm74sXlZDzcq3/ghTMSm6u3Yp7S2UHoPrBxAlq0o8QxkGDO20AL56XSuheWb4 dfhvnWEyTLHgg6XSeK56jPm3OvTGkpbzDXU8HDFhnS8J5mYkoo7La0q8bjdg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661458665; x= 1661545065; bh=rV3kKk5iBRm1hRdLfu3uyfvJJIPUayV3Fs1Y0PpldDE=; b=0 Eg1jEpl4l6dQDP0StkKpWfmnKbXrDAPGfdxJlQM4Vq/Puk64S2ewEVkF/Rag+Owr fNU6LeqIzBCq0Tl3tQZTI8bJJ9RWFundrUp3quvcjlnM546yp79mZFFD21FPuhaD 8s5wvLbWyMAXzBS/U9q+ZuNykUTd16fsWlZkf+drtTdglKmkgpLXMhYi3A+XSI5X Qx18VxBisa1Fcbbv08tJdRhLdkJVgHUgmE+ZpGW3r9Qo2kNK8u7jx+gLDsIuxMy6 FGz5S9Jt7AeDuy/wFaUA+pRZzheEWA4j/KG8bMOTgk9ORPKjsZRRiow/u9aqPTfX kMqKa3GBlsg/clhHEUPuw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejfedgudegjecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepgfejkeelgfevhfehvefhtdfhvdelveeg veehheegheetffdtudetfedvudetfeeknecuffhomhgrihhnpeguihhstghouhhrshgvrd hgrhhouhhpnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id AE7DAC6008B; Thu, 25 Aug 2022 16:17:44 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <4105f2b6-14a8-4835-b446-5682931ede50@www.fastmail.com> In-Reply-To: References: <7c5ee85372e4682282dc6a543c99a3620abf2cd5.1661416343.git.philip@philipmcgrath.com> Date: Thu, 25 Aug 2022 16:17:14 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Thu, Aug 25, 2022, at 6:50 AM, Efraim Flashner wrote: > On Thu, Aug 25, 2022 at 11:24:31AM +0200, Liliana Marie Prikler wrote: >> Should be "Support all systems". >>=20 Thanks. >> Am Donnerstag, dem 25.08.2022 um 04:54 -0400 schrieb Philip McGrath: >> > +(define* (nix-system->pbarch-machine-type #:optional >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (system >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (or (%current-target- >> > system) >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (%cur= rent-system))) >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:key (threads? #t)) >> > +=C2=A0 "Return a string naming the pseudo=E2=80=93machine type use= d by Racket's >> > variant of >> > +Chez Scheme to represent the appropriate ``pbarch'' backend for >> > SYSTEM: that >> > +is, the ``portable bytecode'' backend specialized for SYSTEM's word >> > size and >> > +endianness.=C2=A0 The result will name the threaded machine type u= nless >> > THREADS? is >> > +provided and is #f." >> > +=C2=A0 (string-append (if threads? >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "t" >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "") >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "pb" >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (target-64bit? system) >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "64" >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "32") >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; missing (guix utils) predicate target-= little- >> > endian? >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (target-ppc32? system) >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "b" >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "l"))) >> > + >> Don't we already have a function that does something similar? Can't = we >> add a #:portable-bytecode? keyword to that one? > > I'm not aware of a function that checks for endianness. The only other > place I know of is (guix build-system meson), but there the logic is > hand-written. > I also don't know of any function we could readily adapt. Thanks for the= pointer to (guix build-system meson): I see 'target-ppc32?' is the only= big-endian case there as well. >> > @@ -543,10 +577,7 @@ (define-public chez-scheme-for-racket >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 (add-after 'unpack 'chdir >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (lambda args >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (chdir "racket/src/ChezScheme"))= )))))) >> > -=C2=A0=C2=A0=C2=A0 ;; TODO: How to build pbarch/pbchunks for other= systems? >> > -=C2=A0=C2=A0=C2=A0 ;; See https://racket.discourse.group/t/950 >> > -=C2=A0=C2=A0=C2=A0 (supported-systems (filter racket-cs-native-sup= ported-system? >> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 %supported-systems)) >> > +=C2=A0=C2=A0=C2=A0 (supported-systems %supported-systems) >> I don't think this needs to be specified, does it? >>=20 >> See the definition in guix/packages.scm: >> (supported-systems package-supported-systems ; list of strings >> (default %supported-systems)) > > Unless this package inherits from somewhere else then by default > supported-systems is all systems. (Regardless if all dependencies are > supported. To see more look at the difference between > (package-supported-systems "pandoc") and > (package-transitive-supported-systems "pandoc")) > > 'chez-scheme-for-racket' and 'chez-scheme-for-racket-bootstrap-bootfiles= ' inherit from=20 'chez-scheme' and 'chez-scheme-bootstrap-bootfiles', respectively, so we= need to override the inherited value. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 26 Aug 2022 12:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Efraim Flashner Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16615153152255 (code B ref 57050); Fri, 26 Aug 2022 12:02:01 +0000 Received: (at 57050) by debbugs.gnu.org; 26 Aug 2022 12:01:55 +0000 Received: from localhost ([127.0.0.1]:52532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRY26-0000aJ-OR for submit@debbugs.gnu.org; Fri, 26 Aug 2022 08:01:55 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:38785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRY1r-0000Zs-UW for 57050@debbugs.gnu.org; Fri, 26 Aug 2022 08:01:53 -0400 Received: by mail-ed1-f67.google.com with SMTP id c93so1826406edf.5 for <57050@debbugs.gnu.org>; Fri, 26 Aug 2022 05:01:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=n1i2BLgWVU620pj9H0KT4MCLiKbrgHFno9wa5iDxlQw=; b=aspoXCgwMQuOADbiLoktDrnwukviMMaIy4BMTUwIMEcnV8ezgDUhOLL1+GBMJ6HwTY 3KrcX/W0WhVd7tFVbO9VuVoahqFZ5Zp4wm1j7x0Qz28JJC+4JP27t+dLljXkTa7WJbOp fk0viZ6kS/OCm/ehKGo0OXPaAtgwC9/1h6C4Hn40AHO36RdcnOa4e5Ey6kYRF+IZ5Dbv GsqjvtEvInFKhAEFfFP03diuhFRhzH8NNFZF12B6lzHBIweLvbJku2Bto7HudCejvpec Fi1rdFoEw+NzjtjJNYENOEXDCtF6UQ68YoVR0iZh9VN8REjR3vaRxsIK4f6T13liFIFC eLEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=n1i2BLgWVU620pj9H0KT4MCLiKbrgHFno9wa5iDxlQw=; b=HEK9dHWmvllMA5JrhcWHFM4YWl0/welfXuOLbWT3Tdabp7NiXAnIAF9JYPN209EBX+ ycQyh38yw1elpyooQ5zDBGo5Zyet3vNAdm+dwakcIJ213ZVeTKEUQjsQLZjdbY6lLrkP GzEi6inaXgKafHqUpCE90sIOp7kctw/ev+xnRUkC0oVvfRJDplk/9Go1mkCwbyAzb3Oa tDEa9S44jj35i5/vyA22if0TYepjpW43yfG2dHuuoahfj+Qx7f1I0FoFAVl7VmP9FGR/ 4aDbq14uL7r3zQl4gKrPb2luU4k71RbRbzT+RI56EH/bmCZ37aSO74m94vNU87NaOKuM LtpA== X-Gm-Message-State: ACgBeo3fvlRjVSsBrPF4Z0AFPZiX+tDTWva5y4XC5pVx1bvb6G1rAYE4 J7rDKZ46LYOHoJjQh8T+IGI= X-Google-Smtp-Source: AA6agR4zMJLQ8KDZvd8v/gk5Ku94JL5Mub+x987Z2OYlFQw/CZ4CSuPb1XkcWPsYZTKqbT5XzYuLzg== X-Received: by 2002:a05:6402:1f87:b0:43b:b88d:1d93 with SMTP id c7-20020a0564021f8700b0043bb88d1d93mr6518622edc.314.1661515293997; Fri, 26 Aug 2022 05:01:33 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id gg30-20020a170906899e00b0072b33e91f96sm784495ejc.190.2022.08.26.05.01.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Aug 2022 05:01:33 -0700 (PDT) Message-ID: <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> From: Liliana Marie Prikler Date: Fri, 26 Aug 2022 14:01:32 +0200 In-Reply-To: <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 25.08.2022 um 16:04 -0400 schrieb Philip McGrath: > How does this seem? > >       (description "Zuo (作) is a tiny Racket with primitives for > dealing I don't think (作) adds anything meaningful. Perhaps a Chinese translation might want to use that character, but in English we have to deal with the fact that most no one will understand that. > with files and running processes.  It comes with a @command{make}- > like > embedded DSL, which is used to build Racket itself. > > Zuo is a Racket variant in the sense that program files start with > @code{#lang}, and the module path after @code{#lang} determines the > parsing > and expansion of the file content.  That's how the @command{make}- > like DSL is > defined, and even the base Zuo language is defined by layers of > @code{#lang}s. > One of the early layers implements macros.") I'd probably cut out the middle sentence in this paragraph, but otherwise LGTM. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 00/14] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Thiago Jung Bauermann Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 26 Aug 2022 21:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath Cc: "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler , 57050@debbugs.gnu.org Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166154862615416 (code B ref 57050); Fri, 26 Aug 2022 21:18:02 +0000 Received: (at 57050) by debbugs.gnu.org; 26 Aug 2022 21:17:06 +0000 Received: from localhost ([127.0.0.1]:54676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRghN-00040a-K7 for submit@debbugs.gnu.org; Fri, 26 Aug 2022 17:17:05 -0400 Received: from mx.kolabnow.com ([212.103.80.155]:5628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oRghK-000402-VB for 57050@debbugs.gnu.org; Fri, 26 Aug 2022 17:17:03 -0400 Received: from localhost (unknown [127.0.0.1]) by mx.kolabnow.com (Postfix) with ESMTP id 6590CB56; Fri, 26 Aug 2022 23:16:55 +0200 (CEST) Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-type:content-type:mime-version:message-id:in-reply-to :date:date:subject:subject:from:from:references:received :received:received; s=dkim20160331; t=1661548615; x=1663363016; bh=dFOAbU/6O4A0u4V2/2QIlGbLeXF8/P36FzvYRopbank=; b=fo0z/G7FdYj8 dKYevLprtsPS3eW/dGiFAC+cf2zykej3N6Z2y8Qr2E4COAk6e32aBbhwsA29qv+e yVzhrORWCbqUoyj1zhu1ewHgob8tW1VZkrweOKhvZOu43478yQ/KBn5WNr3xyS24 j1DACqQeKuLGDj9lnvcaMWzNlGrUTK1A4xq1Y7DOh51mvS9lz0W/NuN6HAcZ8r0J YZZQ44uPNEs0+dlvesB/Bn1PEK+ZBU8dw6sVsAgy0FHtxnR7PtLo6VUQXGb0E3G5 qZHpW4eUuOpw+ahNjicTnUf8vP+2lw6rNnSDIl4DCvnrOhpEzoSmnbHwo8sI2iih +SaVZVcYwCrCem0B6NlpvcH9syAgPo4bfBZRunWyc8xxkl9SLG4DOiUD4K7ebBkU 6wPipuZB69Sg6dpXZ27MCFyBO3wOgs0PpGpGI+qJwYZbte7ewkK+jNgGauSb/onw CUEJodnfnkmWtkuc8G38iwPhGquce+HvSRX7Qi5hD95phicvRfdvz8T2KlS+G4Dv goTdJLOUhiTemfrp+zN4fprNw4hM31x0vrQEb3NXMiHaaYKXyy4iUq51smMzlkGd X8/xebIyMKaEoYgADzZSCNL5/vp6keTcJkyrGFfbDxg40NRVApHMOd5KkBsvymVq OlR77U+uqiOEcN/VdRFSus8AOqzkK60= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-10 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Kp0giP5dwn0; Fri, 26 Aug 2022 23:16:55 +0200 (CEST) Received: from int-mx002.mykolab.com (unknown [10.9.13.2]) by mx.kolabnow.com (Postfix) with ESMTPS id 57BE5AF9; Fri, 26 Aug 2022 23:16:54 +0200 (CEST) Received: from ext-subm001.mykolab.com (unknown [10.9.6.1]) by int-mx002.mykolab.com (Postfix) with ESMTPS id E4F962237; Fri, 26 Aug 2022 23:16:53 +0200 (CEST) References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> From: Thiago Jung Bauermann Date: Fri, 26 Aug 2022 18:15:52 -0300 In-reply-to: Message-ID: <874jxyyabj.fsf@kolabnow.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Philip, Philip McGrath writes: > Hi, > > Here is a v3 of this series. The major changes from v2 are: > > 1. Reflecting the change upstream to the v8.6 tag (which they will not > do again); > > 2. Changing the patches to use _PATH_BSHELL for "/bin/sh"; and > > 3. Incorporating all of the powerpc64le fixes, including the 10x higher > STACK_SAFETY_MARGIN that got the build working for Thiago. > > I've also made many of the smaller changes requested. > > For convienience, I've also pushed this series to the 'zuo' branch of > https://gitlab.com/philip1/guix-patches and tagged it as > guix-issue-57050-v3 (commit 9b429caf1d9cd6574debcb11065b957874d2a31a). Thank you! This version built successfully on powerpc64le-linux. -- Thanks Thiago From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , "Efraim Flashner" Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162374527122 (code B ref 57050); Sat, 27 Aug 2022 18:10:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:09:05 +0000 Received: from localhost ([127.0.0.1]:57013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0Ez-00073O-6E for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:09:05 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:40307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0Ew-00072s-BM for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:09:03 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 145123200684; Sat, 27 Aug 2022 14:08:54 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Sat, 27 Aug 2022 14:08:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661623734; x=1661710134; bh=LjpY0/g8iL oHkTi/EiSO+4ZfL68m3qpqoE7m+gJ/J2M=; b=sr9cRI2daSMflGIePcL8a1Oann w1iZPQY3NiDxMbOa5NOOIGEMO6kcbRUd5EyEWU4gHkavcOkmQNqfP9UIK5WKRDG0 qM90uQ69tDWc4qZe1EIxGkDrSuQHkVXYMVpeYFrHRTp9E/4Y9x9YX72a5VmyLldM 4AL/pgJdHL0CL2kbDx6VaNzMEqQyUOhgTcS9BRdOYj+I61I7zoqhH5Xc05YFU2V6 RlK8HpiYAYJYuVR+wRwKl5cS/6JK5qSJ/q/yfuhlVvp5xfUmBr9OVEpys+i7U+Iq qZh2HjKzBrxLeMY/wjhCPqMuz9kc5xyQTHbT5eqjt8DWaNKdXIBMd7oqSzvw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661623734; x= 1661710134; bh=LjpY0/g8iLoHkTi/EiSO+4ZfL68m3qpqoE7m+gJ/J2M=; b=Y Q5SpYikwzG5PJxnU7lcoPq1jXVCFPblZGyEMHJOWQfQzQ1mwZp1VMR06v2tzmUxk 8549hdGrX6Q9VTEkta13cC7KQJFkjWQEAPCTOP82UtV+WiKCbVuWi7eLyfV0dc8p EA8fvSockxECV9cmZA343aVoaJG2Ftz1EkGGSexDIcFcRxOSpcJAs8hFzQ6fc4hp 4failfwVlHnXq4oKecrUp7wrjGpA0+fpWvMkhO9/Z9gPgtsy6XAc1gTE5eOF9yF8 GncYiYwvI6b7nlDdPRgphyyIUYTUtr9X4IGtgKjYXR4gLBHfeNax04H3ysZ8jwuE db5dXemJEh3my4ifY2Fqw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejjedguddvgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepkeeijeehgfegtedvjeduleeiudeghefh tdffteevudefleeiffelveekhfevveetnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgt ohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id CA0B7C6008B; Sat, 27 Aug 2022 14:08:53 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> In-Reply-To: <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> Date: Sat, 27 Aug 2022 14:08:33 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, Aug 26, 2022, at 8:01 AM, Liliana Marie Prikler wrote: > Am Donnerstag, dem 25.08.2022 um 16:04 -0400 schrieb Philip McGrath: >> How does this seem? >>=20 >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (description "Zuo (=E4=BD=9C) is a tin= y Racket with primitives for >> dealing > I don't think (=E4=BD=9C) adds anything meaningful. Perhaps a Chinese > translation might want to use that character, but in English we have to > deal with the fact that most no one will understand that.=20 I think "(=E4=BD=9C)" concisely answers the question, "Why is this calle= d Zuo?" (Answer: =E4=BD=9C means, roughly, "make".) -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 00/14] gnu: Update Racket to 8.6. Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162658631549 (code B ref 57050); Sat, 27 Aug 2022 18:57:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:26 +0000 Received: from localhost ([127.0.0.1]:57033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yo-0008Ck-9X for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:26 -0400 Received: from mail-vs1-f44.google.com ([209.85.217.44]:43684) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yj-0008CU-HK for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:24 -0400 Received: by mail-vs1-f44.google.com with SMTP id w188so4666362vsb.10 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Rrg+7QIWbF1suMWJ8uCOEj4NdMtzw+7s+J03GqhhpJ4=; b=eLiDqEd4BLRVGZplKzz1glc0hlR/FJz+S409uqjwLqqG90QkJiW3nss37Ox1CVjKny wbwWNeHppzXK7N6eqmNilqPcRIQzD5PnbkRqsk3eVCgo0zhw8W6RcuxlAIebePyzV/gh HRejI8HZHAOm2vEC0HMrd/mDuQPlwM7Ylw0AqFI4kmdvlFWv0KRScDshRV1BQmGVp35h WPT4/eT3T/3q2txrFnIRT8JzVAc/LgS+297VsUKxn0tV5kOJly62GewBJIemVDtaqP8p r6kW1Y/m2y0yjTecFaqVLyanKgpT5rfSGt7aNd/v9xpA1IXQFgyNaKDRjk64OQ7CugpQ Qbbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Rrg+7QIWbF1suMWJ8uCOEj4NdMtzw+7s+J03GqhhpJ4=; b=Ja59rOukaEpfwqV1qeWYfpMSYjzFIlAJtH70efiawbydu3EAsVgMhcVuQxTocbhUWh 99qCmbC2fOtP9OUGeyZX0ikt+ujphMH+RpzYZPqn2lhz0otnt6q+ryldW9pjzQQkA3gq h/WUtdcmE0yNqbvQW2eEJHYE53grTPlH6WOlCPbshD+O7V2R0WFtWyYGdKJD0CyAa8S3 Mff7qxt9kA4Z7dSdqbxabdeqQGSpWy4m2XljuSydtGmF+nGJ4uHMfuBhV3Y0AshFzuaV egPgJ/9nircv7vUE+M2a64fXO3peBTN5iK8xRsyurC8NjE52cEP5F7L3Oe1LuPH7WMBj NBsA== X-Gm-Message-State: ACgBeo1IshqHOLzs4GUr+FALmc14JFJYI/3L0xmF25CdWjFHAmATvp7f Ovfraxe2WtEi6IKJHzukt5PadpasgEVBGiyN X-Google-Smtp-Source: AA6agR7mYNxKfeOU4hQxqdfrOis36tuE2YeENEZC3tE39ItmaaFMq8x+1/BxEt1w9/NV+xH/G4KM2A== X-Received: by 2002:a67:cf89:0:b0:388:9db0:15f0 with SMTP id g9-20020a67cf89000000b003889db015f0mr1410545vsm.52.1661626575802; Sat, 27 Aug 2022 11:56:15 -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 u16-20020a056102073000b0039098ff7d87sm604671vsg.25.2022.08.27.11.56.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:15 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:40 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, Here is a v4 with the revised description for Zuo (07/14) and the typo fix in the commit message for 12/14. I've once again pushed this series to the 'zuo' branch of https://gitlab.com/philip1/guix-patches and tagged it as guix-issue-57050-v4 (commit b9652c2a85201f8183346a6e3a4f4fd245649d69). -Philip Philip McGrath (14): gnu: stex: Update to 1.2.2-2.afa6075. gnu: stex: Fix read-only gifs and math directories. etc: teams: Add racket team. etc: teams: Add entry for Philip McGrath. gnu: racket: Adjust patch for "/bin/sh" in rktio. gnu: chez-scheme: Fix use of "/bin/sh". gnu: Add Zuo. gnu: racket: Update to 8.6. gnu: chez-scheme: Make bootfiles regular inputs. gnu: chez-scheme-for-racket: Support cross-compilation. gnu: racket: Support cross-compiling the VM packages. gnu: chez-scheme-for-racket: Support all systems. gnu: racket-vm-bc: Add workaround for ppc64le. gnu: racket: Use Racket CS on all systems. etc/teams.scm.in | 12 + gnu/local.mk | 7 +- gnu/packages/chez.scm | 211 ++++-- gnu/packages/patches/chez-scheme-bin-sh.patch | 76 +++ .../racket-backport-8.6-cross-install.patch | 126 ++++ .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 76 +++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 60 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 74 +++ .../stex-copy-from-immutable-store.patch | 41 ++ gnu/packages/racket.scm | 240 ++++--- 13 files changed, 1895 insertions(+), 154 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (54%) create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch base-commit: b594c7354ce1daedecb3310b55817b69e90adbe9 -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 01/14] gnu: stex: Update to 1.2.2-2.afa6075. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162659631577 (code B ref 57050); Sat, 27 Aug 2022 18:57:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:36 +0000 Received: from localhost ([127.0.0.1]:57037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yx-0008DE-LU for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:35 -0400 Received: from mail-ua1-f41.google.com ([209.85.222.41]:41698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yo-0008Ca-Si for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:29 -0400 Received: by mail-ua1-f41.google.com with SMTP id cd25so1687115uab.8 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=MLGw/O8RjYlYca4l0qTzludTOYxLj8YbN+AHJ2TBeZSkwrNZ5+wtA6ZA3t3ubQ4M7/ Hxk6QpB4bDJphmEdnNNXmZd5rUbBXAkVtP7/p8TJhQtpNTTPpAbCDwk4kN+p/3g62KSM A/J84ziFUMeWwmVaTlD1UIYI0V2G9il2mTGoLlBcjNsCF4V844wppYIUx1T1cQhhMNOw yleJnlEHHz8/KiWV4ECBy+/VyAv6u2BaxnLv0piQ/qbWgyXi710DxEb64+KVx46fAZv2 RBRHbH1eOIBx7+93TQ/u+aa2nPNocmbZ9sGs4OJMx8TRp5950HenRWcYMrmVoa8cwCi8 E6bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=T6gG0upqRvGYsYUd7HyRCudJf0QW/TkeNmZoflcoPII=; b=XYQzm06IXA9Y04C62PT3Pe14pBwXFAuSwkdGCk0HPBjY4PE9AjgWyrEzGp7FuwYNSU 6iCHGABjaPEDzkNnazpY0mwPMGUyENdQVzuyCgk2AQSADOZ5cJDI0HuFJ4qgQgGHhBuM iqUXC9jWOuUxClbH4MckdyCJcom4AnCCies3n68xSzpbjXzJs/L+pA19rQuxZwG8IWO7 HzCMxN7rn8V7wuqBi99Br0Uf20BZhV2W/vjEsPRtWqMl/U3LqDi86fgijZ/b2qboLJNQ Sg2B2Q9cK688qW+Oyt97y/jKm1zfYqTx5WLeVkJJy3npPUtjUGXxMI+lgyZRXYnYxIQA Z4jw== X-Gm-Message-State: ACgBeo03GEsprF//v3oBJghzwwvKshwt0+JaDkGYpX76pjBJEK+zii8r iNUQsS5BI18kMoyeO3jvwDF5Th6Wcs6mt/NE X-Google-Smtp-Source: AA6agR5ZXqKmBAzQC9nlQxPQL9tEyk4NHP+WWNVfQkGwdC1BTFr/kJ4ZLZPn6vnA72jg+eRgsrWSVw== X-Received: by 2002:a05:6130:1102:b0:38c:49b4:bbc3 with SMTP id ce2-20020a056130110200b0038c49b4bbc3mr1621441uab.107.1661626581306; Sat, 27 Aug 2022 11:56:21 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id i186-20020a1f6dc3000000b0038cef2eed8esm735145vkc.22.2022.08.27.11.56.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:21 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:41 -0400 Message-Id: <17a6fbf231448ebf8edeb69a0f2ee6a75934ac7a.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (stex-bootstrap): Update to 1.2.2-2.afa6075. --- gnu/packages/chez.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b037efe8d4..043f2ae47a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -594,8 +594,8 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (define-public stex-bootstrap ;; This commit includes a fix which we would otherwise want to use as ;; patch. Let's revert to tagged releases as soon as one becomes available. - (let ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") - (revision "1")) + (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c") + (revision "2")) (hidden-package (package (name "stex") @@ -611,7 +611,7 @@ (define-public stex-bootstrap (url "https://github.com/dybvig/stex") (commit commit))) (sha256 - (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d")) + (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) (snippet #~(for-each delete-file -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 02/14] gnu: stex: Fix read-only gifs and math directories. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162659631585 (code B ref 57050); Sat, 27 Aug 2022 18:57:03 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:36 +0000 Received: from localhost ([127.0.0.1]:57039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yx-0008DG-VV for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:36 -0400 Received: from mail-vs1-f44.google.com ([209.85.217.44]:40777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yt-0008Cm-Ez for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:32 -0400 Received: by mail-vs1-f44.google.com with SMTP id 190so4676417vsz.7 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Y3+vNJPpga1Q1V+rF5NtVFTZ7yIvUQWMYLczF9BwSFU=; b=MtW2/J+BRaZLz9j1LtVr4Ne+TKVSaARDmNvQfkvwBqpc8p54LQ0OlMZ/B53OJ1cdHN avcZbKIqU6B90Xks++NEuTtC6RtSLrejYi5WOSfFutcUQdHDTPaymLvJl5uhwigF2Npj 28oTj8IqEfyOHgCNrdzOLlMpcpTYhPtSfU6B4uwY9P6EJAiPte4mUyRk6Ykm5+jJJaLP lyK6krqq9osrIAKxt2wZII3Ml0vzHWaP68OVrw+3bYimUEnpwxi3lJoMRCOQkKQBK5kr uEPJOorLDlitv8bcwKLhG8u8k4dpGswF0FGDK0H7SdHinqfHWa9GoRfNWPi4sr7pky1g GLww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Y3+vNJPpga1Q1V+rF5NtVFTZ7yIvUQWMYLczF9BwSFU=; b=0p0YphIRO2Aq6gtEAaNoUPov3KAs5+JxSB7hZHpQoGh8yr/h67F7sOV6d3oFf56UQ2 G3hTwRpwczsnha0IGMoWYjOXj2OMup0xsWIBrmSX9l2PJ6Zc5NCehWJZqajIcVatfZgR 1mB8KCuY5+NArSHbwtQ8caNsZN8sGSDZ5Xm2YOvnwDYxjLvwOKWtNeM1j73d3dXLlhkw s7Hf8ozODvXTxmk/lccMRK7AsYSQIHBYT7IfaKLgku9fwZFz4i+7Um96NtHqpr2yVwjB EzuGVSuf36bcusNJuEYbJq7W9uiAdaYMDiJYRdFBTFVbLrlEpweKhTFMr7qJ/qN53J2d 8EPg== X-Gm-Message-State: ACgBeo1lY08WsDa0ypjuwvmK2/Cj61LUt49omUaBcirJ4ytyni5Ch0wu FfIPQ4slm3SGmvapN2/e5PI0JLfmVG7Gv0xl X-Google-Smtp-Source: AA6agR7m0qfBi7t8yncqjsa6Qpl5mk/UqtBukjHj1t2so2uBCYbnOVR8BSLUFRn1jWJRRxWQZmOvWA== X-Received: by 2002:a05:6102:5094:b0:388:c1dd:1f24 with SMTP id bl20-20020a056102509400b00388c1dd1f24mr1602942vsb.44.1661626586032; Sat, 27 Aug 2022 11:56:26 -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 a125-20020a671a83000000b003903bddc3e4sm601863vsa.9.2022.08.27.11.56.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:25 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:42 -0400 Message-Id: <9c0d1272c936807806d05b5dfdd33403f9e7f336.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Excplicitly set the user write bit when initializing the gifs or math directories from the skeletons installed in the store. See also upstream discussion at . This problem would be exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 3 ++ .../stex-copy-from-immutable-store.patch | 41 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch diff --git a/gnu/local.mk b/gnu/local.mk index 26dfb6afe2..558fed8a0d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1821,6 +1821,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ + %D%/packages/patches/stex-copy-from-immutable-store.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 043f2ae47a..812d41fc5b 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -613,6 +613,9 @@ (define-public stex-bootstrap (sha256 (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp")) (file-name (git-file-name name version)) + (patches + ;; submitted upstream in https://github.com/dybvig/stex/pull/6 + (search-patches "stex-copy-from-immutable-store.patch")) (snippet #~(for-each delete-file '("sbin/install" "doc/stex.pdf" "doc/stex.html"))))) diff --git a/gnu/packages/patches/stex-copy-from-immutable-store.patch b/gnu/packages/patches/stex-copy-from-immutable-store.patch new file mode 100644 index 0000000000..4562e431c1 --- /dev/null +++ b/gnu/packages/patches/stex-copy-from-immutable-store.patch @@ -0,0 +1,41 @@ +From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 28 Apr 2022 22:56:20 -0400 +Subject: [PATCH] fix read-only gifs and math directories + +An installed copy of stex might have all write permission bits removed, +even for the owner of the installed files: this is the case with Guix +package of stex, for example. If such an installation is used to +initialize the gifs or math directories (e.g. for an out-of-source +build), tar likewise creates them without write permissions, preventing +subdirectories from being created later. Set the user write bit +explicitly to avoid this problem. + Mf-stex + +Related to https://github.com/racket/racket/pull/4203 +--- + +Submitted upstream in https://github.com/dybvig/stex/pull/6 + + Mf-stex | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Mf-stex b/Mf-stex +index 09ec6f3..11fb214 100644 +--- a/Mf-stex ++++ b/Mf-stex +@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles) + + gifs: + (cd $(STEXLIB); tar -cf - gifs) | tar -xpf - ++ chmod u+w gifs + + math: + (cd $(STEXLIB); tar -cf - math) | tar -xpf - ++ chmod u+w math + + $(mathfiles): $(x).hthirdrun $(figps) + echo -n gifs= > $(mathfiles) +-- +2.32.0 + -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 03/14] etc: teams: Add racket team. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162661331635 (code B ref 57050); Sat, 27 Aug 2022 18:57:03 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:53 +0000 Received: from localhost ([127.0.0.1]:57045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zE-0008EA-JH for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:52 -0400 Received: from mail-ua1-f48.google.com ([209.85.222.48]:37689) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0yy-0008D2-0w for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:37 -0400 Received: by mail-ua1-f48.google.com with SMTP id e3so1682942uax.4 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=nX8b0wPN+u0l/GepPJg+/mKbwBeLMJ6Tlrf8OY2HN1w=; b=X34ncOut+xO+Ak1lEH7SpWZHte9YA7DPeX4u50OV6R8vCHtAL7+qLPtqiU684vfrFm 0QikYxnqK3hO3u7gHeK71CzzTBQsRM/rjCORiPxtLY9fQE+N6HaoG/NiZun4U0D+e3/m kL+rSipYtX/YwkAAQg0vhcjuJf0NSk0QVl1i+vJ6scufsKwyXiSiZCnamF44P5YHZzk/ 9ab6Z2Hh41sysq323Q5tJ1sikRanZWOyU1/BnwjsDylORcnn5mOOZQr1docJHdLWi9bP KpE/OydUN3+ylpiZfxbBTAHcfUYOtpPHtcRv7jsSx1NlljgrO2ha1DY91CuzE99vR7pl r2eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=nX8b0wPN+u0l/GepPJg+/mKbwBeLMJ6Tlrf8OY2HN1w=; b=n0zuyU9LHl1vanaWxOdd2/2/5ywsHCZJHJfYp1cKZtVwNKBC31T7D62BIaVN+AhLNa frJXP4F72IgRs6w/S4eaRiNeqwayrJi61DVzKQIk5V1KojT6LEGUVZsxboxrUZv3I1GF 2GtNjGhi0vJreSJ9IzQeBzVBH8tsDLTYnxf6GnVPx+3AaRxq+ZhfzyXaGBPTEaOYD2AL ZwqDT3Spm/zyqmmipw6PaQfPVy+ByfPezjQNP7LAPRlnBV3tI6vpfznVLbOdzN2OpvMn sGpiElFEf4/NJ76wwZwUxQFi7JWrfPS+/CxwsQsS8brdMf3XZHIV5bezeUDFZFbR8psd 1RUQ== X-Gm-Message-State: ACgBeo1932eteo5mGvT09gq0mK1ylwJtS2mJ7M2tKU6L10kag6Q2MeFb ur/fw3Hcg63zkf4QwIPCaNvorzbF3oTGuW/E X-Google-Smtp-Source: AA6agR5F0RJedhaJomIkhnuDHwuMJcwycq4Nu0fQzo0GSazp6fDx9Mfw478RzWDvetBNbzMyEyvlSQ== X-Received: by 2002:ab0:2684:0:b0:38d:25e:9444 with SMTP id t4-20020ab02684000000b0038d025e9444mr1443888uao.92.1661626590514; Sat, 27 Aug 2022 11:56:30 -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 d190-20020a1fe6c7000000b003854855392bsm731450vkh.30.2022.08.27.11.56.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:30 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:43 -0400 Message-Id: <55e51008769c8622525f4a935ccc5d75885b5245.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in (racket): New team. --- etc/teams.scm.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index c99d794697..e2eb5048f6 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -185,6 +185,14 @@ (define-team mozilla "Taking care about Icecat and Icedove, built from Mozilla Firefox and Thunderbird.")) +(define-team racket + (team 'racket + #:name "Racket team" + #:description + "The Racket language and Racket-based languages, Racket packages, +Racket's variant of Chez Scheme, and development of a Racket build system and +importer.")) + (define-member (person "Thiago Jung Bauermann" "bauermann@kolabnow.com") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162661331643 (code B ref 57050); Sat, 27 Aug 2022 18:57:04 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:53 +0000 Received: from localhost ([127.0.0.1]:57047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zE-0008EC-Ur for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:53 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:41734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0z6-0008Df-PH for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:45 -0400 Received: by mail-vs1-f41.google.com with SMTP id k2so4666157vsk.8 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=zh/Tp+3ORrasgKkcLxEkrCSbNxjvWOrzb6PDcb/hl00=; b=TFOuidhqSEjQkF/FuFihcDBSio1v1ujz+CokH8johPugipJVY91O2NgzSwZDeOJbQ5 QYQpTCH1Sxlout2JZ4jmWEX3xwE0/gRSl3hK+6p6IRlP1QKGnjZzNV/TO38fp9/pqs7A AO9rdnutgocZXC/J4c54HnrGourMN2fR0lGVuOXBrj6LUfIJY+4maPssOvewVNJiU4z4 yrse4/wNP2RUOtpfFKKuiyJ18W1kldWT01wf8/VRL+r50VYO0QMPnJTDzt3yjUtfR+cH 8+A/B7mF1dxJgrQD1ydTSpcgGskuyYlkn76FYrj9Wk8b5hhVD9DtsH4ZKmYFd6XfF7dj PVeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=zh/Tp+3ORrasgKkcLxEkrCSbNxjvWOrzb6PDcb/hl00=; b=ACROYwtongjrEYR5PXvRSfprgtpnQIhD5ssfs4m6xq6kjJjNS9OxP8OCRjbWl8lEyC Z5pkyo5PFTF5RDOc1BJ9bg9zE5BD7ErUTowPp75pPosjSyUzIbZAE37Ql55WmpAMqeFO pUz9CCoyuO15v9ZGfDZqQwZOS1A6JqgrSG9xUjTJpyn3k62UOabFbiR+VPHemAC6gfTq D7+7V5vdakHQeSI9tGyKGj/FC63Y5eYcrrLd5tHaas6Ys3xs/4vTUrdTH4aUPTepsZ1e 72Ff0gv/NCs4s9sXyGD3gDypsB0o/3vmxKOULG47SbSymLxMym+AdtASAujitqk5sW7r 0nRg== X-Gm-Message-State: ACgBeo0Om5s9cW8pHsknb/Htj/B1EH8Y0yzzHuo5TfFDEQM1mT1CPF07 qPQNQFtmFTbHEk3ib4ssrJjFtopXsPJz0+S/ X-Google-Smtp-Source: AA6agR5dnQjJ4lY+9tKUW7VpZbC4YEuNOr47EaQsc3c5vJB3+2OrOL0fJg3uqSygXlCrx+q0L9m+1g== X-Received: by 2002:a67:1ac6:0:b0:38c:95f2:c141 with SMTP id a189-20020a671ac6000000b0038c95f2c141mr1514463vsa.77.1661626599064; Sat, 27 Aug 2022 11:56: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 x2-20020a67fc82000000b00385d88375f4sm700321vsp.32.2022.08.27.11.56.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:38 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:45 -0400 Message-Id: <05bbd3ccda12d47c22c6df15b505ba76e7facebd.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may not be The Right Thing in the long term, but it at least avoids a proliferation of 'CPPFLAGS'. * gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ... * gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and change to use '_PATH_BSHELL'. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/racket.scm (%racket-origin)[patches]: Likewise. (racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change to a constant instead of a function, since we no longer need the delay. (racket-vm-cgc, racket-vm-bc, racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly. [inputs]: Remove 'bash-minimal'. --- gnu/local.mk | 2 +- ...-rktio.patch => racket-rktio-bin-sh.patch} | 60 +++++++++---------- gnu/packages/racket.scm | 15 ++--- 3 files changed, 35 insertions(+), 42 deletions(-) rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (54%) diff --git a/gnu/local.mk b/gnu/local.mk index 558fed8a0d..fae32a11e5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1768,7 +1768,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ - %D%/packages/patches/racket-minimal-sh-via-rktio.patch \ + %D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch b/gnu/packages/patches/racket-rktio-bin-sh.patch similarity index 54% rename from gnu/packages/patches/racket-minimal-sh-via-rktio.patch rename to gnu/packages/patches/racket-rktio-bin-sh.patch index 6bc2ee8331..ec6f0d9c56 100644 --- a/gnu/packages/patches/racket-minimal-sh-via-rktio.patch +++ b/gnu/packages/patches/racket-rktio-bin-sh.patch @@ -1,7 +1,7 @@ -From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001 +From 6a553f24439fe64fd3a2f0b5902f00590ca4241f Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Thu, 4 Mar 2021 04:11:50 -0500 -Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix +Subject: [PATCH] rktio: patch rktio_process for "/bin/sh" on Guix Racket provides the functions `system` and `process`, which execute shell commands using `sh` (or `cmd` on Windows). @@ -12,37 +12,38 @@ This patch adds a special case for "/bin/sh" to `rktio_process`, the C function that implements the core of `system`, `process`, and related Racket functions. -Guix should enable the special case by defining the C preprocessor -macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store. If: - 1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and 2. `rktio_process` is called with the exact path "/bin/sh"; and - 3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists; + 3. The file specified by `_PATH_BSHELL` exists; -then `rktio_process` will execute the file specified -by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh". +then `rktio_process` will execute the file specified by `_PATH_BSHELL` +instead of "/bin/sh". -Compared to previous attempts to patch the Racket sources, -making this change at the C level is both: - - - More comprehensive: it catches all attempts to execute "/bin/sh", - without having to track down the source of every occurance; and - - - Less intrusive: by guarding the special case with a C preprocessor - conditional and a runtime check that the file in the store exists, - we make it much less likely that it will "leak" out of Guix. +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. --- - racket/src/rktio/rktio_process.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) + racket/src/rktio/rktio_process.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c -index 89202436c0..465ebdd5c5 100644 +index fafaf728c1..796ebc59ce 100644 --- a/racket/src/rktio/rktio_process.c +++ b/racket/src/rktio/rktio_process.c -@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) +@@ -9,6 +9,7 @@ + # include + # include + # include ++# include /* PATCHED for Guix */ + # ifdef USE_ULIMIT + # include + # endif +@@ -1301,12 +1302,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) /*========================================================================*/ rktio_process_result_t *rktio_process(rktio_t *rktio, @@ -58,22 +59,17 @@ index 89202436c0..465ebdd5c5 100644 rktio_process_result_t *result; intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2]; int pid; -@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, +@@ -1333,6 +1336,18 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, int i; #endif +/* BEGIN PATCH for Guix */ -+#if defined(GUIX_RKTIO_PATCH_BIN_SH) -+# define GUIX_AS_a_STR_HELPER(x) #x -+# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x) -+ /* A level of indirection makes `#` work as needed: */ ++#if defined(_PATH_BSHELL) + command = + ((0 == strcmp(_guix_orig_command, "/bin/sh")) -+ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH))) -+ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH) ++ && rktio_file_exists(rktio, _PATH_BSHELL)) ++ ? _PATH_BSHELL + : _guix_orig_command; -+# undef GUIX_AS_a_STR -+# undef GUIX_AS_a_STR_HELPER +#else + command = _guix_orig_command; +#endif @@ -82,6 +78,8 @@ index 89202436c0..465ebdd5c5 100644 /* avoid compiler warnings: */ to_subprocess[0] = -1; to_subprocess[1] = -1; + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f -- -2.21.1 (Apple Git-122.3) +2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 3399bcc3fe..319f63f9d2 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -36,7 +36,6 @@ (define-module (gnu packages racket) #:use-module (ice-9 match) #:use-module (gnu packages) #:use-module (gnu packages autotools) - #:use-module (gnu packages bash) #:use-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages databases) @@ -212,7 +211,7 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-minimal-sh-via-rktio.patch")) + (patches (search-patches "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -232,8 +231,7 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) -(define (racket-vm-common-configure-flags) - ;; under a lambda abstraction to avoid evaluating bash-minimal too early. +(define racket-vm-common-configure-flags #~`(,@(cond ((false-if-exception (search-input-file %build-inputs "/bin/libtool")) @@ -248,8 +246,6 @@ (define (racket-vm-common-configure-flags) (list (string-append "--enable-racket=" racket)))) (else '())) - ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" - #$(file-append bash-minimal "/bin/sh")) "--disable-strip" ;; Using --enable-origtree lets us distinguish the VM from subsequent ;; layers and produces a build with the shape expected by tools such as @@ -267,7 +263,6 @@ (define-public racket-vm-cgc (version %racket-version) (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) - bash-minimal ;; <- common to all variants (for `system`) libffi)) ;; <- only for BC variants (native-inputs (list libtool)) ;; <- only for BC variants (outputs '("out" "debug")) @@ -276,7 +271,7 @@ (define-public racket-vm-cgc (list #:configure-flags #~(cons "--enable-cgcdefault" - #$(racket-vm-common-configure-flags)) + #$racket-vm-common-configure-flags) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -359,7 +354,7 @@ (define-public racket-vm-bc (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) #~(cons "--enable-bconly" - #$(racket-vm-common-configure-flags))))) + #$racket-vm-common-configure-flags)))) (synopsis "Racket BC [3M] implementation") (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written @@ -405,7 +400,7 @@ (define-public racket-vm-cs #$(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") - #$(racket-vm-common-configure-flags))))) + #$racket-vm-common-configure-flags)))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 04/14] etc: teams: Add entry for Philip McGrath. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162661431651 (code B ref 57050); Sat, 27 Aug 2022 18:57:04 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:54 +0000 Received: from localhost ([127.0.0.1]:57050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zF-0008EK-M1 for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:54 -0400 Received: from mail-vs1-f43.google.com ([209.85.217.43]:46994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0z2-0008DC-7r for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:46 -0400 Received: by mail-vs1-f43.google.com with SMTP id d126so4664958vsd.13 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=4F621n76sskPxin487rlQnOvILrXbSQuRKsoo6z/anA=; b=ccv6r2RpRLgQUUu4KFugiAwWFEm58N/Yt1qPRVBBQjBc/cS+l8JhUyhdH5itAoxDZ4 lKicnbVNktNFdA+rdmR7Yaa6oyOIsj+xzhiUYgDkg05ULq7C14N9aHIayivA0xEQ1I/c Hw2FyZ2s6Xzi7SXil+98C1TO2mX/1GbgLM+q2PW8StKPtacueRSA6ZAENszacnmCgaUY DQ9yzqf5YscaKRZLTu5T1dWEimcdzEVn9M+HimntDri3/dk9mgEUTq9iiyv3k7ndQS8Q qRv77yPiQzimYwqxvoyYEUPT1RhgH02XNki4hg19kUwLvOUWzUne1sQW48pqeNfbnRvU oI/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=4F621n76sskPxin487rlQnOvILrXbSQuRKsoo6z/anA=; b=RmcT67vciMFXfs6mH8IP824Ae1BYmc6VOWvHSJMguitXWszUut4PuolLyf6VVPHFQp 4umBisv1xgnkcyHH9Fmme9MQWk9isJUaUFp4+0hSH/gOI7su+VnmfxbJ2jodH56Ro4ZB 7qMRz6fQE5K3ZArC+/AJokBd4iyMR+hr1X0DMMnmUjX0rK3aWXkB9wji52qXQP/cUoGl V4xVH5BUTttSCqDaKddfCM9uRMTEtqzpKWprZlEOZzZAA577apiR3gQsehSYwyBzR0e3 9+XGgN0MoUfDCiRv24Dv5i0EqtCm1vtiOqF8RJsoH+aYKCnK0+SMprFcUAIr3c5rGWxE KWjg== X-Gm-Message-State: ACgBeo1VtktLcp//TDupZtAzsdLhrlryl8wNNNRsqbNauC58wcHPae7O /lBXV0OFmSeuOq/Vo4rwaR3SRnxxlTH3NdsN X-Google-Smtp-Source: AA6agR6ycXIKh3Mcph0Wgl7VvOO9QlG0LlBpvOxjQVehEJ7NHo9uJ9WC7bEQEnqgnUn9n/XpfJSjig== X-Received: by 2002:a05:6102:e07:b0:388:43ae:cb33 with SMTP id o7-20020a0561020e0700b0038843aecb33mr1487506vst.38.1661626594734; Sat, 27 Aug 2022 11:56:34 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id s15-20020a1f900f000000b0038cecab7424sm722009vkd.56.2022.08.27.11.56.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:34 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:44 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * etc/teams.scm.in ("Philip McGrath"): New member. --- etc/teams.scm.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index e2eb5048f6..38b7ab8e1d 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -238,6 +238,10 @@ (define-member (person "Julien Lepiller" "julien@lepiller.eu") java ocaml translations) +(define-member (person "Philip McGrath" + "philip@philipmcgrath.com") + racket) + (define-member (person "Mathieu Othacehe" "othacehe@gnu.org") core installer mentors) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 06/14] gnu: chez-scheme: Fix use of "/bin/sh". Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162661531660 (code B ref 57050); Sat, 27 Aug 2022 18:57:04 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:56:55 +0000 Received: from localhost ([127.0.0.1]:57053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zG-0008ES-7s for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:55 -0400 Received: from mail-vs1-f51.google.com ([209.85.217.51]:46077) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zB-0008Dk-6B for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:49 -0400 Received: by mail-vs1-f51.google.com with SMTP id m66so4660213vsm.12 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=fyJnmMnKmtISB2rntIQ/ske5rbxAqlvQx/iOqGlMAvs=; b=dJI6fk9RqryTNn5lfjE7pTEzYy1ORH46eDs3uobnoT9FKy/+J+1l0mzVcPGnWEFyuG 4jfSnMkgFltJonyWEqRZ1nMa1Q4VWXPv53tunKfdUTIqWWQepFTX9vdkyVvVTzsPuacZ 6aem9rrsWQ/qg+Ee5pzNqFRCYzVr0FWHJEtJMeOAlzxiuUQsZMCcFkXrnhmPAO2oRl3x H7ufkgGPLz097qlPlYCONKbsfModFMZKaxfqbus9UBkjJYVMTaAT8yAOJV/BffAc6CT7 PSBRXWPCiCoFE843eE+na4ZCRFKNdaBx+4prWtTHPUPukwXYK5M4qMHZ8/dUBoPPnzte Y37Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=fyJnmMnKmtISB2rntIQ/ske5rbxAqlvQx/iOqGlMAvs=; b=hob1DT67U4h2jDfdnraJUI2RnWBtNjG2Tfy7XudyhUbnAL7OGXV+PcYc13rCU3Fgbt bzgrvs8H7/sGozyq8TiMCYOAbQTo5/lz8Pv5L0NAagDmjtith02x6yAcwmsyDUmP27Tb ut7y+ed+eFexRdqyEj2ff2D6Z1YT/aWBIZZQix8jP23EYPi9155MWuKssMHKtFXRKzRu d7pimTxb9DgHvOvt3knF2ghxds+vuP2UzXCET/JVagb3cX/VD+HwcfbVcrk1tmSTmeoI x2psAHaNpTaMtVWQ+q8oOjA4pucnnYRk1WEY/FR24AoE79c++v6d3pbtlencQ9i6lzLv Xsjg== X-Gm-Message-State: ACgBeo3PpxiiBG3aAfiSl5pOI0SgN0mYERYNybjbsgjUfZXHhQVmN/ii McfzNWuf6lmQ7BMWaNeJGnGmDpbIxlqD91g7 X-Google-Smtp-Source: AA6agR4Ax9N52lK3ntJS2LzK8OHCrGNJAuBIkVt/0opJhvWTK3gbO99o/3SA5o/AdaOlr1aVFRK3vQ== X-Received: by 2002:a67:e1cc:0:b0:390:8df1:e013 with SMTP id p12-20020a67e1cc000000b003908df1e013mr1478574vsl.19.1661626603495; Sat, 27 Aug 2022 11:56: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 k143-20020a1fa195000000b0038030db4c79sm861725vke.54.2022.08.27.11.56.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:43 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:46 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process' function seems to have caused parts of the Chez Scheme test suite to have been silently skipped. The issue was exposed by the upcoming changes to Racket's build system. * gnu/packages/patches/chez-scheme-bin-sh.patch, gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Update accordingly. * gnu/packages/chez.scm (chez-scheme)[origin]: Likewise. --- gnu/local.mk | 2 + gnu/packages/chez.scm | 1 + gnu/packages/patches/chez-scheme-bin-sh.patch | 76 +++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 76 +++++++++++++++++++ gnu/packages/racket.scm | 3 +- 5 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index fae32a11e5..babd54c8c6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -941,6 +941,7 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-rocksdb-compat.patch \ %D%/packages/patches/cheese-vala-update.patch \ + %D%/packages/patches/chez-scheme-bin-sh.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ @@ -1768,6 +1769,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.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 812d41fc5b..c627c4d842 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -269,6 +269,7 @@ (define-public chez-scheme (base32 "0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc")) (file-name (git-file-name name version)) + (patches (search-patches "chez-scheme-bin-sh.patch")) (snippet #~(begin (use-modules (guix build utils)) ;; TODO: consider putting this in a (guix ...) or diff --git a/gnu/packages/patches/chez-scheme-bin-sh.patch b/gnu/packages/patches/chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..7650914f01 --- /dev/null +++ b/gnu/packages/patches/chez-scheme-bin-sh.patch @@ -0,0 +1,76 @@ +From 3c838e6a0c3214d95bf02048cddccfd1b69a679f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 19 May 2022 13:41:56 -0400 +Subject: [PATCH] patch s_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. The path specified by `_PATH_BSHELL` exists; + +then `s_process` will call `execl` with the file specified by +`_PATH_BSHELL` instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + c/prim5.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/c/prim5.c b/c/prim5.c +index 5a07893..bc2736c 100644 +--- a/c/prim5.c ++++ b/c/prim5.c +@@ -23,6 +23,12 @@ + #include + #include + ++/* BEGIN PATCH for Guix */ ++#ifndef WIN32 ++# include ++#endif ++/* END PATCH for Guix */ ++ + /* locally defined functions */ + static INT s_errno(void); + static iptr s_addr_in_heap(uptr x); +@@ -746,6 +752,17 @@ static ptr s_process(char *s, IBOOL stderrp) { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(_PATH_BSHELL) ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(_PATH_BSHELL, &guix_stat_buf)) ++ ? _PATH_BSHELL ++ : "/bin/sh"; ++#else /* _PATH_BSHELL */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -771,7 +788,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9df56e7b25bc523663eac3da24be33afc5f76c84 +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch new file mode 100644 index 0000000000..65cf2f99f3 --- /dev/null +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -0,0 +1,76 @@ +From e982b6687494bf071386c67be74e57a29cf4ce00 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 24 Aug 2022 19:55:14 -0400 +Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. The path specified by `_PATH_BSHELL` exists; + +then `s_process` will call `execl` with the file specified by +`_PATH_BSHELL` instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. + +This patch does not change the behavior of `s_system`, which relies +on `system` from the C library. +--- + racket/src/ChezScheme/c/prim5.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index f5e3e345be..922421ca75 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -22,6 +22,12 @@ + #include + #include + ++/* BEGIN PATCH for Guix */ ++#ifndef WIN32 ++# include ++#endif ++/* END PATCH for Guix */ ++ + /* locally defined functions */ + static INT s_errno PROTO((void)); + static IBOOL s_addr_in_heap PROTO((uptr x)); +@@ -856,6 +862,17 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + + INT tofds[2], fromfds[2], errfds[2]; + struct sigaction act, oint_act; ++ /* BEGIN PATCH for Guix */ ++#if defined(_PATH_BSHELL) ++ struct stat guix_stat_buf; ++ char *guix_sh = ++ (0 == stat(_PATH_BSHELL, &guix_stat_buf)) ++ ? _PATH_BSHELL ++ : "/bin/sh"; ++#else /* _PATH_BSHELL */ ++ char *guix_sh = "/bin/sh"; ++#endif ++ /* END PATCH for Guix */ + + if (pipe(tofds)) S_error("process","cannot open pipes"); + if (pipe(fromfds)) { +@@ -881,7 +898,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +- execl("/bin/sh", "/bin/sh", "-c", s, NULL); ++ /* BEGIN PATCH for Guix */ ++ execl(guix_sh, guix_sh, "-c", s, NULL); ++ /* END PATCH for Guix */ + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ + } else { + +base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 319f63f9d2..0f766e7850 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -211,7 +211,8 @@ (define %racket-origin (sha256 (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 08/14] gnu: racket: Update to 8.6. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665131822 (code B ref 57050); Sat, 27 Aug 2022 18:58:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:31 +0000 Received: from localhost ([127.0.0.1]:57069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zo-0008H8-Js for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:31 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:41734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zF-0008Df-Fn for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:57 -0400 Received: by mail-vs1-f41.google.com with SMTP id k2so4666459vsk.8 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=dFokJX0s1m+1qxfOXzekmKo926uL1m2KwnI17zzvDdg=; b=cBmzlB4T1s74VjjGGyt1ugB5YCUAoHngLMDPU2lrU3Wmec9u2fbZn22R40pdIxcC23 VTczFUuXRRrOSYRA3xQO/lvKrpSf77Bih5xxdNP/RP28MhvfVxsdt7enHXGubjFRoYpK ielzED0Ah4Pce35LjJYqsyK0YmSkB6yVLdkZSDekA+NYg7BJPvyUdGvXD9XeEFy7U2e1 1/iuw55gjq2pRGlVBZ2REFE+0sB5gtkWQYl5o4HEroXVpchglcQj9kDJjN8krI0RWiQw umxC42MPalpbxSUXVVObKTdFT++HThDQbC9v3isSftM3fCEIMEnSpkb1C8FgS5WprK20 h4Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=dFokJX0s1m+1qxfOXzekmKo926uL1m2KwnI17zzvDdg=; b=c5nfT5bcU5uSGzEBvM/ATMZ1nSsjv5WG6goS9IUXiOKqb4ek6Av7VoQpUsdZh/POK8 ucyXzymFXjtBSMjHXEOusN5zlXx4ytWIKc3GPKgwnUTSd1YkfiTLNK3I+LzDHPinYTpZ VXvMjGqn58FMYtwtnFKfAOQBxH9uiQ0pmxcmDoNAWo1gp6oXcKDZyYBGItl6TkYdAq9q 4dAvwxTU2n1lmXLXCL+R6Axx8Yq670toIkqW3p8H17IjEFqWRlL/xxOtjSjFM15fLnWr /FzvG2o+sXyWrkMfajvaBjnh7GAyTZPoQaBAG1IwI9aJrc1AGgCDwMtK4PKi+VMbbaUJ RG9g== X-Gm-Message-State: ACgBeo26tnnbx8rmJOcmrNysBNatB6hrZ1QABV/LiABbTevJv/DA1QIh x6Ikjh9+7NM2Tj6iHdAH5gWkpo+EXArMXJJP X-Google-Smtp-Source: AA6agR7P+Kz4w+bdXoY4FKPD73GqzG/uDN4ko8VGZ2eTm2AdA9TWOEuq4rnvtDJIDqKogoO+Z5JS0w== X-Received: by 2002:a67:ab46:0:b0:38a:c3cf:a7d2 with SMTP id k6-20020a67ab46000000b0038ac3cfa7d2mr1490214vsh.84.1661626612487; Sat, 27 Aug 2022 11:56: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 c32-20020a0561023ca000b0038a9fbef45fsm592257vsv.11.2022.08.27.11.56.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:52 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:48 -0400 Message-Id: <75705f7ebdc1bbacbc79b98020533bb0a7417443.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Also, update 'chez-scheme-for-racket' to 9.5.9.2. * gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch. * gnu/packages/patches/racket-backport-8.6-cross-install.patch, gnu/packages/patches/racket-backport-8.6-docindex-write.patch, gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the patches for Zuo. (%racket-version): Update to 8.6. (zuo)[version]: Refer to '%racket-version'. [origin]: Use '%racket-origin'. (racket-vm-cgc)[native-inputs]: Add 'zuo'. [arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'. (racket)[inputs]: Update checksums. * gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX. (%chez-features-table): Likewise. (chez-scheme-for-racket): Update to 9.5.9.2. [native-inputs]: Add 'zuo'. [arguments]<#:out-of-source?>: Use out-of-source build. <#:tests?>: Skip them due to ongoing problems. <#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='. <#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here, rather than in a phase. <#:phases>: Replace 'install-docs' using new 'make' target. --- gnu/packages/chez.scm | 52 +- .../racket-backport-8.6-cross-install.patch | 126 ++++ .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 26 +- gnu/packages/racket.scm | 121 ++-- 6 files changed, 893 insertions(+), 77 deletions(-) create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index c627c4d842..b59398578a 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -115,7 +115,7 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ((target-linux? system) "le") ((target-hurd? system) - #f) + "gnu") ((target-mingw? system) "nt") ;; missing (guix utils) predicates @@ -131,6 +131,8 @@ (define* (target-chez-os #:optional (system (or (%current-target-system) ;; Nix says "x86_64-solaris", but accommodate "-solaris2" ((string-contains system "solaris") "s2") + ((string-suffix? "-qnx" system) + "qnx") ;; unknown (else #f))) @@ -167,6 +169,9 @@ (define %chez-features-table ("arm32" bootstrap-bootfiles) ("arm64" . #f) ("ppc32" threads)) + ;; Hurd + ("gnu" + ("i3" . #f)) ;; FreeBSD ("fb" ("i3" threads) ;; commented out @@ -192,6 +197,9 @@ (define %chez-features-table ("s2" ("i3" threads) ;; commented out ("a6" threads)) ;; commented out + ;; QNX + ("qnx" + ("i3" . #f)) ;; Windows ("nt" ("i3" threads bootstrap-bootfiles) @@ -433,7 +441,7 @@ (define-public chez-scheme-for-racket (package (inherit chez-scheme) (name "chez-scheme-for-racket") - (version "9.5.7.6") + (version "9.5.9.2") ;; 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! @@ -444,18 +452,52 @@ (define-public chez-scheme-for-racket (delete "libx11" "util-linux:lib"))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) + (prepend zuo) (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) + ((#:out-of-source? _ #f) + #t) + ((#:tests? _ #t) + ;; FIXME: There have been some flaky test failures. Some have been + ;; fixed upstream post-release but have proven non-trivial to + ;; backport; at least one issue remains. Re-enable tests once + ;; https://github.com/racket/racket/issues/4359 is fixed. + #f) ((#:configure-flags cfg-flags #~'()) - #~(cons* "--disable-x11" - "--threads" ;; ok to potentially duplicate - #$cfg-flags)) + #~`("--disable-x11" + "--threads" ;; ok to potentially duplicate + ,@(let* ((chez+version (strip-store-file-name #$output)) + (doc-prefix (assoc-ref %outputs "doc")) + (doc-dir (string-append doc-prefix + "/share/doc/" + chez+version))) + (list (string-append "--installcsug=" + doc-dir + "/csug") + (string-append "--installreleasenotes=" + doc-dir + "/release_notes"))) + ,@#$cfg-flags)) + ((#:make-flags mk-flags #~'()) + #~(cons* (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo") + (string-append "STEXLIB=" + #+(this-package-native-input "stex") + "/lib/stex") + #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) (unpack (assoc-ref those-phases 'unpack))) (modify-phases those-phases + (replace 'install-docs + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke + "make" + "install-docs" + make-flags))) (replace 'unpack (lambda args (unpack #:source #$(or (package-source this-package) diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch new file mode 100644 index 0000000000..2c4d8924ed --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -0,0 +1,126 @@ +From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 30 Jul 2022 07:06:55 -0600 +Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross + compilation + +Closes #4377 + +(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5) +--- + racket/src/cs/c/build.zuo | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo +index 8d3950bb27..d8b74c509d 100644 +--- a/racket/src/cs/c/build.zuo ++++ b/racket/src/cs/c/build.zuo +@@ -1016,10 +1016,9 @@ + (define (setup) + (call-with-dest-racket + (lambda (bindir dest-racket) +- (define copytree-racket (and cross? (config-bootstrap-racket))) ++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket))) + (maybe-copytree config dest-racket copytree-racket at-dir) +- (run-raco-setup config dest-racket +- (and cross? (hash-ref (config-bootstrap-racket) 'racket)) ++ (run-raco-setup config dest-racket copytree-racket + ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`, + ;; but redundant should be ok: + (list "-MCR" (~a (at-dir "compiled") ":") +-- +2.32.0 + + +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Mon, 15 Aug 2022 10:37:01 +0800 +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build + +Don't assume a cross build for a pb target on a platform that's only +supported via pb. + +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) + +(Edited to remove unrelated tweak to comments in +"racket/src/expander/expand/require+provide.rkt".) +--- + racket/src/cs/c/configure | 15 +++++++++++---- + racket/src/cs/c/configure.ac | 15 +++++++++++---- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..7e0fa5600d 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..734c1e8feb 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-docindex-write.patch b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch new file mode 100644 index 0000000000..abe1984507 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-docindex-write.patch @@ -0,0 +1,36 @@ +From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sun, 17 Jul 2022 22:51:44 -0400 +Subject: [PATCH] racket-index: set write permission when copying + `docindex.sqlite` + +Fixes https://github.com/racket/racket/issues/4357 + +(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2) +--- + pkgs/racket-index/setup/scribble.rkt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt +index 6694f0b793..e27a8fa348 100644 +--- a/pkgs/racket-index/setup/scribble.rkt ++++ b/pkgs/racket-index/setup/scribble.rkt +@@ -252,7 +252,14 @@ + (unless (file-exists? db-file) + (define-values (base name dir?) (split-path db-file)) + (make-directory* base) +- (when copy-from (copy-file copy-from db-file)) ++ (when copy-from ++ (copy-file copy-from db-file) ++ ;; we might not have write permissions for the previous layer: ++ ;; ensure that we do for the new file ++ (define orig-mode (file-or-directory-permissions db-file 'bits)) ++ (define writeable-mode (bitwise-ior user-write-bit orig-mode)) ++ (unless (= writeable-mode orig-mode) ++ (file-or-directory-permissions db-file writeable-mode))) + (doc-db-disconnect + (doc-db-file->connection db-file #t)))) + (when (or (ormap can-build*? main-docs) +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-backport-8.6-hurd.patch b/gnu/packages/patches/racket-backport-8.6-hurd.patch new file mode 100644 index 0000000000..d593b01e62 --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-hurd.patch @@ -0,0 +1,609 @@ +From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 3 Aug 2022 03:13:03 -0400 +Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd + +Mostly GNU/Hurd should take the same options as GNU/Linux. One +difference is that the Hurd does not define macros such as `PATH_MAX` or +`NOFILE`, because it avoids imposing arbitrary limits on such resources. +This patch provides alternatives for localized uses of those constants, +but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for +now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html. + +(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085) +--- + racket/src/ChezScheme/README.md | 1 + + racket/src/ChezScheme/c/number.c | 22 +++++++++---------- + racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++-- + racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------ + racket/src/ChezScheme/c/version.h | 7 ++++-- + racket/src/ChezScheme/configure | 17 ++++++++++----- + racket/src/ChezScheme/s/cmacros.ss | 1 + + racket/src/cs/c/configure | 14 ++++++++++-- + racket/src/cs/c/configure.ac | 14 ++++++++++-- + racket/src/cs/rumble/system.ss | 3 +++ + 10 files changed, 109 insertions(+), 39 deletions(-) + +diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md +index a4a11a5eef..25231dd9bb 100644 +--- a/racket/src/ChezScheme/README.md ++++ b/racket/src/ChezScheme/README.md +@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others): + * OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 + * Solaris: x86, x86_64 ++ * GNU/Hurd: x86 + * Android: ARMv7, AArch64 + * iOS: AArch64 + * WebAssembly via Emscripten (bytecode interpreter only) +diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c +index ede38cc626..e2bce0d2d3 100644 +--- a/racket/src/ChezScheme/c/number.c ++++ b/racket/src/ChezScheme/c/number.c +@@ -1041,15 +1041,15 @@ floating-point operations + + #ifdef IEEE_DOUBLE + /* exponent stored + 1024, hidden bit to left of decimal point */ +-#define bias 1023 +-#define bitstoright 52 +-#define m1mask 0xf +-#ifdef WIN32 +-#define hidden_bit 0x10000000000000 +-#else +-#define hidden_bit 0x10000000000000ULL +-#endif +-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE ++# define bias 1023 ++# define bitstoright 52 ++# define m1mask 0xf ++# ifdef WIN32 ++# define hidden_bit 0x10000000000000 ++# else ++# define hidden_bit 0x10000000000000ULL ++# endif ++# ifdef LITTLE_ENDIAN_IEEE_DOUBLE + struct dblflt { + UINT m4: 16; + UINT m3: 16; +@@ -1058,7 +1058,7 @@ struct dblflt { + UINT e: 11; + UINT sign: 1; + }; +-#else ++# else + struct dblflt { + UINT sign: 1; + UINT e: 11; +@@ -1067,7 +1067,7 @@ struct dblflt { + UINT m3: 16; + UINT m4: 16; + }; +-#endif ++# endif + #endif + + double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) { +diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c +index 124d1e049c..82bbf8d687 100644 +--- a/racket/src/ChezScheme/c/prim5.c ++++ b/racket/src/ChezScheme/c/prim5.c +@@ -23,6 +23,10 @@ + #include + #include + ++#if defined(__GNU__) /* Hurd */ ++#include ++#endif ++ + /* locally defined functions */ + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn); + static ptr s_system(const char *s); + static ptr s_process(char *s, IBOOL stderrp); + static I32 s_chdir(const char *inpath); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + static char *s_getwd(void); + #endif + static ptr s_set_code_byte(ptr p, ptr n, ptr x); +@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) { + CLOSE(0); if (dup(tofds[0]) != 0) _exit(1); + CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); + CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); ++#ifndef __GNU__ /* Hurd */ + {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} ++#else /* __GNU__ Hurd: no NOFILE */ ++ { ++ INT i; ++ struct rlimit rlim; ++ getrlimit(RLIMIT_NOFILE, &rlim); ++ for (i = 3; i < rlim.rlim_cur; i++) { ++ (void)CLOSE(i); ++ } ++ } ++#endif /* __GNU__ Hurd */ + execl("/bin/sh", "/bin/sh", "-c", s, NULL); + _exit(1) /* only if execl fails */; + /*NOTREACHED*/ +@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) { + static char *s_getwd() { + return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0))); + } ++#elif defined(__GNU__) /* Hurd: no PATH_MAX */ ++static char *s_getwd() { ++ char *path; ++ size_t len; ++ ptr bv; ++ path = getcwd(NULL, 0); ++ if (NULL == path) { ++ return NULL; ++ } else { ++ len = strlen(path); ++ bv = S_bytevector(len); ++ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len); ++ free(path); ++ return TO_VOIDP(&BVIT(bv, 0)); ++ } ++} + #endif /* GETWD */ + + static ptr s_set_code_byte(ptr p, ptr n, ptr x) { +@@ -1817,7 +1848,7 @@ void S_prim5_init(void) { + Sforeign_symbol("(cs)s_rational", (void *)S_rational); + Sforeign_symbol("(cs)sub", (void *)S_sub); + Sforeign_symbol("(cs)rem", (void *)S_rem); +-#ifdef GETWD ++#if defined(GETWD) || defined(__GNU__) /* Hurd */ + Sforeign_symbol("(cs)s_getwd", (void *)s_getwd); + #endif + Sforeign_symbol("(cs)s_chdir", (void *)s_chdir); +diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c +index ed5564540b..0c40e3eaf0 100644 +--- a/racket/src/ChezScheme/c/scheme.c ++++ b/racket/src/ChezScheme/c/scheme.c +@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char + static const char *path_last(const char *path); + static char *get_defaultheapdirs(void); + ++#ifdef PATH_MAX ++# define BOOT_PATH_MAX PATH_MAX ++#else /* hack for Hurd: better to remove the restriction */ ++# define BOOT_PATH_MAX 4096 ++#endif ++ + static const char *path_last(const char *p) { + const char *s; + #ifdef WIN32 +@@ -483,7 +489,7 @@ static const char *path_last(const char *p) { + + static char *get_defaultheapdirs() { + char *result; +- wchar_t buf[PATH_MAX]; ++ wchar_t buf[BOOT_PATH_MAX]; + DWORD len = sizeof(buf); + if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len)) + return DEFAULT_HEAP_PATH; +@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() { + * leaving the full path with name affixed in path and *sp / *dsp pointing + * past the current entry. it returns 1 on success and 0 if at the end of + * the search path. path should be a pointer to an unoccupied buffer +- * PATH_MAX characters long. either or both of sp/dsp may be empty, ++ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty, + * but neither may be null, i.e., (char *)0. */ + static IBOOL next_path(char *path, const char *name, const char *ext, + const char **sp, const char **dsp) { + char *p; + const char *s, *t; + +-#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) ++#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c) + for (;;) { + s = *sp; + p = path; +@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, const char *ext, + switch (*s) { + #ifdef WIN32 + case 'x': { +- wchar_t exepath[PATH_MAX]; DWORD n; ++ wchar_t exepath[BOOT_PATH_MAX]; DWORD n; + s += 1; +- n = GetModuleFileNameW(NULL, exepath, PATH_MAX); +- if (n == 0 || (n == PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { ++ n = GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX); ++ if (n == 0 || (n == BOOT_PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { + fprintf(stderr, "warning: executable path is too long; ignoring %%x\n"); + } else { + char *tstart; +@@ -608,7 +614,7 @@ typedef struct { + iptr len; /* 0 => unknown */ + iptr offset; + IBOOL need_check, close_after; +- char path[PATH_MAX]; ++ char path[BOOT_PATH_MAX]; + } boot_desc; + + #define MAX_BOOT_FILES 10 +@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, const char *path, int c) { + static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + int fd, + IBOOL errorp) { +- char pathbuf[PATH_MAX], buf[PATH_MAX]; ++ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX]; + uptr n = 0; + INT c; + const char *path; + char *expandedpath; + + if ((fd != -1) || direct_pathp || S_fixedpathp(name)) { +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + if (boot_count == 0) { + for (;;) { + /* try to load heap or boot file this boot file requires */ +- if (get_string(fd, buf, PATH_MAX, &c) != 0) { ++ if (get_string(fd, buf, BOOT_PATH_MAX, &c) != 0) { + fprintf(stderr, "unexpected end of file on %s\n", path); + CLOSE(fd); + S_abnormal_exit(); +@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp, + c = get_u8(fd); + for (sep = " "; ; sep = "or ") { + if (c == ')') break; +- (void) get_string(fd, buf, PATH_MAX, &c); ++ (void) get_string(fd, buf, BOOT_PATH_MAX, &c); + fprintf(stderr, "%s%s.boot ", sep, buf); + } + fprintf(stderr, "required by %s\n", path); +@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const char *name, + int close_after) { + check_boot_file_state("Sregister_boot_file_fd"); + +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "boot-file path is too long %s\n", name); + S_abnormal_exit(); + } +@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void (*custom_init)(void)) { + } + + name = path_last(kernel); +- if (strlen(name) >= PATH_MAX) { ++ if (strlen(name) >= BOOT_PATH_MAX) { + fprintf(stderr, "executable name too long: %s\n", name); + S_abnormal_exit(); + } + + #ifdef WIN32 + { /* strip off trailing .exe, if any */ +- static char buf[PATH_MAX]; ++ static char buf[BOOT_PATH_MAX]; + iptr n; + + n = strlen(name) - 4; +diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c/version.h +index a79d12621b..61751a9fad 100644 +--- a/racket/src/ChezScheme/c/version.h ++++ b/racket/src/ChezScheme/c/version.h +@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + /*****************************************/ + /* Operating systems */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) /* Hurd */ + #define NOBLOCK O_NONBLOCK + #define LOAD_SHARED_OBJECT + #define USE_MMAP +@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) { + #define GETPAGESIZE() getpagesize() + typedef char *memcpy_t; + #define MAKE_NAN(x) { x = 0.0; x = x / x; } +-#define GETWD(x) getcwd((x),PATH_MAX) ++#ifndef __GNU__ /* Hurd: no PATH_MAX */ ++/* n.b. don't test PATH_MAX directly: we have not yet included */ ++# define GETWD(x) getcwd((x),PATH_MAX) ++#endif + typedef int tputsputcchar; + #ifndef __ANDROID__ + # define LOCKF +diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure +index f64b639c3a..efdb6029cb 100755 +--- a/racket/src/ChezScheme/configure ++++ b/racket/src/ChezScheme/configure +@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in + installprefix=/usr + installmansuffix=share/man + ;; ++ GNU) ++ unixsuffix=gnu # the Hurd ++ installprefix=/usr ++ installmansuffix=share/man ++ ;; + QNX) + if uname -a | egrep 'x86' > /dev/null 2>&1 ; then + m32=i3qnx +@@ -591,7 +596,7 @@ fi + + # Infer flags needed for threads: + case "${flagsm}" in +- *le|*fb|*ob|*nb) ++ *le|*gnu|*fb|*ob|*nb) + threadFlags="-D_REENTRANT -pthread" + threadLibs="-lpthread" + ;; +@@ -627,7 +632,7 @@ if [ "$cflagsset" = "no" ] ; then + a6*) + CFLAGS="-m64 ${optFlags}" + ;; +- i3le) ++ i3le) # intentionally not including i3gnu, which may not support sse2 + CFLAGS="-m32 -msse2 -mfpmath=sse ${optFlags}" + ;; + i3nt) +@@ -688,7 +693,7 @@ fi + # Add automatic linking flags, unless suppressed by --disable-auto-flags + if [ "$addflags" = "yes" ] ; then + case "${flagsm}" in +- *le) ++ *le|*gnu) + LDFLAGS="${LDFLAGS} -rdynamic" + ;; + *fb|*nb) +@@ -702,7 +707,7 @@ if [ "$addflags" = "yes" ] ; then + esac + + case "${flagsm}" in +- *le) ++ *le|*gnu) + LIBS="${LIBS} -lm -ldl ${ncursesLib} -lrt" + ;; + *fb|*ob) +@@ -749,7 +754,7 @@ exeSuffix= + + # compile flags for c/Mf-unix and mats/Mf-unix + case "${flagsmuni}" in +- *le) ++ *le|*gnu) + mdcflags="-fPIC -shared" + ;; + *fb|*ob) +@@ -781,7 +786,7 @@ case "${flagsmuni}" in + i3le) + mdldflags="-melf_i386" + ;; +- *le) ++ *le|*gnu) + ;; + i3nb) + mdldflags="-m elf_i386" +diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/s/cmacros.ss +index ff2b09217b..2e79a4d8de 100644 +--- a/racket/src/ChezScheme/s/cmacros.ss ++++ b/racket/src/ChezScheme/s/cmacros.ss +@@ -385,6 +385,7 @@ + i3fb ti3fb + i3ob ti3ob + i3osx ti3osx ++ i3gnu ti3gnu + a6le ta6le + a6osx ta6osx + a6ob ta6ob +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..dab545c0b4 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4449,8 +4449,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ *linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd: must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..43e7307b1b 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -272,8 +272,15 @@ case "$host_os" in + ;; + irix*) + ;; +- linux*) +- MACH_OS=le ++ linux*|gnu*) ++ case "$host_os" in ++ linux*) ++ MACH_OS=le ++ ;; ++ *) ++ MACH_OS=gnu # Hurd ++ ;; ++ esac + case "$host_os" in + *linux-android*) + ;; +@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then + linux*) + BUILD_OS=le + ;; ++ gnu*) # Hurd - must come after linux* ++ BUILD_OS=gnu ++ ;; + *mingw*) + BUILD_OS=nt + ;; +diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss +index 2319cbe7a5..773eb79cf3 100644 +--- a/racket/src/cs/rumble/system.ss ++++ b/racket/src/cs/rumble/system.ss +@@ -48,6 +48,8 @@ + arm32le tarm32le arm64le tarm64le + ppc32le tppc32le) + 'linux] ++ [(i3gnu ti3gnu) ++ 'gnu-hurd] + [(a6fb ta6fb i3fb ti3fb + arm32fb tarm32fb arm64fb tarm64fb + ppc32fb tppc32fb) +@@ -85,6 +87,7 @@ + i3nb ti3nb + i3fb ti3fb + i3s2 ti3s2 ++ i3gnu ti3gnu + i3qnx) + 'i386] + [(arm32le tarm32le +-- +2.32.0 + + +From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 4 Aug 2022 20:18:09 -0400 +Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd + +(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + racket/src/bc/sconfig.h | 14 +++++++++----- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ddb607b37..4ee346014d 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index deef8f3077..866851236e 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*) ++ linux*,gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h +index 01ecb48158..8468942fcd 100644 +--- a/racket/src/bc/sconfig.h ++++ b/racket/src/bc/sconfig.h +@@ -79,12 +79,14 @@ + + #endif + +- /************** Linux with gcc ****************/ ++ /************** Linux (or Hurd) with gcc ****************/ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) + + # ifdef __ANDROID__ + # define SCHEME_OS "android" ++# elif defined(__GNU__) ++# define SCHEME_OS "gnu-hurd" + # else + # define SCHEME_OS "linux" + # endif +@@ -146,13 +148,15 @@ + # define USE_IEEE_FP_PREDS + # define USE_EXPLICT_FP_FORM_CHECK + +-# define LINUX_FIND_STACK_BASE ++# define LINUX_FIND_STACK_BASE /* also ok for Hurd */ + + # define FLAGS_ALREADY_SET + + #if defined(__i386__) +-# define MZ_USE_JIT_I386 +-# define MZ_JIT_USE_MPROTECT ++# ifndef __GNU__ /* Hurd */ ++# define MZ_USE_JIT_I386 ++# define MZ_JIT_USE_MPROTECT ++# endif + # ifndef MZ_NO_UNWIND_SUPPORT + # define MZ_USE_DWARF_LIBUNWIND + # endif +-- +2.32.0 + + +From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Sat, 6 Aug 2022 22:48:40 -0400 +Subject: [PATCH 3/3] BC: repair configure script + +Hopefully this will fix the DrDr failures caused by 5c05496. + +Related to https://github.com/racket/racket/pull/4384 + +(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77) +--- + racket/src/bc/configure | 2 +- + racket/src/bc/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/racket/src/bc/configure b/racket/src/bc/configure +index 4ee346014d..b1c5175b84 100755 +--- a/racket/src/bc/configure ++++ b/racket/src/bc/configure +@@ -5018,7 +5018,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac +index 866851236e..ecc3b0b579 100644 +--- a/racket/src/bc/configure.ac ++++ b/racket/src/bc/configure.ac +@@ -557,7 +557,7 @@ case "$host_os" in + X_PRE_LIBS="" + fi + ;; +- linux*,gnu*) ++ linux*|gnu*) + LIBS="$LIBS -ldl -lm -lrt -rdynamic" + DYN_CFLAGS="-fPIC" + curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a" +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch index 65cf2f99f3..331b4f244b 100644 --- a/gnu/packages/patches/racket-chez-scheme-bin-sh.patch +++ b/gnu/packages/patches/racket-chez-scheme-bin-sh.patch @@ -1,4 +1,4 @@ -From e982b6687494bf071386c67be74e57a29cf4ce00 Mon Sep 17 00:00:00 2001 +From f86370295c5bb14d4bb93d0ccfa37a2b79f19f25 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Wed, 24 Aug 2022 19:55:14 -0400 Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix @@ -24,12 +24,12 @@ on `system` from the C library. 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c -index f5e3e345be..922421ca75 100644 +index 82bbf8d687..be8f603447 100644 --- a/racket/src/ChezScheme/c/prim5.c +++ b/racket/src/ChezScheme/c/prim5.c -@@ -22,6 +22,12 @@ - #include - #include +@@ -27,6 +27,12 @@ + #include + #endif +/* BEGIN PATCH for Guix */ +#ifndef WIN32 @@ -38,9 +38,9 @@ index f5e3e345be..922421ca75 100644 +/* END PATCH for Guix */ + /* locally defined functions */ - static INT s_errno PROTO((void)); - static IBOOL s_addr_in_heap PROTO((uptr x)); -@@ -856,6 +862,17 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { + static INT s_errno(void); + static IBOOL s_addr_in_heap(uptr x); +@@ -861,6 +867,17 @@ static ptr s_process(char *s, IBOOL stderrp) { INT tofds[2], fromfds[2], errfds[2]; struct sigaction act, oint_act; @@ -58,10 +58,10 @@ index f5e3e345be..922421ca75 100644 if (pipe(tofds)) S_error("process","cannot open pipes"); if (pipe(fromfds)) { -@@ -881,7 +898,9 @@ static ptr s_process(s, stderrp) char *s; IBOOL stderrp; { - CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1); - CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1); - {INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);} +@@ -897,7 +914,9 @@ static ptr s_process(char *s, IBOOL stderrp) { + } + } + #endif /* __GNU__ Hurd */ - execl("/bin/sh", "/bin/sh", "-c", s, NULL); + /* BEGIN PATCH for Guix */ + execl(guix_sh, guix_sh, "-c", s, NULL); @@ -70,7 +70,7 @@ index f5e3e345be..922421ca75 100644 /*NOTREACHED*/ } else { -base-commit: 9d228d16fb99c274c964e5bef93e97333888769f +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 -- 2.32.0 diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 70df5482fb..349cf38e07 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -53,7 +53,7 @@ (define-module (gnu packages racket) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:)) -;; Commentary: +;; COMMENTARY: ;; ;; Anatomy of Racket: ;; ------------------ @@ -72,14 +72,16 @@ (define-module (gnu packages racket) ;; ├── bc/ ;; ├── cs/ ;; ├── ChezScheme/ +;; ├── zuo/ ;; └── ... ;; ;; The 'racket/src/' directory contains the source of the runtime system, core ;; compiler, and primitives for the major Racket implementations: this layer -;; is called the ``Racket VM''. It is basically a normal autotools -;; project. (Even when Racket VM implementations use components implemented in -;; Racket, they are compiled in special modes to produce VM primitives.) -;; (There are or have been experimental Racket VM implementations elsewhere, +;; is called the ``Racket VM''. It is basically a normal Autoconf project, +;; except that the makefiles just run Zuo to do the real work. (Even when +;; Racket VM implementations use components implemented in Racket, they are +;; compiled in special modes to produce VM primitives.) (There are or have +;; been experimental Racket VM implementations elsewhere, ;; e.g. .) ;; ;; The 'racket/collects/' directory contains ``built in'' Racket libraries @@ -100,10 +102,10 @@ (define-module (gnu packages racket) ;; ;; The top-level 'Makefile' is more like a directory of scripts: it has ;; convienience targets for developing Racket, and it cooperates with the -;; 'distro-build' package to assemble custom Racket distributions. It is not -;; part of Racket source distributions: the root of a source distribution is -;; basically 'racket/src' with some extra package sources and configuration -;; added. +;; 'distro-build' package to assemble custom Racket distributions. (Again, +;; the makefile just delegates to Zuo.) It is not part of Racket source +;; distributions: the root of a source distribution is basically 'racket/src' +;; with some extra package sources and configuration added. ;; ;; A ''minimal Racket'' installation includes two packages: 'base', which is a ;; sort of bridge between the current ``built-in'' collections and the package @@ -129,12 +131,12 @@ (define-module (gnu packages racket) ;; output. The function 'racket-vm-for-system' returns the recomended Racket ;; VM package for a given system. ;; -;; The file 'racket.scm' builds on these packages to define 'racket-minimal' -;; and 'racket' packages. These use Racket's support for ``layered -;; installations'', which allow an immutable base layer to be extended with -;; additional packages. They use the layer configuration directly provide -;; ready-to-install FHS-like trees, rather than relying on the built in -;; ``Unix-style install'' mechanism. +;; We then define the packages 'racket-minimal' and +;; 'racket'. These use Racket's support for ``layered installations'', which +;; allow an immutable base layer to be extended with additional packages. +;; They use the layer configuration directly provide ready-to-install FHS-like +;; trees, rather than relying on the built in ``Unix-style install'' +;; mechanism. ;; ;; Bootstrapping Racket: ;; --------------------- @@ -177,16 +179,18 @@ (define-module (gnu packages racket) ;; However, other Racket subsystems implemented in Racket for Racket CS ;; use older C implementations for Racket BC, whereas the reader, expander, ;; and module system were completely replaced with the Racket implementation -;; as of Racket 7.0. +;; as of Racket 7.0. See also . ;; ;; For Racket BC, the compiled "linklet" s-expressions (primitive modules) ;; are embeded in C as a static string constant. Eventually, they are further ;; compiled by the C-implemented Racket BC bytecode and JIT compilers. -;; (On platforms where Racket BC's JIT is not supported, yet another compiler -;; instead compiles the linklets to C code, but this is not a bootstrapping -;; issue.) ;; -;; Code: +;; Zuo is notably *not* a problem for bootstrapping. The implementation is a +;; single hand-written C file designed to build with just `cc -o zuo zuo.c`, +;; even with very old or limited compilers. (We use the Autoconf support for +;; convienience.) +;; +;; CODE: (define* (racket-vm-for-system #:optional (system (or (%current-target-system) @@ -199,7 +203,7 @@ (define* (racket-vm-for-system #:optional racket-vm-cs racket-vm-bc)) -(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) @@ -210,10 +214,15 @@ (define %racket-origin (url "https://github.com/racket/racket") (commit %racket-commit))) (sha256 - (base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h")) + (base32 "1lw6h70dk8zqpl96zz0hmhn8vjcc0c7gw4prkfz2wid5bkq4mhg4")) (file-name (git-file-name "racket" %racket-version)) - (patches (search-patches "racket-chez-scheme-bin-sh.patch" - "racket-rktio-bin-sh.patch")) + (patches (search-patches "racket-backport-8.6-cross-install.patch" + "racket-backport-8.6-docindex-write.patch" + "racket-backport-8.6-hurd.patch" + "racket-backport-8.6-zuo.patch" + "racket-chez-scheme-bin-sh.patch" + "racket-rktio-bin-sh.patch" + "racket-zuo-bin-sh.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -240,21 +249,10 @@ (define-public zuo (name "zuo") (version (string-append %zuo-version "-racket" - "8.6" + %racket-version (if revision "-guix" "") (or revision ""))) - (source - (origin - (inherit %racket-origin) - (uri (git-reference - (url "https://github.com/racket/racket") - (commit "v8.6"))) - (sha256 - (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) - (patches (append (origin-patches %racket-origin) - (search-patches "racket-backport-8.6-zuo.patch" - "racket-zuo-bin-sh.patch"))) - (file-name (git-file-name "racket" "8.6")))) + (source %racket-origin) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -314,7 +312,8 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) libffi)) ;; <- only for BC variants - (native-inputs (list libtool)) ;; <- only for BC variants + (native-inputs (list zuo ;; <- for all variants + libtool)) ;; <- only for BC variants (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -322,6 +321,10 @@ (define-public racket-vm-cgc #:configure-flags #~(cons "--enable-cgcdefault" #$racket-vm-common-configure-flags) + #:make-flags + #~(list (string-append "ZUO=" + #+(this-package-native-input "zuo") + "/bin/zuo")) ;; Tests are in packages like racket-test-core and ;; main-distribution-test that aren't part of the main ;; distribution. @@ -681,25 +684,25 @@ (define-public racket "contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3") '(("contract-profile" "."))) (simple-racket-origin - "data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55") + "data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprfisc") '("data" "data-doc" "data-enumerate-lib" "data-lib")) (simple-racket-origin "datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s") '(("datalog" "."))) (simple-racket-origin - "db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5") + "db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmjq") '("db" "db-doc" "db-lib")) (simple-racket-origin - "deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr") + "deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y64pij489x34v") '("deinprogramm" "deinprogramm-signature")) (simple-racket-origin "distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0") '("distributed-places" "distributed-places-doc" "distributed-places-lib")) (simple-racket-origin - "draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92") + "draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i42635sm") '("draw" "draw-doc" "draw-lib")) (simple-racket-origin - "drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz") + "drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189fn42q62") '("drracket" "drracket-plugin-lib" "drracket-tool" @@ -716,7 +719,7 @@ (define-public racket "eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n27s") '(("eopl" "."))) (simple-racket-origin - "errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip") + "errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124pp6xkjyavx") '("errortrace" "errortrace-doc" "errortrace-lib")) (simple-racket-origin "expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q") @@ -733,13 +736,13 @@ (define-public racket "games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d") '(("games" "."))) (simple-racket-origin - "gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx") + "gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv401w") '("gui" "gui-doc" "gui-lib" "tex-table")) (simple-racket-origin "gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5") '("gui-pkg-manager-lib")) (simple-racket-origin - "htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3") + "htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjykwir") '("htdp" "htdp-doc" "htdp-lib")) (simple-racket-origin "html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x") @@ -763,7 +766,7 @@ (define-public racket "make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa") '(("make" "."))) (simple-racket-origin - "math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp217ac") + "math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq9ai") '("math" "math-doc" "math-lib")) (simple-racket-origin "mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48") @@ -798,16 +801,16 @@ (define-public racket (git-file-name "stamourv-optimization-coach" %racket-version))) '(("optimization-coach" "."))) (simple-racket-origin - "option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflzfd52hj7awafqhk") + "option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww") '("option-contract" "option-contract-doc" "option-contract-lib")) (simple-racket-origin - "parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq0rj49cr8fl3") + "parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic19cj6f7rmcnj") '("parser-tools" "parser-tools-doc" "parser-tools-lib")) (simple-racket-origin "pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1") '("pconvert-lib")) (simple-racket-origin - "pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv") + "pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq6sx") '("pict" "pict-doc" "pict-lib")) (simple-racket-origin "pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x") @@ -861,7 +864,7 @@ (define-public racket "racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9") '(("racklog" "."))) (simple-racket-origin - "rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n") + "rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyzl7prn81") '("rackunit" "rackunit-doc" "rackunit-gui" @@ -874,10 +877,10 @@ (define-public racket "readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w2pxkfwn") '("readline" "readline-doc" "readline-lib")) (simple-racket-origin - "realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi") + "realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g") '(("realm" "."))) (simple-racket-origin - "redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i") + "redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852czil7") '("redex" "redex-benchmark" "redex-doc" @@ -892,7 +895,7 @@ (define-public racket "scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x") '(("scheme-lib" "."))) (simple-racket-origin - "scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3") + "scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9b2acvd3") '("scribble" "scribble-doc" "scribble-html-lib" @@ -924,7 +927,7 @@ (define-public racket "snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj") '("snip" "snip-lib")) (simple-racket-origin - "typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc") + "typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7bdc0jfg8a18l") '("source-syntax" "typed-racket" "typed-racket-compatibility" @@ -935,13 +938,13 @@ (define-public racket "srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn") '("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib")) (simple-racket-origin - "string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac") + "string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6hj4az5lfbbdvqz47") '("string-constants" "string-constants-doc" "string-constants-lib")) (simple-racket-origin - "swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67") + "swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbgqxvsyb") '(("swindle" "."))) (simple-racket-origin - "syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm") + "syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b8dsvbbrjyq1") '("syntax-color" "syntax-color-doc" "syntax-color-lib")) (simple-racket-origin "trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia") @@ -950,7 +953,7 @@ (define-public racket "unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y") '("unix-socket" "unix-socket-doc" "unix-socket-lib")) (simple-racket-origin - "web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd") + "web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxmd6r3fwcpf") '("web-server" "web-server-doc" "web-server-lib")) (simple-racket-origin "wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 07/14] gnu: Add Zuo. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665231830 (code B ref 57050); Sat, 27 Aug 2022 18:58:03 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:32 +0000 Received: from localhost ([127.0.0.1]:57071 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zr-0008HC-4b for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:32 -0400 Received: from mail-vk1-f179.google.com ([209.85.221.179]:42571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zF-0008E0-Vs for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:56:57 -0400 Received: by mail-vk1-f179.google.com with SMTP id q14so2099604vke.9 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=fYenKD6+Navuzfet9Ne3Uc/jx6iZdsbGbfleVobTXpw=; b=eh0v5tXW6pqm3DalGtvQrZtM88MnC8vXetfTPq5ovU7fYA4VgaP5NE4SbImNuNpuSt k6E/IwpVMx6tJ9NmXIjorBSFvMfsWea+aOCT8Vw4EPifDBLSZObzCTEKqoFojtdTiGMj HDglJJSfmh6/IeaW0MmLxtFaTSb7yU8Xb+Lj3ChpwNxtdewpbA4qfzT7NE5ZOTeRRawP 1+jZ4hXcXEjUBGOoRdyh579UrMThQtBv/LHcQLmJWV0twDoW2uMSAAWgWEtbShcxQmKI dEetSfhZg5oW3emP/JbL0mLCuS4thwZh1boJPqzj/9lv6gez3TkOOtjSvYE1PhFki3bI FmxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=fYenKD6+Navuzfet9Ne3Uc/jx6iZdsbGbfleVobTXpw=; b=B3ig8PTxgRhE7A5NK+c43YljipdxrTZeB6Mwt+EjsgfbTdqpVZdp4eJacBvJPvXRLS o+FE43ArdxbLaautLUi6A34qumPG83SK6V6yeAQOBY5xxTivAX06P4Tds3xcIFeq09hF Cpw8CPQmesbJrObjLdjArM810M1u0d027FwHwihL3mphzImTmGVGTjlL9Ao5l6l9FEf3 d57S26T4gAYznH0NmJxwWDCPDBPyYSSu6Ol0P5LjVWScDWG0W2svXSgy+KwOCNQSN23n 96bPtY7zPvxcIIfOoLTLlF0H1QVgdv4qmB7JmEBwh6CppNwidRjYqkz2j9el/CBJ9xLa KJWQ== X-Gm-Message-State: ACgBeo1RNHtMbhHuc+9EHqz9JAtf7+770Y9NK+MmQXVKBdgN2NAXDImz jr9wZRcUEFtoKJRztbajfEzX09GZgQbQ0YcS X-Google-Smtp-Source: AA6agR5i3ExUhDVcp4b2xaZ6HynjqU6xBHR2CNfz1Qis/g8YL/uj3vM/nItbwM3Nqcg9KuJLWDjijQ== X-Received: by 2002:a1f:9002:0:b0:377:1433:93e9 with SMTP id s2-20020a1f9002000000b00377143393e9mr1482486vkd.28.1661626608009; Sat, 27 Aug 2022 11:56:48 -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 b20-20020a67fe94000000b003905cc8b952sm590836vsr.17.2022.08.27.11.56.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:47 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:47 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/patches/racket-backport-8.6-zuo.patch, gnu/packages/patches/racket-zuo-bin-sh.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/racket.scm (%zuo-version): New variable. (zuo): New variable. --- gnu/local.mk | 2 + .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++++++ gnu/packages/patches/racket-zuo-bin-sh.patch | 74 +++ gnu/packages/racket.scm | 49 ++ 4 files changed, 606 insertions(+) create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch diff --git a/gnu/local.mk b/gnu/local.mk index babd54c8c6..c9c3061b33 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1769,8 +1769,10 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/racket-backport-8.6-zuo.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ + %D%/packages/patches/racket-zuo-bin-sh.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ diff --git a/gnu/packages/patches/racket-backport-8.6-zuo.patch b/gnu/packages/patches/racket-backport-8.6-zuo.patch new file mode 100644 index 0000000000..b86679b7ec --- /dev/null +++ b/gnu/packages/patches/racket-backport-8.6-zuo.patch @@ -0,0 +1,481 @@ +From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:10:58 -0600 +Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and + `CC_FOR_BUILD` + +(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911) +--- + racket/src/zuo/Makefile.in | 7 ++++++- + racket/src/zuo/README.md | 10 ++++++++++ + racket/src/zuo/configure | 15 +++++++++++++++ + racket/src/zuo/configure.ac | 11 +++++++++++ + 4 files changed, 42 insertions(+), 1 deletion(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 5d16e145bf..747b584c5c 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ ++LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ ++ + EMBED_LIBS = @EMBED_LIBS@ + + .PHONY: zuos-to-run-and-install +@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS) ++ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md +index 17c88ee9ec..3aad504b7e 100644 +--- a/racket/src/zuo/README.md ++++ b/racket/src/zuo/README.md +@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a stand-alone file or + embedded in `.c` source. + + ++Cross Compiling ++--------------- ++ ++If you use `./configure --host=...` to cross compile, then you will ++also need to add something like `CC_FOR_BUILD=cc` as a `./configure` ++argument to specify the compiler for a `zuo` to use on the build ++machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`, ++`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`. ++ ++ + Embedding Zuo in Another Application + ------------------------------------ + +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 1fa34a3fe8..575ce07d96 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -589,6 +589,10 @@ enable_embed="zuo" + ac_subst_vars='LTLIBOBJS + LIBOBJS + EMBED_LIBS ++LIBS_FOR_BUILD ++LDFLAGS_FOR_BUILD ++CFLAGS_FOR_BUILD ++CC_FOR_BUILD + OBJEXT + EXEEXT + ac_ct_CC +@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++ ++ ++ ++ ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 89b3c6391d..598ff79629 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno], + AC_PROG_MAKE_SET() + AC_PROG_CC + ++if test "${CC_FOR_BUILD}" = ""; then ++ CC_FOR_BUILD='$(CC) -O2' ++ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ LDFLAGS_FOR_BUILD='$(LDFLAGS)' ++ LIBS_FOR_BUILD='$(LIBS)' ++fi ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) ++AC_SUBST(LIBS_FOR_BUILD) ++ + AC_SUBST(EMBED_LIBS) + AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"]) + +-- +2.32.0 + + +From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 17:47:03 -0600 +Subject: [PATCH 2/4] Zuo: sort hash keys + +Printing in a sorted order is helpful to make things more +deterministic independent of symbol inputs. Making `hash-keys` +produce a sorted list generalizes that determinism. + +(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf) +--- + racket/src/zuo/build.zuo | 5 ++- + racket/src/zuo/tests/hash.zuo | 8 ++-- + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++-- + racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++- + 4 files changed, 78 insertions(+), 10 deletions(-) + +diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo +index c1b5e8ce66..129240120a 100644 +--- a/racket/src/zuo/build.zuo ++++ b/racket/src/zuo/build.zuo +@@ -47,7 +47,10 @@ + (target (at-dir (add-exe name)) + (lambda (path token) + (rule (list image_zuo.c +- (input-data-target 'config config) ++ (input-data-target 'config (cons ++ lib-path ++ (map (lambda (key) (hash-ref config key)) ++ '(CC CPPFLAGS CFLAGS LDFLAGS LIBS)))) + (quote-module-path)) + (lambda () + (define l (split-path path)) +diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.zuo +index a35741c730..0d3d7f3af6 100644 +--- a/racket/src/zuo/tests/hash.zuo ++++ b/racket/src/zuo/tests/hash.zuo +@@ -35,9 +35,7 @@ + + (check (hash-keys (hash)) '()) + (check (hash-keys (hash 'a 1)) '(a)) +-(check (let ([keys (hash-keys (hash 'a 1 'b 2))]) +- (or (equal? keys '(a b)) +- (equal? keys '(b a))))) ++(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order + (check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3) + (check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2) + (check-arg-fail (hash-keys 0) "not a hash table") +@@ -50,3 +48,7 @@ + (check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f) + (check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table") + (check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table") ++ ++;; print sorts keys alphabetically: ++(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))") ++(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))") +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 94641d041e..4605e47471 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -538,10 +538,20 @@ support to convert the textual form back into a hash table value. + + Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove + hash-keys hash-count hash-keys-subset?] from @racketmodname[racket]. +-Besides being constrained to symbol keys, there is one additional +-difference: the third argument to @racket[hash-ref], when supplied, +-is always used as a value to return if a key is missing, as +-opposed to a failure thunk.} ++ ++Besides being constrained to symbol keys, there are two additional ++differences: ++ ++@itemlist[ ++ ++ @item{the third argument to @racket[hash-ref], when supplied, is ++ always used as a value to return if a key is missing, as ++ opposed to a failure thunk; and} ++ ++ @item{the @racket[hash-keys] function returns interned keys sorted ++ alphabetically.} ++ ++]} + + + @section{Procedures} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 2957d478af..88d5747326 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t *accum) { + return accum; + } + ++/*======================================================================*/ ++/* symbol-list sorting */ ++/*======================================================================*/ ++ ++/* merge sort used to make hash printing deterministic */ ++static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { ++ zuo_t *l, *left, *right, *first, *last; ++ zuo_uint_t len = 0, i; ++ ++ for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l)) ++ len++; ++ ++ if (len < 2) ++ return l_in; ++ ++ left = z.o_null; ++ for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--) ++ left = zuo_cons(_zuo_car(l), left); ++ right = l; ++ ++ left = zuo_symbol_list_sort(left); ++ right = zuo_symbol_list_sort(right); ++ ++ first = last = z.o_null; ++ while ((left != z.o_null) && (right != z.o_null)) { ++ zuo_t *p; ++ ++ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), ++ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) ++ < 1) { ++ p = zuo_cons(_zuo_car(left), z.o_null); ++ left = _zuo_cdr(left); ++ } else { ++ p = zuo_cons(_zuo_car(right), z.o_null); ++ right = _zuo_cdr(right); ++ } ++ ++ if (first == z.o_null) ++ first = p; ++ else ++ ((zuo_pair_t *)last)->cdr = p; ++ last = p; ++ } ++ ++ ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right); ++ ++ return first; ++} ++ ++static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) { ++ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum)); ++} ++ + /*======================================================================*/ + /* terminal support */ + /*======================================================================*/ +@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zuo_print_mode_t mode) { + out_string(out, "opaque"); + out_string(out, ">"); + } else if (obj->tag == zuo_trie_node_tag) { +- zuo_t *keys = zuo_trie_keys(obj, z.o_null); ++ zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null); + if (mode == zuo_print_mode) { + out_string(out, "(hash"); + if (keys != z.o_null) +@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sym) { + + static zuo_t *zuo_hash_keys(zuo_t *ht) { + check_hash("hash-keys", ht); +- return zuo_trie_keys(ht, z.o_null); ++ return zuo_trie_sorted_keys(ht, z.o_null); + } + + static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) { +-- +2.32.0 + + +From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 18:06:41 -0600 +Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol` + +(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f) +--- + racket/src/zuo/tests/symbol.zuo | 3 +++ + racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++- + racket/src/zuo/zuo.c | 37 +++++++++++++++++---------- + 3 files changed, 29 insertions(+), 15 deletions(-) + +diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symbol.zuo +index 7775aeeb04..5600a89755 100644 +--- a/racket/src/zuo/tests/symbol.zuo ++++ b/racket/src/zuo/tests/symbol.zuo +@@ -19,3 +19,6 @@ + (check (not (equal? 'apple (string->uninterned-symbol "apple")))) + (check-arg-fail (string->symbol 'apple) not-string) + (check-arg-fail (string->uninterned-symbol 'apple) not-string) ++ ++(check-arg-fail (string->symbol "apple\0spice") "without a nul character") ++(check (symbol? (string->uninterned-symbol "apple\0spice"))) +diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +index 4605e47471..07dd5815b0 100644 +--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl ++++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl +@@ -500,7 +500,9 @@ back into Zuo. + )]{ + + Analogous to @realracket*[symbol? symbol->string string->symbol +-string->uninterned-symbol] from @racketmodname[racket].} ++string->uninterned-symbol] from @racketmodname[racket], but ++@racket[string->symbol] accepts only strings that do not contain the ++null character.} + + + @section{Hash Tables (Persistent Maps)} +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 88d5747326..17f161826d 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) { + + first = last = z.o_null; + while ((left != z.o_null) && (right != z.o_null)) { +- zuo_t *p; ++ zuo_t *p, *s_left, *s_right; + + if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str), + ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str)) +@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *start_i, zuo_t *end_i) { + return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx], e_idx - s_idx); + } + ++static int zuo_is_string_without_nul(zuo_t *obj) { ++ zuo_int_t i; ++ ++ if ((obj->tag != zuo_string_tag) ++ || ZUO_STRING_LEN(obj) == 0) ++ return 0; ++ ++ for (i = ZUO_STRING_LEN(obj); i--; ) { ++ if (((zuo_string_t *)obj)->s[i] == 0) ++ return 0; ++ } ++ ++ return 1; ++} ++ + static zuo_t *zuo_string_to_symbol(zuo_t *obj) { +- check_string("string->symbol", obj); ++ if (!zuo_is_string_without_nul(obj)) { ++ const char *who = "string->symbol"; ++ check_string(who, obj); ++ zuo_fail_arg(who, "string without a nul character", obj); ++ } ++ + return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj); + } + +@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, zuo_t *envvars) + #endif + + static int zuo_is_path_string(zuo_t *obj) { +- zuo_int_t i; +- +- if ((obj->tag != zuo_string_tag) +- || ZUO_STRING_LEN(obj) == 0) +- return 0; +- +- for (i = ZUO_STRING_LEN(obj); i--; ) { +- if (((zuo_string_t *)obj)->s[i] == 0) +- return 0; +- } +- +- return 1; ++ return zuo_is_string_without_nul(obj); + } + + static zuo_t *zuo_path_string_p(zuo_t *obj) { +-- +2.32.0 + + +From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Sat, 23 Jul 2022 19:50:46 -0600 +Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too + +(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac) +--- + racket/src/zuo/Makefile.in | 3 ++- + racket/src/zuo/configure | 5 ++++- + racket/src/zuo/configure.ac | 4 +++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in +index 747b584c5c..0376c038a8 100644 +--- a/racket/src/zuo/Makefile.in ++++ b/racket/src/zuo/Makefile.in +@@ -19,6 +19,7 @@ LIBS = @LIBS@ + + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ + +@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo + ./zuo . zuos-to-run-and-install + + zuo: $(srcdir)/zuo.c +- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD) + + .PHONY: check + check: zuo +diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure +index 575ce07d96..7ac453e3bc 100755 +--- a/racket/src/zuo/configure ++++ b/racket/src/zuo/configure +@@ -591,6 +591,7 @@ LIBOBJS + EMBED_LIBS + LIBS_FOR_BUILD + LDFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + OBJEXT +@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi +@@ -2600,6 +2602,7 @@ fi + + + ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5 + $as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;} + +diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac +index 598ff79629..051ea0beb5 100644 +--- a/racket/src/zuo/configure.ac ++++ b/racket/src/zuo/configure.ac +@@ -27,12 +27,14 @@ AC_PROG_CC + + if test "${CC_FOR_BUILD}" = ""; then + CC_FOR_BUILD='$(CC) -O2' +- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)' ++ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)' ++ CFLAGS_FOR_BUILD='$(CFLAGS)' + LDFLAGS_FOR_BUILD='$(LDFLAGS)' + LIBS_FOR_BUILD='$(LIBS)' + fi + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(LIBS_FOR_BUILD) + +-- +2.32.0 + diff --git a/gnu/packages/patches/racket-zuo-bin-sh.patch b/gnu/packages/patches/racket-zuo-bin-sh.patch new file mode 100644 index 0000000000..bcdcb8e963 --- /dev/null +++ b/gnu/packages/patches/racket-zuo-bin-sh.patch @@ -0,0 +1,74 @@ +From 73d9b77a11b4516905caf579abb559736f715ea6 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Mon, 11 Apr 2022 20:43:18 -0400 +Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix + +If: + + 1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from + is defined; and + + 2. `zuo_process` is called with the exact path "/bin/sh"; and + + 3. The path specified by `_PATH_BSHELL` exists; + +then `zuo_process` will execute the file specified by `_PATH_BSHELL` +instead of "/bin/sh". + +Checking that the path specified by `_PATH_BSHELL` exists safeguards +against obscure errors if attempting to use stand-alone executables +built by the patched Racket in non-Guix envoronments. +--- + racket/src/zuo/zuo.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c +index 17f161826d..c4fb3929bb 100644 +--- a/racket/src/zuo/zuo.c ++++ b/racket/src/zuo/zuo.c +@@ -15,6 +15,7 @@ + #include + #include + #ifdef ZUO_UNIX ++# include /* PATCHED for Guix */ + # include + # include + # include +@@ -5730,7 +5731,10 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_raw_handle_t *_w) + zuo_t *zuo_process(zuo_t *command_and_args) + { + const char *who = "process"; +- zuo_t *command = _zuo_car(command_and_args); ++ /* BEGIN PATCH for Guix */ ++ zuo_t *_guix_orig_command = _zuo_car(command_and_args); ++ zuo_t *command; ++ /* END PATCH for Guix */ + zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null; + zuo_t *options = z.o_empty_hash, *opt; + zuo_t *dir, *l, *p_handle, *result; +@@ -5741,7 +5745,19 @@ zuo_t *zuo_process(zuo_t *command_and_args) + void *env; + int as_child, exact_cmdline; + +- check_path_string(who, command); ++ /* BEGIN PATCH for Guix */ ++ check_path_string(who, _guix_orig_command); ++#if defined(_PATH_BSHELL) ++ command = ++ ((z.o_false == zuo_string_eql(_guix_orig_command, zuo_string("/bin/sh"))) ++ || (z.o_false == zuo_stat(zuo_string(_PATH_BSHELL), z.o_false, z.o_true))) ++ ? _guix_orig_command ++ : zuo_string(_PATH_BSHELL); ++#else ++ command = _guix_orig_command; ++#endif ++ /* END PATCH for Guix */ ++ + for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) { + zuo_t *a = _zuo_car(l); + if (a == z.o_null) { + +base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085 +-- +2.32.0 + diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 0f766e7850..70df5482fb 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -200,6 +200,7 @@ (define* (racket-vm-for-system #:optional racket-vm-bc)) (define %racket-version "8.5") ; Remember to update chez-scheme-for-racket! +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit (string-append "v" %racket-version)) (define %racket-origin @@ -232,6 +233,54 @@ (define %racket-origin ;; Unbundle libffi. (delete-file-recursively "racket/src/bc/foreign/libffi"))))) + +(define-public zuo + (let ((revision #f)) + (package + (name "zuo") + (version (string-append %zuo-version + "-racket" + "8.6" + (if revision "-guix" "") + (or revision ""))) + (source + (origin + (inherit %racket-origin) + (uri (git-reference + (url "https://github.com/racket/racket") + (commit "v8.6"))) + (sha256 + (base32 "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk")) + (patches (append (origin-patches %racket-origin) + (search-patches "racket-backport-8.6-zuo.patch" + "racket-zuo-bin-sh.patch"))) + (file-name (git-file-name "racket" "8.6")))) + (outputs '("out" "debug")) + (build-system gnu-build-system) + (arguments + (list + #:out-of-source? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "racket/src/zuo")))))) + (home-page "https://github.com/racket/zuo") + ;; ^ This is downstream of https://github.com/racket/racket, + ;; but it's designed to be a friendly landing place + (synopsis "Tiny Racket for build scripts") + (description "Zuo (作) is a tiny Racket with primitives for dealing +with files and running processes. It comes with a @command{make}-like +embedded DSL, which is used to build Racket itself. + +Zuo is a Racket variant in the sense that program files start with +@code{#lang}, and the module path after @code{#lang} determines the parsing +and expansion of the file content. That's how the @command{make}-like DSL is +defined, and even the base Zuo language is defined by layers of @code{#lang}s. +One of the early layers implements macros.") + (license (list license:asl2.0 license:expat))))) + + (define racket-vm-common-configure-flags #~`(,@(cond ((false-if-exception -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 09/14] gnu: chez-scheme: Make bootfiles regular inputs. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665331845 (code B ref 57050); Sat, 27 Aug 2022 18:58:03 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:33 +0000 Received: from localhost ([127.0.0.1]:57075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zt-0008HS-2S for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:33 -0400 Received: from mail-vs1-f53.google.com ([209.85.217.53]:35493) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zO-0008Ei-7l for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:06 -0400 Received: by mail-vs1-f53.google.com with SMTP id 67so4692381vsv.2 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=y3LQ8K3rzYxXt+MlIQWAr2vQTMgHelN8GYtEuAXdQcM=; b=Vpg1kVv2RsCkOOUO0vfSDWLRAHPx5MeoI8LkLnezS/0qTrbGpEMwY44tbRweLXALX+ m+WijpXL80yH2cunYfb9R+VmB8/E/9xPRlDVQJkDbbRkjd1gIHwbLUCkzOXaPCEuEE/0 EmUHJPwlRni86v6kRvJiIAMp/eXWz9zlOyTlCebtnJwjY41HVRzhzjOYfaigSh0FGKdr GfEc6egS7TlZPhuH9MutwOZCFbffbWM70Lqxtt1U1yJPfXj+VX31+bBsqrg+A9m+wOHF NbexCJs4Ovha2mFCQEA0RXBjsM1GapnI8tQFGFAr28rhJw+wKVB7WENvdil0MhXy674W yBuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=y3LQ8K3rzYxXt+MlIQWAr2vQTMgHelN8GYtEuAXdQcM=; b=b/bTtxpPI7bv2SdMnSFCWhE4vCU0rdj/tboemdORKElgJiNQe1sXWV362DjI/8zGu2 iOfGGi4TnRdqrtdT0jul9+dGkBKcOoEEWG8eCUS+TjHUfJSG1eVEh3+UjfQGrjnxYyPP ehepcPJ9Dja9sCEkaIxovTi5dwHCO55+Mj/qdp8mOwjz1HKtqEzhjb+dF5OWXP7yHYER NhOFZuzHsNLjHMy1vh/w/8Z5TlOwtGGd7Zzcmf6iOHboyG9W35kwPlMNJnJ1kqxQhU8N BrUmNDoA9948/bgmmCbxIDkZzWgfXhyJicztyfQEE01C9yvhkVBIT4eWsXP8woZ8Lvux Loiw== X-Gm-Message-State: ACgBeo3fX0Mt8W1vXyPGPK8+MMXejkv9q1mLNHF9AOCQCSS7sSdjO5Re s/87UIZs1u2IcNbOheaODAn1h5CT1sx/A6qg X-Google-Smtp-Source: AA6agR58yzC0hSDiKMv/fZL/R/Af9f73UEoEkqoLiuBIx4ZCKBpbnwpP9WOPipFgTuXiIBpLG+5HEA== X-Received: by 2002:a05:6102:3e1f:b0:388:9dab:9bef with SMTP id j31-20020a0561023e1f00b003889dab9befmr1364522vsv.38.1661626616720; Sat, 27 Aug 2022 11:56: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 g80-20020a1f9d53000000b00382d5e1b95esm737344vke.35.2022.08.27.11.56.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:56:56 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:49 -0400 Message-Id: <0f44a1c29bd332808927cc4bf679fd11dc88cf98.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (chez-scheme)[native-inputs]: Move 'chez-scheme-bootstrap-bootfiles' to ... [inputs]: ... this field. [arguments]<#:phases>: Update 'unpack-bootfiles' accordingly. (chez-scheme-for-racket)[native-inputs]: Move 'chez-scheme-for-racket-bootstrap-bootfiles' to ... [inputs]: ... this field. --- gnu/packages/chez.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b59398578a..c87786c091 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -293,6 +293,7 @@ (define-public chez-scheme (build-system gnu-build-system) (inputs (list + chez-scheme-bootstrap-bootfiles `(,util-linux "lib") ;<-- libuuid zlib lz4 @@ -300,8 +301,7 @@ (define-public chez-scheme ;; for X11 clipboard support in expeditor: ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 libx11)) - (native-inputs (list chez-scheme-bootstrap-bootfiles - chez-nanopass-bootstrap + (native-inputs (list chez-nanopass-bootstrap stex-bootstrap)) (native-search-paths (list (search-path-specification @@ -338,7 +338,7 @@ (define-public chez-scheme (when (directory-exists? "boot") (delete-file-recursively "boot")) (copy-recursively - (search-input-directory (or native-inputs inputs) + (search-input-directory inputs "lib/chez-scheme-bootfiles") "boot"))) ;; NOTE: The custom Chez 'configure' script doesn't allow @@ -449,12 +449,12 @@ (define-public chez-scheme-for-racket (source #f) ; avoid problematic cycle with racket.scm (inputs (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib"))) + (delete "libx11" "util-linux:lib") + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs (modify-inputs (package-native-inputs chez-scheme) - (prepend zuo) - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (prepend zuo))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 10/14] gnu: chez-scheme-for-racket: Support cross-compilation. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665431852 (code B ref 57050); Sat, 27 Aug 2022 18:58:03 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:34 +0000 Received: from localhost ([127.0.0.1]:57077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zt-0008Ha-Em for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:33 -0400 Received: from mail-vs1-f47.google.com ([209.85.217.47]:35491) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zS-0008Ez-IL for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:07 -0400 Received: by mail-vs1-f47.google.com with SMTP id 67so4692469vsv.2 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=ooUpIt6v6GE6eFoJemQYYCCp1VZ+cCUGyFCLbJm82Ag=; b=ASCyFRuGkg7P7h7ErdubKW+AvLaaZfiFugJL/2BHQT/ClQrGxMrZUmYIEdC3d8LXat 8QdKVfDjVfd6lOPvWMd47CY2XY+ONHZEHQWg4cl4r9UxFIifF6zWGZ7aYJo60lmsQneA 35Cv7AHxy0fOYeD4VlW199M/GZAvBh8013kD2zZACNjfLF4R+/QVZv7WKdR66PwM6JAR 55YMXlH41ZBI5yYZedhtJzUxB1P/MauCJzJVkJ6jMH1lcXooTqm9W8xGlaGvc/emh8d4 8eGYMhGZ9vFUmtmHT/dxsCHfQo86LXiUQks4q/6VusODZi9MsGtHRzp84eV4DFvjSUZ2 cyOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=ooUpIt6v6GE6eFoJemQYYCCp1VZ+cCUGyFCLbJm82Ag=; b=vBU7ASGmQEdWAvy9i4AIdX9RTl2GiWWzbN6W7rXFW2LH4R6iIZCzE9cUAe6zE2s2ne QjTdPxYWzze2TTG6GQLrRgOEhAbDYPfj2kiJPzws/In5vz6nEDWR2+ZxtwO7BGq7oX60 +tYjU7h7baCID0J1OCV7DAj7RZbbe/CDfDe7bwE41s6B2z+7f0BTrdWNLOzibQrt6II7 N0sZT6UqcMZdP+OnwLxKHJRRMNQckeojV1vbOuyuMRG91aMOffvJKj2Z/Y+i7mg3jFKA E8scLOk6b9uYCmLAU/Q7aQXKySGSwU5rZ1Grxvumc9uTid0ePFv86NWXelegoWw41rIJ N8pQ== X-Gm-Message-State: ACgBeo2F9zywpef3sjUIpZUI6hGg1naGMxhQ2FscDHKFclpJdMvC1Uvv vKTDwH96Rahmx7ncFepgzqAzJkF/29otNQio X-Google-Smtp-Source: AA6agR68CEcAyQAS4/15apZHAXEjwXAKEHBjSN+HzMBwVNy1DWa4vHgz17NakQjDJWwv83AijXsAAQ== X-Received: by 2002:a05:6102:3f55:b0:390:c753:3565 with SMTP id l21-20020a0561023f5500b00390c7533565mr909851vsv.13.1661626620967; Sat, 27 Aug 2022 11:57: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 l124-20020a1ffe82000000b0037613541b27sm733728vki.39.2022.08.27.11.57.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:57:00 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:50 -0400 Message-Id: <66d68c8973ac72a28424697187cc936ee941c6d4.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (racket-cs-native-supported-system): Change to return the applicable machine type instead of '#t'. (chez-scheme-for-racket)[native-inputs]: When cross-compiling, add 'this-package'. [arguments]<#:configure-flags>: When cross-compiling, supply '-m=' and '--toolprefix='. <#:phases>: Work around cross-compilation issues in 'build' and 'install-docs'. (chez-scheme-for-racket-bootstrap-bootfiles): When cross-compiling, use 'zuo' and 'chez-scheme-for-racket' instead of 'racket-vm-bc'. [arguments]<#:phases>: Adapt 'build' phase for cross-compilation. --- gnu/packages/chez.scm | 85 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index c87786c091..26f653ea9d 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -235,14 +235,15 @@ (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." + "Can Racket's variant of Chez Scheme generate native code for SYSTEM? If +so, return the applicable machine type as a string. Otherwise, when SYSTEM +can use only the ``portable bytecode'' backends, return #f." (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))) + (string-append "t" chez-arch chez-os)))) ;; ;; Chez Scheme: @@ -453,8 +454,12 @@ (define-public chez-scheme-for-racket (replace "chez-scheme-bootstrap-bootfiles" chez-scheme-for-racket-bootstrap-bootfiles))) (native-inputs - (modify-inputs (package-native-inputs chez-scheme) - (prepend zuo))) + (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) + (prepend zuo)))) + (if (%current-target-system) + (modify-inputs native-inputs + (prepend this-package)) + native-inputs))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme) ((#:out-of-source? _ #f) @@ -468,6 +473,15 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate + #$@(if (%current-target-system) + (list (string-append "-m=" + (racket-cs-native-supported-system?))) + '()) + #$@(if (%current-target-system) + (list (string-append "--toolprefix=" + (%current-target-system) + "-")) + '()) ,@(let* ((chez+version (strip-store-file-name #$output)) (doc-prefix (assoc-ref %outputs "doc")) (doc-dir (string-append doc-prefix @@ -490,18 +504,42 @@ (define-public chez-scheme-for-racket #$mk-flags)) ((#:phases those-phases #~%standard-phases) #~(let* ((those-phases #$those-phases) - (unpack (assoc-ref those-phases 'unpack))) + (gnu:unpack (assoc-ref those-phases 'unpack)) + (gnu:build (assoc-ref those-phases 'build))) (modify-phases those-phases + (replace 'build + ;; need to override target for cross-compilation + ;; https://racket.discourse.group/t/950/19 + (lambda* (#:key target (make-flags '()) (parallel-build? #t) + #:allow-other-keys) + (gnu:build #:make-flags (if target + (cons "kernel" make-flags) + make-flags) + #:parallel-build? parallel-build?))) (replace 'install-docs - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key native-inputs (make-flags '()) + #:allow-other-keys) + ;; The tests for 'native-inputs' are cross-compilation + ;; workarounds that would be better to address upstream: + ;; see . + (when native-inputs + (substitute* "Makefile" + (("install-docs: build \\$[(]ZUO[)]") + "install-docs: $(ZUO)"))) (apply invoke "make" "install-docs" - make-flags))) + (if native-inputs + (cons (string-append + "Scheme=" + (search-input-file native-inputs + "/bin/scheme")) + make-flags) + make-flags)))) (replace 'unpack (lambda args - (unpack #:source #$(or (package-source this-package) - (package-source racket-vm-bc))))) + (gnu:unpack #:source #$(or (package-source this-package) + (package-source racket-vm-bc))))) (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) @@ -583,8 +621,12 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (name "chez-scheme-for-racket-bootstrap-bootfiles") (version (package-version chez-scheme-for-racket)) (source #f) ; avoid problematic cycle with racket.scm - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) - ;; TODO: cross compilation + (native-inputs + (cons* chez-nanopass-bootstrap + (if (%current-target-system) + (list zuo + chez-scheme-for-racket) + (list racket-vm-bc)))) (arguments (substitute-keyword-arguments (package-arguments chez-scheme-bootstrap-bootfiles) @@ -604,9 +646,22 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles #$unpack-nanopass+stex)) (add-before 'install 'build (lambda* (#:key native-inputs inputs #:allow-other-keys) - (invoke (search-input-file (or native-inputs inputs) - "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))) + #$(cond + ((%current-target-system) + ;; cross-compiling + #~(invoke + (search-input-file (or native-inputs inputs) + "/bin/zuo") + "makefiles/boot.zuo" + (search-input-file (or native-inputs inputs) + "/bin/scheme") + #$(racket-cs-native-supported-system?))) + (else + ;; bootstrapping + #~(invoke + (search-input-file (or native-inputs inputs) + "/opt/racket-vm/bin/racket") + "rktboot/main.rkt")))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 11/14] gnu: racket: Support cross-compiling the VM packages. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665431860 (code B ref 57050); Sat, 27 Aug 2022 18:58:04 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:34 +0000 Received: from localhost ([127.0.0.1]:57079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zu-0008Hh-1Z for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:34 -0400 Received: from mail-ua1-f54.google.com ([209.85.222.54]:34701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zW-0008GE-Tt for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:11 -0400 Received: by mail-ua1-f54.google.com with SMTP id s5so1696662uar.1 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=/nM7qIywAt/bOJqIUq/dp6+Lul98wutFn3ncNxCKjWA=; b=W8r32dilOFuvOcYmS32awotJ0e0O3YBLPPs6bKWhX4Aur8gLpIpwspRTwEuGkDxGpd WwdPXu3/5bppoWZqZmku5H7tYDtrV3K+an/+7XM3Par6I60oT1x9EX1Hwsi420bltu/k ufd+ELEokULUJzGH5DCVh2b9qJ7xGkUYmrY/JvQypfjvEPemn1pyhe+XF3/pTX49Ya3A Z3D49lqlqmlaKfHZhF8ovTvuPf4x6fXCwj2MNPgKgSkaM44VgJE3y8ZuLIlp9rhWthmR judamQu9J/6OyIANMnlBx2cNWIwC889G6iZ7/+6omWDYF0o1MwUxbIE+Q39kzZZnExkk i0xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=/nM7qIywAt/bOJqIUq/dp6+Lul98wutFn3ncNxCKjWA=; b=w7MS4cCCyZ3bDPOwVY8EfjiTO2iPOHxLWCHXOdnmZZjx+U5wrHfc7HTohXfdnuCmAB g+Ve3CXCk0J2oulY451PyyHO/e1Fk8+FVfd8HvnrmXTxsh5+G3iaytBk19nRaTRDJMKk laMiR7DlYQ/ouqTBl6JRpXVp9PsRMmcJT6If5B18ivMhFeXpiknPe4J6D/rLPA2CcyAD OzK6+w8zw+1fLmIgHgsr3IaDmatnlLRHrW8o//nnLUH89AGWVfU08PAvzXuFyNOTa/xz rou2dEqpBkJlSImB+C4oXAiBA+tytEEjQlxXCQlLgkB0d3kzQ7TfDTQHswpjcYFBh5lD B56Q== X-Gm-Message-State: ACgBeo3pl1wuKoqP8sCKsFLZeZqY0OE9RJcpWGXdGnhscFwE4qhfGeAc 7PaBiaLymnXB2yvh34+bt7PfXIBz7DGJfy30 X-Google-Smtp-Source: AA6agR6hQUq8w1+LP7yuQbrThtvfqvw2JEiXIVi4t0dZbeJBE1yP3iDivSZDT5TbGhxblKCnIO4MJQ== X-Received: by 2002:a9f:2f0c:0:b0:38c:6559:3c5d with SMTP id x12-20020a9f2f0c000000b0038c65593c5dmr1650877uaj.121.1661626625353; Sat, 27 Aug 2022 11:57:05 -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 v21-20020ab07055000000b0039f2ed540fbsm805388ual.15.2022.08.27.11.57.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:57:05 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:51 -0400 Message-Id: <2db8cb32ba8b8ca5edd3f76334b0bda0a91d6d15.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and 'racket-vm-cs'. These changes are not enough to cross-compile 'racket-minimal' or 'racket': that would require building and loading cross-compilation pluggins for 'racket-vm-cs', which will be much easier once we can build the package 'raco-cross'. * gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when cross-compiling. (racket-vm-bc)[native-inputs]: Adjust accordingly. (racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of 'racket-vm-bc' when cross-compiling. Adapt to changes to 'racket-vm-cgc'. [arguments]<#:configure-flags>: Fix '--enable-scheme' for cross-compilation. --- gnu/packages/racket.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 349cf38e07..4fcdd2f721 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -312,8 +312,11 @@ (define-public racket-vm-cgc (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) libffi)) ;; <- only for BC variants - (native-inputs (list zuo ;; <- for all variants - libtool)) ;; <- only for BC variants + (native-inputs (cons* zuo ;; <- for all variants + libtool ;; <- only for BC variants + (if (%current-target-system) + (list this-package) + '()))) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -401,8 +404,10 @@ (define-public racket-vm-bc (inherit racket-vm-cgc) (name "racket-vm-bc") (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (prepend racket-vm-cgc))) + (if (%current-target-system) + (package-native-inputs racket-vm-cgc) + (modify-inputs (package-native-inputs racket-vm-cgc) + (prepend racket-vm-cgc)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) @@ -432,11 +437,17 @@ (define-public racket-vm-cs (prepend zlib lz4) (delete "libffi"))) (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (delete "libtool") - (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - racket-vm-bc))) + (let ((native-inputs (package-native-inputs racket-vm-cgc))) + (modify-inputs (if (%current-target-system) + (modify-inputs native-inputs + (delete "racket-vm-cgc")) + native-inputs) + (delete "libtool") + (prepend chez-scheme-for-racket + chez-nanopass-bootstrap + (if (%current-target-system) + racket-vm-cs + racket-vm-bc))))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) @@ -450,7 +461,7 @@ (define-public racket-vm-cs "--enable-libz" "--enable-lz4" (string-append "--enable-scheme=" - #$(this-package-native-input + #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") #$racket-vm-common-configure-flags)))) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 13/14] gnu: racket-vm-bc: Add workaround for ppc64le. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665531867 (code B ref 57050); Sat, 27 Aug 2022 18:58:04 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:35 +0000 Received: from localhost ([127.0.0.1]:57081 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zu-0008Hp-HE for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:34 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:41734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0za-0008Df-FB for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:14 -0400 Received: by mail-vs1-f41.google.com with SMTP id k2so4666950vsk.8 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=YU4ih04xkhF5TGuDL+m5IHS3ZamHPV1zq/3MmOm+d5A=; b=PWEFotXkdrfuWG+K6BoZ13I/Z65Fz3dzeWy1iASoOYkkG2W0oK8Zw4qyflSHsvhWw2 MGQVOCHMAOtFpZj8VP1k1MWDG4+tcv/WyUZYE2IabhDzgDBDYMegn80swzQB5NpFygwn x5psf+GTyw8WlstTZgnLwhvh5Ivlv7R2lLywZOFAmfG1I8wo7qANiZsCu5cSFdRaUhEw N0VZbxDeWE6uATGXeO79FhnmLBcKlpHUPou/t21HsNglJNg5/g93sNVY3SwtqMyJNw/5 g3LCsNccP/h4/Jw3L3s9Ben+9el6AfvslhPo7GB+4q0OgKi/3MtcGnqmkQybAUR7/bSf Z2Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=YU4ih04xkhF5TGuDL+m5IHS3ZamHPV1zq/3MmOm+d5A=; b=YCbqAnrx3u6oJidwT+5d9OYFX3/629PojiX/nk8FA+Dn8+vRTJA/JO2N8TUYXuRRtz 3H9154+1vLIAhSzKllxbny0F3G22pEVwFR3UzQf9IflSNfm+rp0hcThKifHxa69PUzdW 7Ac/p1IrJHW81haUkcunJzaZDamfMxMAvC25sSk+9kSyHPULTEoCkZCuE/mwq2Yfp9j0 /SgzGAeIYZ/TRHwLlzfEJsQLHXLZgFDqKNuwe03JjSKBrJJipQ72I7rj8HTC0R+P6WxX RgAb3to9aGDY54H4au7GfIo5gekO7PAPOH3r78Z2eD8esPSMhowDkp/OeeDX9DKwFXak 4G9A== X-Gm-Message-State: ACgBeo36sr5YHbNSLlTzJFcPLR+J5HecIi5efXltVqKWWM0Qjk/E25EE xVwqca7CU+MK72PMURB1gy/Eq9jR5v9XjFiX X-Google-Smtp-Source: AA6agR5gJk1uDwYICbDwRMJYq/D1upoLUDOx8vMGyHKMBXcE7CdRC5M7De1ItUVND65CzmXFD239QA== X-Received: by 2002:a67:ef8c:0:b0:390:1f12:16c0 with SMTP id r12-20020a67ef8c000000b003901f1216c0mr1533639vsp.9.1661626634089; Sat, 27 Aug 2022 11:57:14 -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 196-20020a1f16cd000000b0039452821f2asm164852vkw.25.2022.08.27.11.57.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:57:13 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:53 -0400 Message-Id: <3b4d21a89901a434b1d37f53a0ad7f51a0e4adfa.1661626113.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This is an attempt to avoid a problem with Racket BC on ppc64 reported in that was exposed by attempting to use Racket BC to bootstrap Chez Scheme. Thanks to Matthew Flatt for the workaround: . * gnu/packages/racket.scm (racket-vm-bc)[arguments]<#:configure-flags>: Increase the number of bytes that should be available on the stack for "safety" when checking for stack overflow. --- gnu/packages/racket.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 264b44b7fd..74052d47eb 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -412,7 +412,20 @@ (define-public racket-vm-bc (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) #~(cons "--enable-bconly" - #$racket-vm-common-configure-flags)))) + #$(cond + ((target-ppc64le?) + ;; Attempt to avoid a problem bootstrapping Chez Scheme: + ;; see + ;; and . + #~(map + (lambda (flag) + (if (string-prefix? "CPPFLAGS=" flag) + (string-append flag + " -DSTACK_SAFETY_MARGIN=2000000") + flag)) + #$racket-vm-common-configure-flags)) + (else + racket-vm-common-configure-flags)))))) (synopsis "Racket BC [3M] implementation") (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 12/14] gnu: chez-scheme-for-racket: Support all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665531875 (code B ref 57050); Sat, 27 Aug 2022 18:58:05 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:35 +0000 Received: from localhost ([127.0.0.1]:57083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zu-0008Hw-TE for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:35 -0400 Received: from mail-ua1-f51.google.com ([209.85.222.51]:39734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zb-0008GT-Iv for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:16 -0400 Received: by mail-ua1-f51.google.com with SMTP id i5so1679400uat.6 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=6zzoKv40bqMpLMAJ4GX3nZVkALszTkt3Y0AWxUTi/OY=; b=OCzbX3ltvN390Et8uGz9reor9+iuGxSJpH2dydVsUOxbBZu75OIaj4JFpmm5gTLcYj z6sdzXJhiumGoRP0Hso7MvfJVd3z+WS9BZ24yLxgkllr1H/0T+Ig/AgMQOTNdruesQAt 7nbG8n1N73a6hjY/Pam1W+XJK0xXMfcUaw9zgfER+Vt1vvJvLeruPQbiMD4voAtr1qkr nw744fCAa5oi79dAyTHXuXD4s79JMH0L3XNZr3M0DeuMYG4bHmsylSxw6OuOlKOmQ7s7 5Dn0n4JwCPmXq7wOkgL/5DdwoDzEKg0Zw2uUGt9muRwyFJiMO60ZSz90LLjCs9Jg2kGT tvgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=6zzoKv40bqMpLMAJ4GX3nZVkALszTkt3Y0AWxUTi/OY=; b=ufYXZ7KuZxWS5eTbKAwE5QOCa645RJmg4cp5eRTmWvFZIcHHsIg0OHATPnfgISENLU e8jo0FyrCer7oCpus32nTdQvdGFPB3NoPKdL7Syl2/357HVmH7429g/k2kmxZtXVFbIy 5yeBodduW1mUe5wKUOEyDjmMep5gfhfkZlwKt/GSbcPHW0nZMGt/Ybm0cuUnBF396jEi O7hWwt2QiQiQL/pHhKKh62PuCdKezgpkxqtnbD+lrOeqTca9s8PbQIY9klggieY3frU5 y5jzrQsdopMYjBOF+sie3MIq7fgSRGCjvnD3tV3DWO6h1bxb59gdcXX1aSLe+Be0rBhk +t6w== X-Gm-Message-State: ACgBeo11rGdsiZMjWhURNudpGanKWLU7URGlTDsx06ZKPEjTVNlSp7vd gpphLO77TMwnjqxClRhTy6fwv5a0HJMOAiW5 X-Google-Smtp-Source: AA6agR4zxW02s4lREo3KFrvIndLHLWCNP//cwYArSIed0fZLbVpBGzqGU6q0TtIjwLJt4cQjr5npvg== X-Received: by 2002:ab0:2713:0:b0:391:50f7:88b5 with SMTP id s19-20020ab02713000000b0039150f788b5mr1565000uao.109.1661626629772; Sat, 27 Aug 2022 11:57:09 -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 x5-20020a67eb45000000b003909ba83c32sm599591vso.5.2022.08.27.11.57.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:57:09 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:52 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On systems for which Racket's variant of Chez Scheme cannot generate native code, it can use a 'pbarch' machine type: a variant of the ``portable bytecode'' backend specialized to word size and endianness. This allows Racket CS to replace Racket BC on those systems while maintaining comparable performance. (Racket BC lacks JIT support for those systems anyway.) It also lets us provide a Chez Scheme package on all systems Guix supports. This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and 'racket-vm-cs', but it does not change the Racket VM implementation used for the 'racket' and 'racket-minimal' packages. * gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable. (chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Always supply '-m='. Add applicable flags for non-native systems. [supported-systems]: Use '%supported-systems'. [description]: Update. (chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: Adapt 'build' phase for non-native systems. * gnu/packages/racket.scm (racket-vm-bc)[description]: Update. (racket-vm-cs)[description]: Likewise. [inputs]: Use 'libffi' for non-native systems. [arguments]<#:configure-flags>: Add applicable flags for non-native systems. --- gnu/packages/chez.scm | 76 ++++++++++++++++++++++++++++++----------- gnu/packages/racket.scm | 26 +++++++++----- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 26f653ea9d..5d152b3db5 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -37,6 +37,7 @@ (define-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages netpbm) #:use-module (gnu packages racket) @@ -49,6 +50,7 @@ (define-module (gnu packages chez) #:use-module (srfi srfi-26) #:export (chez-scheme-for-system racket-cs-native-supported-system? + nix-system->pbarch-machine-type unpack-nanopass+stex)) ;; Commentary: @@ -231,6 +233,28 @@ (define* (chez-upstream-features-for-system #:optional (and=> (assoc-ref %chez-features-table chez-os) (cut assoc-ref <> chez-arch)))) +(define* (nix-system->pbarch-machine-type #:optional + (system + (or (%current-target-system) + (%current-system))) + #:key (threads? #t)) + "Return a string naming the pseudo–machine type used by Racket's variant of +Chez Scheme to represent the appropriate ``pbarch'' backend for SYSTEM: that +is, the ``portable bytecode'' backend specialized for SYSTEM's word size and +endianness. The result will name the threaded machine type unless THREADS? is +provided and is #f." + (string-append (if threads? + "t" + "") + "pb" + (if (target-64bit? system) + "64" + "32") + ;; missing (guix utils) predicate target-little-endian? + (if (target-ppc32? system) + "b" + "l"))) + (define* (racket-cs-native-supported-system? #:optional (system (or (%current-target-system) @@ -449,10 +473,14 @@ (define-public chez-scheme-for-racket ;; When updating, remember to also update %racket-version in racket.scm. (source #f) ; avoid problematic cycle with racket.scm (inputs - (modify-inputs (package-inputs chez-scheme) - (delete "libx11" "util-linux:lib") - (replace "chez-scheme-bootstrap-bootfiles" - chez-scheme-for-racket-bootstrap-bootfiles))) + (let ((inputs (modify-inputs (package-inputs chez-scheme) + (replace "chez-scheme-bootstrap-bootfiles" + chez-scheme-for-racket-bootstrap-bootfiles) + (delete "libx11" "util-linux:lib")))) + (if (racket-cs-native-supported-system?) + inputs + (modify-inputs inputs + (prepend libffi))))) (native-inputs (let ((native-inputs (modify-inputs (package-native-inputs chez-scheme) (prepend zuo)))) @@ -473,10 +501,16 @@ (define-public chez-scheme-for-racket ((#:configure-flags cfg-flags #~'()) #~`("--disable-x11" "--threads" ;; ok to potentially duplicate - #$@(if (%current-target-system) - (list (string-append "-m=" - (racket-cs-native-supported-system?))) - '()) + #$(string-append "-m=" (or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type))) + ;; ^ could skip -m= for non-cross non-pbarch builds + #$@(if (racket-cs-native-supported-system?) + #~() + ;; not inferred on non-native platforms: see + ;; https://racket.discourse.group/t/950/9 + #~("--enable-libffi" + "CFLAGS=-g -O2 -D_REENTRANT -pthread" + "LIBS=-lm -ldl -lrt -lffi -lncurses")) #$@(if (%current-target-system) (list (string-append "--toolprefix=" (%current-target-system) @@ -543,10 +577,7 @@ (define-public chez-scheme-for-racket (add-after 'unpack 'chdir (lambda args (chdir "racket/src/ChezScheme")))))))) - ;; 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)) + (supported-systems %supported-systems) (home-page "https://github.com/racket/ChezScheme") ;; ^ This is downstream of https://github.com/racket/racket, ;; but it's designed to be a friendly landing place for people @@ -559,13 +590,17 @@ (define-public chez-scheme-for-racket Main additions to Chez Scheme in the Racket variant: @itemize @bullet @item -AArch64 support +AArch64 code generation @item -Portable bytes (@code{pb}) support, which is mainly useful for bootstrapping -a build on any supported platform +Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a +build on any platform, but can also be used on platforms without native-code +generation, compiled via Emscripten, linked with @code{libffi}, or used with +bytecode partially compiled to C @item Unboxed floating-point arithmetic and flvectors @item +Faster multiplication and division for large exact numbers +@item Type reconstruction during optimization (especially for safe code) @item Continuation attachments @@ -576,8 +611,6 @@ (define-public chez-scheme-for-racket @item Ordered finalization, immobile (but collectable) objects, weak/ephemeron generic hash tables, and reference bytevectors -@item -Faster multiplication and division for large exact numbers @end itemize") (license asl2.0))) @@ -655,13 +688,18 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles "makefiles/boot.zuo" (search-input-file (or native-inputs inputs) "/bin/scheme") - #$(racket-cs-native-supported-system?))) + #$(or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type)))) (else ;; bootstrapping #~(invoke (search-input-file (or native-inputs inputs) "/opt/racket-vm/bin/racket") - "rktboot/main.rkt")))))))))) + "rktboot/main.rkt" + #$@(if (racket-cs-native-supported-system?) + #~() + (let ((m (nix-system->pbarch-machine-type))) + #~("--machine" #$m))))))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 4fcdd2f721..264b44b7fd 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -311,7 +311,7 @@ (define-public racket-vm-cgc (version %racket-version) (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) - libffi)) ;; <- only for BC variants + libffi)) ;; <- for BC and non-native CS variants (native-inputs (cons* zuo ;; <- for all variants libtool ;; <- only for BC variants (if (%current-target-system) @@ -417,10 +417,8 @@ (define-public racket-vm-bc (description "The Racket BC (``before Chez'' or ``bytecode'') implementation was the default before Racket 8.0. It uses a compiler written in C targeting architecture-independent bytecode, plus a JIT compiler on most -platforms. Racket BC has a different C API and supports a slightly different -set of architectures than the current default runtime system, Racket CS (based -on ``Chez Scheme''). It is the recommended implementation for architectures -that Racket CS doesn't support. +platforms. Racket BC has a different C API than the current default runtime +system, Racket CS (based on ``Chez Scheme''). This package is the normal implementation of Racket BC with a precise garbage collector, 3M (``Moving Memory Manager'').") @@ -433,9 +431,12 @@ (define-public racket-vm-cs (inherit racket-vm-bc) (name "racket-vm-cs") (inputs - (modify-inputs (package-inputs racket-vm-cgc) - (prepend zlib lz4) - (delete "libffi"))) + (let ((inputs (modify-inputs (package-inputs racket-vm-cgc) + (prepend zlib lz4)))) + (if (racket-cs-native-supported-system?) + (modify-inputs inputs + (delete "libffi")) + inputs))) (native-inputs (let ((native-inputs (package-native-inputs racket-vm-cgc))) (modify-inputs (if (%current-target-system) @@ -464,12 +465,19 @@ (define-public racket-vm-cs #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") + #$@(if (racket-cs-native-supported-system?) + #~() + #~(#$(string-append "--enable-mach=" + (nix-system->pbarch-machine-type)) + "--enable-pb")) #$racket-vm-common-configure-flags)))) (synopsis "Racket CS implementation") (description "The Racket CS implementation, which uses ``Chez Scheme'' as its core compiler and runtime system, has been the default Racket VM implementation since Racket 8.0. It performs better than the Racket BC -implementation for most programs. +implementation for most programs. On systems for which Racket CS cannot +generate machine code, this package uses a variant of its ``portable +bytecode'' backend specialized for word size and endianness. Using the Racket VM packages directly is not recommended: instead, install the @code{racket-minimal} or @code{racket} packages.") -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 14/14] gnu: racket: Use Racket CS on all systems. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 18:58:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57050@debbugs.gnu.org Cc: Philip McGrath , Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162665631881 (code B ref 57050); Sat, 27 Aug 2022 18:58:05 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:57:36 +0000 Received: from localhost ([127.0.0.1]:57085 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zv-0008I5-Nc for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:36 -0400 Received: from mail-ua1-f50.google.com ([209.85.222.50]:40725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS0zj-0008Gr-SI for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:57:24 -0400 Received: by mail-ua1-f50.google.com with SMTP id i11so1672915ual.7 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=K6VMqV4XxLH2WG0Se6j4cPrQ0FaxrHYwnuyjyKquvEM=; b=V4QX8hF46bjXO14oXoAUWqQAr49U+0+CTJkDag2agt+KfBWUJSGV5xa5S+xz/gD7K5 iSe/sJqgPrq//JmV+uxe87/jZKEQx9nVBrNdY/uBJnrGyP4Z7MmjRE8Z5hRNaGc3yCNN eZfkt+j6FMYYBQBuc+ygOkoShyr99tlIpsYUGPXhaOKaow80G9V9MlPNvBhClFuNxHHN c3ydhP/1B6GnhGJ8K7QmEsPJw3BcqzlSBNd/NP/xSdPEBnW/su80sM2VHR82XzRXDuRp iNOWNrbaPumvTQffio+gm05LVO0s6Hf3HZTnaW32vUPm2bZ0MARMhAUwIdQHqzJ3F90f QVzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=K6VMqV4XxLH2WG0Se6j4cPrQ0FaxrHYwnuyjyKquvEM=; b=hwxKZRqZf2WyBf/vGpU8kZ+nKeoh+W1HHWtW15KT21ZFM81dX4cPguX2RM6ugBC0zU +BY0ZqR1Mo6KX5gKRqnmVTT2up4EVhLjIRwqhEHOGo5vx1iG7CpBVEtJujhBnDfr0GUF PMFzPX/rCOiyfu3a2lsfRPAZTwVXxqtObbpcUp1diJtabDz4wdED8ZcAWb76SUDYDPeu uZ9KnlhvN80w8urfCa1qMBfpHqM+SfMautcSM7d3p2d9ehZKmkHA7tMuCH/4iELbXH88 CGZa6JfvMZ4GAMWGeHg6bGaLdAnzfDGr963D6pExXj3iLe9Pa1sb/01C+w1f9OFACK3L 7uFA== X-Gm-Message-State: ACgBeo0o0g5+u5iAZCrOan4MJ0K13FOCnW2w4v4wtF1Dyr8XL0ZOWXsS /GP7TtCmAU10ZZdDYV/k96NFwlI+pSyZxR9G X-Google-Smtp-Source: AA6agR72htVr9ckmvDuSCI3HT8IMI0lIHEnVvtfaHAYgKkBm4JD0Ol7iKF7i6YUL1nkRwRgd4XjZ7A== X-Received: by 2002:ab0:6685:0:b0:39f:6fb0:870a with SMTP id a5-20020ab06685000000b0039f6fb0870amr1560905uan.61.1661626638353; Sat, 27 Aug 2022 11:57:18 -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 l191-20020a1f25c8000000b003793fcd6747sm738177vkl.13.2022.08.27.11.57.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Aug 2022 11:57:18 -0700 (PDT) From: Philip McGrath Date: Sat, 27 Aug 2022 14:55:54 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This patch uses the 'pbarch' support added to 'racket-vm-cs' to make it the default Racket VM implementation on all systems. * gnu/packages/racket.scm (racket-vm-for-system): Remove. (racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' with 'racket-vm-cs'. --- gnu/packages/racket.scm | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 74052d47eb..32ea866bff 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -128,10 +128,9 @@ (define-module (gnu packages racket) ;; This file defines the packages 'racket-vm-cgc', 'racket-vm-bc', and ;; 'racket-vm-cs'. All three are in-place builds of 'racket/src/' and ;; 'racket/collects/' and are installed to 'opt/racket-vm/' in the store -;; output. The function 'racket-vm-for-system' returns the recomended Racket -;; VM package for a given system. +;; output. ;; -;; We then define the packages 'racket-minimal' and +;; Using 'racket-vm-cs', we then define the packages 'racket-minimal' and ;; 'racket'. These use Racket's support for ``layered installations'', which ;; allow an immutable base layer to be extended with additional packages. ;; They use the layer configuration directly provide ready-to-install FHS-like @@ -192,17 +191,6 @@ (define-module (gnu packages racket) ;; ;; CODE: -(define* (racket-vm-for-system #:optional - (system (or (%current-target-system) - (%current-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)) - (define %racket-version "8.6") ; Remember to update chez-scheme-for-racket! (define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c (define %racket-commit @@ -566,7 +554,7 @@ (define-public racket-minimal (inputs (list openssl sqlite - (racket-vm-for-system) + racket-vm-cs (racket-packages-origin "base" %racket-origin '(("base" "pkgs/base") @@ -684,7 +672,7 @@ (define-public racket unixodbc libedit ;; TODO reconsider in light of expeditor and readline-gpl racket-minimal ;; <-- TODO non-tethered layer - (racket-vm-for-system) + racket-vm-cs (simple-racket-origin "2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7") '("2d" "2d-doc" "2d-lib")) -- 2.32.0 From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 19:00:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Efraim Flashner Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166162674832083 (code B ref 57050); Sat, 27 Aug 2022 19:00:01 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 18:59:08 +0000 Received: from localhost ([127.0.0.1]:57097 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS11Q-0008LP-D8 for submit@debbugs.gnu.org; Sat, 27 Aug 2022 14:59:08 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:39686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS11O-0008L2-Vt for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 14:59:07 -0400 Received: by mail-ed1-f67.google.com with SMTP id x93so5553001ede.6 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 11:59:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=9Wl2NlVKPW6EUAFtxwCsrpRKAl9SL5qW1aZ3igPU94A=; b=jgmWnSEc1WICRa+iOvKyrURynIpvXfuSEAS9J8qLffy7TiwY00BtG6Xj76KWCfaCHn PExXGiS71HSVeaR9GeW52qDQxSFTEVOYUUZG8AcuuRT9DdYPzThquGmy0jMfy51he6ie KMKjAr7Q6TZ3NsHXwkni41pMiaQ7j53WT9T3TkNX8SCLrhyq9tbs3lXQIbPB1jnRl1OG svYkTsxBhhUGPHGcLhyZRHmw44tjJ/SWVJ7+v9G/mLGoyBgJJbKuS7CDLtwP6K0RhlYX eGUGyiZuksDTJP1zCXDrlKGoQIon45A0kXhR7nruHH74MecAwklEtZDovm028U9RGPga 6pDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=9Wl2NlVKPW6EUAFtxwCsrpRKAl9SL5qW1aZ3igPU94A=; b=J8mQhk9AS6MpC0sp8UCY29QQWShoEUrhd9eLhowRE3U0Y5CY4UHsg7SapMmCL4hr6J Ihmkm+zNvOYJ2LYQY+TSupsPHjSqGt4LffvYatNNfA4yLPEzJ1HsRgCyTpKJUVvcdSzS Q3d4z/0tIx+BH4PiILVCysNJPKhgjrvMb0rov18C5cpQLAQR4Y7mlEjTOt8Obs1gb8js H2UgpeUNxK1L53VRL9H6QcmQFnc9tcD9mroCGmg53ODBVrv/qJx93wNA751a5lCu2MWM LaYlEtUyz6QjQaBSQp9Di2rHLbwNDmx3SSVsMaZVaf1Iup+F+89YYkRg/iH1acVlf8uA b1Lw== X-Gm-Message-State: ACgBeo0EF+7Ryb8pXIYsY7vHvnE3vM272/1+NXhebYPoQRrjRpe2yYIU 1pkpMVURC06a0P9hAi3suYQ= X-Google-Smtp-Source: AA6agR47EhLIh8xUSVSFXvK4rMUmF6GgVklYdj6BEMGk5RiG+yOs5+V3IAJHUmZZQvAqpsIOoSiiUQ== X-Received: by 2002:a05:6402:26c6:b0:446:b4aa:5d00 with SMTP id x6-20020a05640226c600b00446b4aa5d00mr11365513edd.63.1661626741152; Sat, 27 Aug 2022 11:59:01 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id 1-20020a170906328100b0073d70df6e56sm2344837ejw.138.2022.08.27.11.58.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Aug 2022 11:59:00 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Sat, 27 Aug 2022 20:58:49 +0200 In-Reply-To: <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 27.08.2022 um 14:08 -0400 schrieb Philip McGrath: > On Fri, Aug 26, 2022, at 8:01 AM, Liliana Marie Prikler wrote: > > Am Donnerstag, dem 25.08.2022 um 16:04 -0400 schrieb Philip > > McGrath: > > > How does this seem? > > > > > >       (description "Zuo (作) is a tiny Racket with primitives for > > > dealing > > I don't think (作) adds anything meaningful.  Perhaps a Chinese > > translation might want to use that character, but in English we > > have to > > deal with the fact that most no one will understand that. > > I think "(作)" concisely answers the question, "Why is this called > Zuo?" (Answer: 作 means, roughly, "make".) To the average English speaker, which you'll have to assume in a description, it really doesn't. You'll have to know that Zuo means make, at which point it is no longer that concise :) From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 08/14] gnu: racket: Update to 8.6. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 19:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16616280941789 (code B ref 57050); Sat, 27 Aug 2022 19:22:01 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 19:21:34 +0000 Received: from localhost ([127.0.0.1]:57118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS1N7-0000Sm-RP for submit@debbugs.gnu.org; Sat, 27 Aug 2022 15:21:34 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:39705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS1N3-0000SX-Oi for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 15:21:32 -0400 Received: by mail-ed1-f65.google.com with SMTP id x93so5593670ede.6 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 12:21:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=r4jsL9PcwewNjeymQ0ZMNBBOw8674fgMQhDS4Ahy7zU=; b=V54BgiNoXviqePjcu3RbOBRAFFUpmJSq/OIhZjuTVtJAZUaByCMAEGLlhmMH95K1G0 CavEXxZeQEtyDdprQkPbU90nZ/Zc772q0rOQHrMbKXwZq5vcJ6aYJr/7ES5QLg5KKJn7 C0NYJYjbE2BbAbAZG6JCAVlfNhtGewt5N7A8EspqJE7d8i0lB9AbE7Mro2PDu5Z2SEVD 5kNQ1BYCJmYuCIEVevc/WcITMmOL9zGI2Ap8Z0Tfth3klMgBaBYp+JBBLBfJ/8Y2NIE4 cntl6VeTvxmfZgDy9N+knwVbJWwUq3LLXC32qYk5S2TNBRCOKyYVX7rxcA7yAsrIo18g sAOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=r4jsL9PcwewNjeymQ0ZMNBBOw8674fgMQhDS4Ahy7zU=; b=w/wKeAQTbCbC01QOJu0lXCgSC/CcOGpka63q55UbOOlKUoDfgarEKkyL9k4JNZiHLX aWhH8qEB39tySYFL87Myqj+N0ZYiE47CarbonSB+jU87atmG45IDyBBsRPh5DOIxMxJJ 81EuQSTIk/KWUNkuh7NFwqP1OP01nHAczzVogxGE1O+LrfTddWi10WM18FvWzDB/wKfn 2V8gfXP9EtF7pcDf1HBe6+iYltjXK8y121NPq2TcQ4deFsiW5/MGgjPVrDPhsuUcUYQ2 giDnXOi81T2NaDhQ0/D56RJ7HERIt84zChyDG8Hub4zyTa86R8X9n8xuDQnISnI8mAYP kwcw== X-Gm-Message-State: ACgBeo0OCcu6VpvleYYsoVI1r+ku1+7ow0r4Njnc+ftcB4Qg2EDRthEB eAnJ9vn0pSr54AHr8zq5c7g= X-Google-Smtp-Source: AA6agR4er60pws3yxCdkvS1ISAEifDH2DJKh3KdpydQNIRtIm5Qs6fFB5opJFZOFGH+jz+0nD5N2tA== X-Received: by 2002:aa7:d596:0:b0:448:3d51:825 with SMTP id r22-20020aa7d596000000b004483d510825mr1528497edq.220.1661628083909; Sat, 27 Aug 2022 12:21:23 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id s17-20020a50ab11000000b0043d1a9f6e4asm3245140edc.9.2022.08.27.12.21.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Aug 2022 12:21:23 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Sat, 27 Aug 2022 21:21:22 +0200 In-Reply-To: <75705f7ebdc1bbacbc79b98020533bb0a7417443.1661626113.git.philip@philipmcgrath.com> References: <75705f7ebdc1bbacbc79b98020533bb0a7417443.1661626113.git.philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 27.08.2022 um 14:55 -0400 schrieb Philip McGrath: > +       ((#:tests? _ #t) > +        ;; FIXME: There have been some flaky test failures. Some > have been > +        ;; fixed upstream post-release but have proven non-trivial > to > +        ;; backport; at least one issue remains. Re-enable tests > once > +        ;; https://github.com/racket/racket/issues/4359 is fixed. > +        #f) Rather than discarding all tests, just discard the flaky ones. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 19:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , "Efraim Flashner" Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.16616301525313 (code B ref 57050); Sat, 27 Aug 2022 19:56:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 19:55:52 +0000 Received: from localhost ([127.0.0.1]:57155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS1uK-0001Nd-99 for submit@debbugs.gnu.org; Sat, 27 Aug 2022 15:55:52 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:33729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS1uH-0001NO-CI for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 15:55:50 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id EF5723200313; Sat, 27 Aug 2022 15:55:42 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Sat, 27 Aug 2022 15:55:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661630142; x=1661716542; bh=osvgDzgLCF UiZRAanvfMyES2E1needqPjllcuMQmi9M=; b=lf5bhV1U7nHrRQEC0LiNnt6J3R fj5IyTiZ4TYJ2eVCd7dl+ChcCkPdWMPxCG7ZPrCpTWbZxqb9CngOusUtOp69DzB0 xGm5lcQTEz+K7tInG4uZBWBECCc0/SvkFZxao7AfxEyuOkqYDrR0B6y+FOBps3kZ AXLiJ0f/xEvzBUPrPFiha0PYpYlTB0Q0E8b3gqNkt3QtSWKSrLKUNI0qqorzRrg6 KqezxpQ1A1gnUiEf+y/gAfEZeesnjjL9DjJS0hWDVX2wn4FS1RnumHIXe0dt4Qgt 6rGFmPzuPaZ9QMSgt+b6eksCG/4NL0IZPmbe66xJJ9spyqGZ9rG1EkR+5QrQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661630142; x= 1661716542; bh=osvgDzgLCFUiZRAanvfMyES2E1needqPjllcuMQmi9M=; b=h PBGIY0vtkCQqnejPPKL+NjAE7KAv3OvBff8+Z5StD2T0zkg4sD68JpOoAsoX3EXU yfiGDgR2F7f8XnrtOp6Sw026dB5svb2XbSY5scJOkxit2K8Ek9RRSwqUgfSerU0q zsQ4VlaDi683D8j99xpJAAFzQAWRs7gaFSCxpwEBEGyfyRp29tvwrrBnzxh4h/yw ojT21HEppgnuHjopJeMTiFQFqq1Wdn66pk1T68OqriH+6ePfkIvjDCFgiIoisJ9Z I3CZ06EfbYjzdgcUhEFA5g6VdpFM2zomXIet21eanJzIFk+B+R49T/u2jl9cAgeA Rpp/iStZ/9vo3226CeP8w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejjedgudegjecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepkeeijeehgfegtedvjeduleeiudeghefh tdffteevudefleeiffelveekhfevveetnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgt ohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id F166CC6008B; Sat, 27 Aug 2022 15:55:41 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> Date: Sat, 27 Aug 2022 15:54:41 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, Aug 27, 2022, at 2:58 PM, Liliana Marie Prikler wrote: > Am Samstag, dem 27.08.2022 um 14:08 -0400 schrieb Philip McGrath: >> On Fri, Aug 26, 2022, at 8:01 AM, Liliana Marie Prikler wrote: >> > Am Donnerstag, dem 25.08.2022 um 16:04 -0400 schrieb Philip >> > McGrath: >> > > How does this seem? >> > >=20 >> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (description "Zuo (=E4=BD=9C) is a= tiny Racket with primitives for >> > > dealing >> > I don't think (=E4=BD=9C) adds anything meaningful.=C2=A0 Perhaps a= Chinese >> > translation might want to use that character, but in English we >> > have to >> > deal with the fact that most no one will understand that.=20 >>=20 >> I think "(=E4=BD=9C)" concisely answers the question, "Why is this ca= lled >> Zuo?" (Answer: =E4=BD=9C means, roughly, "make".) > To the average English speaker, which you'll have to assume in a > description, it really doesn't. You'll have to know that Zuo means > make, at which point it is no longer that concise :) I really think this is quite normal English usage. Consider, for example= , The Chicago Manual of Style, 16th ed., 6.93 (Parentheses for glosses o= r translations), 11.7 (Translated titles), and, most specifically, 11.11= 9 (Inclusion of Chinese and Japanese characters), which says that "Chine= se and Japanese characters, immediately following the romanized version = of the item they represent, are sometimes necessary to help readers iden= tify references cited or terms used" and that "where needed in running t= ext, they may be enclosed in parentheses." When I search for the ascii string "zuo" in a general search engine, I s= ee results about a wholesale furniture company, a "cloud-based subscript= ion management platform provider", a music video, a video game, and seve= ral individuals whose names contain "zuo" before I get to any informatio= n about a Chinese word or character. I don't think it's absolutely essential, but I don't see why including i= t would be a problem. -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v4 08/14] gnu: racket: Update to 8.6. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 20:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , 57050@debbugs.gnu.org Cc: "\(" , Maxime Devos , Efraim Flashner , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166163229317003 (code B ref 57050); Sat, 27 Aug 2022 20:32:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 20:31:33 +0000 Received: from localhost ([127.0.0.1]:57183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS2Sr-0004QA-9p for submit@debbugs.gnu.org; Sat, 27 Aug 2022 16:31:33 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:36535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS2Sn-0004Pu-Fj for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 16:31:31 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id D296632001BB; Sat, 27 Aug 2022 16:31:21 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Sat, 27 Aug 2022 16:31:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661632281; x=1661718681; bh=a1p2emTZmi wJfzLYTcdISDuet2DcN1ZQw6tRc7bJnXY=; b=Mbcga1RDpHS4VRwERPUKOdjBWB FPiUISpq2F2B2Con0ofX5x66xHwgtLlkgSyjPdrlwmLddtToVX9lDlAtNLLMW+Bn FNKleOfDqCJSAUSu5MLRZemnCwVtf9yiltI6LtKSsEXQj22jnQMDcceQ84mpnk8q ZXeD3IO3BV+T+gRoyrdsx9mG5NIpt+dWktPEQLSwUWSWCY4I3ULY/+z9z1w0+Uvk 1J2CGZ5pxUp3I8T+L+EbInrSiJ3Us2SCHF+nk87DQ+keQW0uaFEO0XQphOOTHh2T IVgQW/gBYqgCoU76vVxYorbyTCQvn2MnWqLvIRzNOwvy71VT5c3QjAYFHVaw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661632281; x= 1661718681; bh=a1p2emTZmiwJfzLYTcdISDuet2DcN1ZQw6tRc7bJnXY=; b=G fkP3qxX1g7QwQxwyUK8RIWrnHcI4UeCu/8LjnUq06dTvVOjYlAsqyD/zzsHdD5kN QcVBkgx7gFRMVJEISawtcySNI2wthtgo08gpqj3p3Ji0U4JbPBgV2ZLxs0f8fn4A 6jQEqVLGbF3LpIDVwqunj+M+tjhmcLr9FJ1J/nzBYapI0Xf1PdOA2s181TT1EP56 aH6X4q7r6idau8s1kCS0lfTiapakqXmO+sNcK8PIxKGODTwTvKceM5rCrGzMgkaW /+NfL6sEB5H32riILPQgsoscIwFJhszsBo1JqX1HdwhGLwYw3ncMZb3nYOnM28wb 56rRH7nMEuRZ5bCR1NUnQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejjedgudehgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepfeevgedvvdekvddttdfhiefgtddvgfeh ffevueeutdevudejteevtdfhhedvhffhnecuffhomhgrihhnpehgihhthhhusgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehphhhi lhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id EC64CC6008B; Sat, 27 Aug 2022 16:31:20 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: References: <75705f7ebdc1bbacbc79b98020533bb0a7417443.1661626113.git.philip@philipmcgrath.com> Date: Sat, 27 Aug 2022 16:30:59 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, Aug 27, 2022, at 3:21 PM, Liliana Marie Prikler wrote: > Am Samstag, dem 27.08.2022 um 14:55 -0400 schrieb Philip McGrath: >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((#:tests? _ #t) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; FIXME: There have been= some flaky test failures. Some >> have been >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; fixed upstream post-re= lease but have proven non-trivial >> to >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; backport; at least one= issue remains. Re-enable tests >> once >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; https://github.com/rac= ket/racket/issues/4359=C2=A0is fixed. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #f) > Rather than discarding all tests, just discard the flaky ones. I've tried to explain this before, but, as far as I've been able to dete= rmine, the problem doesn't seem to be that a particular test or group of= tests is flaky: the mysterious problems all seem to be related to setti= ng up the test environment. There have been problems, for example, with = files not being found, or the complex pile of patches used to construct = variants on the expected error output not working properly. At least the= unix, windows, ieee, date, oop, primvars, and misc test groups have bee= n affected. Since it's not been easy to reproduce the problem (I've thou= ght it was fixed several times), I have no reason to believe it wouldn't= affect other test groups if we skipped those. An unfortunate consequenc= e of the way the tests are organized, skipping particular test groups me= ans that expected error output is never checked and requires manually ch= oosing the configurations (combinations of compiler/interpreter settings= ) you want to test. I do not see a viable path to fixing the tests for this release, and I d= on't know a way of running a subset of tests that would be both reliable= and meaningful. Other distributions are also skipping these tests. In fact, Guix is currently skipping an unknown (probably large) portion = of these tests because of the issue with "/bin/sh", which has lead to th= ings silently not running. I hope we will get this fixed upstream for the 8.7 release. In fact, I'v= e not yet encountered the problem while building from Git HEAD, but it's= not clear what change might be relevant. (Indeed, the problem might sti= ll be there, and I might just not have hit it yet.) -Philip From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 21:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Efraim Flashner Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166163514621631 (code B ref 57050); Sat, 27 Aug 2022 21:20:01 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 21:19:06 +0000 Received: from localhost ([127.0.0.1]:57193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS3Cs-0005cp-1E for submit@debbugs.gnu.org; Sat, 27 Aug 2022 17:19:06 -0400 Received: from mail-ej1-f65.google.com ([209.85.218.65]:42515) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS3Cn-0005cH-HD for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 17:19:04 -0400 Received: by mail-ej1-f65.google.com with SMTP id p16so5852949ejb.9 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 14:19:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=8TLqnFj0mIE7OQhLwp+aOWco4uxrQ329BSrAbw3X0r4=; b=OieQt+PEv58UgqLN/K2qRqxx9J8DWsGEOz3J+fGihbQEnDyD9S8iXdfCwVnWMZK1aC Aok4Z70Tus/7GxyNqm5y2/KFLtArdF20sDJUVfXGMDpGhs4Kws2YE3w6HLrn/OaxdGtA JON8oVGkA2Xze+CR9fr9Gncj1Jqtf3EXO2S/sZnoptDXWjUU4v4PlBc7CsVC31ndtHU9 xRZdp1giUAlOrUJtdrA4bPhGGXWkee4vid+PJAW4UFGexjAP4GEbqJIM/h9tCx6xpAkz 97tNxJbQhFqwcvP6Am6EYnE4lYgRkv8cqexoFZnu7it7yJkX299W1qPfXGHq5lHYzDgv zhNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=8TLqnFj0mIE7OQhLwp+aOWco4uxrQ329BSrAbw3X0r4=; b=jqP1PsT2WovffzVApSAc3Fo/s9gnUm1p312KJLxaGogT/lqC/PSeawvEkrrHCBn/oq QozOsipR6JQXjfQt5l/JlODjbaR68GyxwXKHZJbOWPwpg2azQzsjdbfWfIw0NZnlDLZG AL79tP2H/eR1/6A5lCUC09wVjyIliavD01heMBJ6zLerSE6+T6StNBB5cr6TwOaFrViK xRSlnopFZKuhMbtDJEJGaXtjAjZsa3eqC1zVhFKTDwll9K0eHfhcGTl+F3qIX55/Uh/F mrzpMQG3+qDuTxhL2b4/eM2de//e7fMfczJtQu0pm4todlYB+eXFijfQO2+pCXNmBljW 3dEA== X-Gm-Message-State: ACgBeo2QSRS51dyIExUvztoJH971ibLvEHK4Y0zHIQspxZIhdCcyx5SQ sOWEoxXUdsrQpc56dLJxcrU= X-Google-Smtp-Source: AA6agR4nQBAueIadeoDCOUYF7/X0A96YDcGHsa+3nWPbzxRIlIPT87FJe4MCOUJAoJTqJl3heY1Rdw== X-Received: by 2002:a17:906:8a4e:b0:740:2450:d69a with SMTP id gx14-20020a1709068a4e00b007402450d69amr5111521ejc.523.1661635135510; Sat, 27 Aug 2022 14:18:55 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id c23-20020aa7c757000000b00447b4a7ed85sm3271554eds.86.2022.08.27.14.18.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Aug 2022 14:18:54 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Sat, 27 Aug 2022 23:18:53 +0200 In-Reply-To: References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 27.08.2022 um 15:54 -0400 schrieb Philip McGrath: > When I search for the ascii string "zuo" in a general search > engine[...] The home-page field exists, as does `guix build -S'. One more reason to use the subtree repo. Cheers From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 21:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Liliana Marie Prikler" , "Efraim Flashner" Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166163579222644 (code B ref 57050); Sat, 27 Aug 2022 21:30:01 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 21:29:52 +0000 Received: from localhost ([127.0.0.1]:57207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS3NH-0005tA-Uh for submit@debbugs.gnu.org; Sat, 27 Aug 2022 17:29:52 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:39003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS3NG-0005su-6r for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 17:29:50 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 0BA1832003C0; Sat, 27 Aug 2022 17:29:41 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Sat, 27 Aug 2022 17:29:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1661635781; x=1661722181; bh=27T54VU5cM 2TUNCCUeWLVJo/pdONQsy9fCILuXXUZ7I=; b=cJ1r4dbBEOuLkrOzLkqjf+zKNe 7ur/MpL7rB6znsL3RLeARJeMwhR1afcV3LF8XY8TIR4J/4n/cPOuEtLPRvkxJPgu uU5rSLXlAbXygEu45jLB8l8gdNtiTAvnygU5O3ZRhOueIV6na3RC+4ggdDx+dwRS Wc8tDX3VCUy0w/HXd0yb8Pu9JpMbX1Ho3x6I2X7HEIQSAFG9Oi9WEzfsxgU+RSmU dTc58Ymc1IDU+Kt2jdGq803kjImaSZx8Rv8X+ULn3pbUc190wroZ4bUQa5QGzwVN EoiP5EQ6BObsc5uUjmSRBzVoowmY+P4LwH/Fo83gpyv61lRLCaWXYi7VMzQw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661635781; x= 1661722181; bh=27T54VU5cM2TUNCCUeWLVJo/pdONQsy9fCILuXXUZ7I=; b=h Al9yUucBYFZEMf4k8Ew8I32b/TzLGtErlxoYFxmnfvClKDZlWGILKLJGP9qDeCzk ux1nfcLiEqMZoggRJC02FzpVV3oDDdTkPdZxmeSHLg4EKrcS0zScUCqis0zeFFyM jO8y4q9MQB1tljOvO3zXJFP4QyVucxjxWs79MUUA6z7tm4+6o40fFh4+i3WfTwgd SF/toYGSpPusScKbGY+Lhl4DaKWp1QLO+Caf2gOT90DwJiY2Sr70JPDrA6iBkZ9x lJ3/Lvjx21ff46i4qNFX1Cec1H9F24ttmd1XBFiKrYuo5fZqL4VVhff43kUK7sk0 DcnSsrILTFvRJfwOO/jpA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejjedgudeiiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedf rfhhihhlihhpucfotgfirhgrthhhfdcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrg hthhdrtghomheqnecuggftrfgrthhtvghrnhepkeeijeehgfegtedvjeduleeiudeghefh tdffteevudefleeiffelveekhfevveetnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgt ohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id A2A24C6008B; Sat, 27 Aug 2022 17:29:40 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a Mime-Version: 1.0 Message-Id: In-Reply-To: References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> Date: Sat, 27 Aug 2022 17:28:43 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, Aug 27, 2022, at 5:18 PM, Liliana Marie Prikler wrote: > Am Samstag, dem 27.08.2022 um 15:54 -0400 schrieb Philip McGrath: >> When I search for the ascii string "zuo" in a general search >> engine[...] > The home-page field exists, as does `guix build -S'. One more reason > to use the subtree repo. > > Cheers I understand that you don't think mentioning =E4=BD=9C is necessary. I d= on't understand why you seem to think mentioning =E4=BD=9C is bad. From unknown Mon Aug 18 15:41:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Aug 2022 22:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Philip McGrath , Efraim Flashner Cc: 57050@debbugs.gnu.org, "\(" , Maxime Devos , Thiago Jung Bauermann Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166163918428249 (code B ref 57050); Sat, 27 Aug 2022 22:27:02 +0000 Received: (at 57050) by debbugs.gnu.org; 27 Aug 2022 22:26:24 +0000 Received: from localhost ([127.0.0.1]:57267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS4Fz-0007LZ-Ur for submit@debbugs.gnu.org; Sat, 27 Aug 2022 18:26:24 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:37467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oS4Fu-0007LI-9M for 57050@debbugs.gnu.org; Sat, 27 Aug 2022 18:26:21 -0400 Received: by mail-ed1-f65.google.com with SMTP id b16so6039490edd.4 for <57050@debbugs.gnu.org>; Sat, 27 Aug 2022 15:26:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc; bh=EKT/4gkyWnFIzxJ/Hvi60Wxnll7ZJMQrEnLSAcFrohQ=; b=HIXejGLLgKi+4CtN4NfmRtd8nDX/cz8n7NGKLhKMpdFDrcYu/whnPjH9uvPcL/1Vmh TPvUq1Ci1eYAdDZWHfclsbbUhGJNzgrhyZbmhGZpmINzNLBileATHVij9eVkqFzjX2kk 7Z1+ktIfcncWgXmv6BqzXZ5ii7aUiUIHZgKcAiLFqk2wkF6gvFChPDUfDcQJmIRCjAcq ZubPOwVOVd86rFQTn7ATigvzTpeZNpVSmwACklYWB2/4TDkveaooScksVARF0xmXYOUz b9093D5AJCkefbxkJV/vAjQgOzjSfrPQmAGy+5e/Ts/D5wGKRPAx3Z+FPLwS1qgFXsag R12g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc; bh=EKT/4gkyWnFIzxJ/Hvi60Wxnll7ZJMQrEnLSAcFrohQ=; b=De5gZrKykQqhck9casmv8+IOCDZ8+f1rKRaRxiRIWvQvH8LlVY/fXRK5nvIdiP7m50 sGPXXbvnJb6OKWKzz7wO8VeCT89REue6gms1urKsvcUGlxOTCe+Yt0QyOdk3vgUK6ARK 1xCWL0D8aguZo/XoPpMwKj5gO1McaaYKWnmsAtNZLZXsZBTC6bhhHxA2k6tDcPfAazV4 ysOZmZHFotZJ6Ej/MAD+75f62sXvNJa/QRQTfUVOmO/20uW0NnKZHUP2CBkXKbmo6tyJ YwMXr/VAZ88AdICLVapjLQzehJFemy3fpDaXfaf8cXiNzYP5ZEcpQgM4SuferzSy8CdC bFfg== X-Gm-Message-State: ACgBeo2cESQmELeYIqRQka3uOOK8xSq0UZnJusN70K0nf+nz0kzNldBg DFpyASdgiSsTR30rudvyiK0= X-Google-Smtp-Source: AA6agR6/DCfBH7ZFVZuDJOMDDY+HGLGQonlLMgSWEQLKs7izotyykODKanT9m6yClQme+Y8oEoiQWQ== X-Received: by 2002:a05:6402:3681:b0:446:ba68:573f with SMTP id ej1-20020a056402368100b00446ba68573fmr11642190edb.137.1661639171229; Sat, 27 Aug 2022 15:26:11 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id 1-20020a170906328100b0073d70df6e56sm2514052ejw.138.2022.08.27.15.26.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Aug 2022 15:26:10 -0700 (PDT) Message-ID: <3aec93b3106424b6238ec3a294eb882682df3a84.camel@gmail.com> From: Liliana Marie Prikler Date: Sun, 28 Aug 2022 00:26:09 +0200 In-Reply-To: References: <3231fd55699bd60448e5aaa3ca8ddf9fbea085c6.1661416343.git.philip@philipmcgrath.com> <490171b8-eb12-4274-830d-039f23d1bb6f@www.fastmail.com> <764bd6d01effa26b02f5a070c1bcbadb93f81357.camel@gmail.com> <13c01780-4990-496b-9a2d-531c1a7d51db@www.fastmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 27.08.2022 um 17:28 -0400 schrieb Philip McGrath: > On Sat, Aug 27, 2022, at 5:18 PM, Liliana Marie Prikler wrote: > > Am Samstag, dem 27.08.2022 um 15:54 -0400 schrieb Philip McGrath: > > > When I search for the ascii string "zuo" in a general search > > > engine[...] > > The home-page field exists, as does `guix build -S'.  One more > > reason > > to use the subtree repo. > > > > Cheers > > I understand that you don't think mentioning 作 is necessary. I don't > understand why you seem to think mentioning 作 is bad. A package description is not a Wikipedia entry. Different styles apply. In an encyclopedia, the bracket form you mentioned can be a handy way of including "useful" information right at the start when the article itself is much more long-winded. This is not the case here, though, and the entire bracket expression only serves as a distraction from the rest of the sentence. From unknown Mon Aug 18 15:41:37 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Philip McGrath Subject: bug#57050: closed (Re: bug#57050: [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo.) Message-ID: References: <87sfl6svyq.fsf_-_@gnu.org> X-Gnu-PR-Message: they-closed 57050 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 57050@debbugs.gnu.org Date: Sun, 04 Sep 2022 20:54:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1662324841-31971-1" This is a multi-part message in MIME format... ------------=_1662324841-31971-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #57050: [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 57050@debbugs.gnu.org. --=20 57050: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D57050 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1662324841-31971-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 57050-done) by debbugs.gnu.org; 4 Sep 2022 20:53:17 +0000 Received: from localhost ([127.0.0.1]:45759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oUwcH-0008IQ-9N for submit@debbugs.gnu.org; Sun, 04 Sep 2022 16:53:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60230) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oUwcE-0008I8-Dw for 57050-done@debbugs.gnu.org; Sun, 04 Sep 2022 16:53:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43890) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oUwc5-0006rJ-9r; Sun, 04 Sep 2022 16:53:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=sDzPCmkvQlvpAdAwM0CkxwsyBQ7tum24sfZm22wc1XI=; b=Mi6aUXYHh1H4jgWgcwTg LQtmYhHDMILUS3KUPk+XtElt68Xo3Bs6oB1loMbbEv4VboKe7WTeZn3eJ0fA0AApZIaLl9DZvlC5+ oB2wOzhEtkzu9Cx0skpdWAv9SV5HmmJXh91OykDg54NsE7ZXxcOHraM00LSjpzAdggEjuoi2fW3d4 yr5W2Z6NdGUBV8MnYIuGNRHHs2gux8s9ow3H3pc0avmHMdCMlf/sirEYOdhlicIDH8K+lSyHjHae9 jUDpnOxIuW1nS5j0j/NbJJkYFVv8tw4gkTnWhOzFkdL5C5wK+iVeIX8B1rRRUUTTSm5xKbdJcJdlu T5xFD1R0/Wzkyw==; Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38654 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oUwc4-0002np-T7; Sun, 04 Sep 2022 16:53:05 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Philip McGrath Subject: Re: bug#57050: [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. References: <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> <875yipqboa.fsf@kolabnow.com> Date: Sun, 04 Sep 2022 22:53:01 +0200 In-Reply-To: (Philip McGrath's message of "Sat, 27 Aug 2022 14:55:40 -0400") Message-ID: <87sfl6svyq.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57050-done Cc: 57050-done@debbugs.gnu.org, Thiago Jung Bauermann , "\(" , Maxime Devos , Liliana Marie Prikler , Efraim Flashner , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Philip, Philip McGrath skribis: > Here is a v4 with the revised description for Zuo (07/14) and the typo fi= x in > the commit message for 12/14. > > I've once again pushed this series to the 'zuo' branch of > https://gitlab.com/philip1/guix-patches and tagged it as > guix-issue-57050-v4 (commit b9652c2a85201f8183346a6e3a4f4fd245649d69). I applied this series (looks like it was about to be forgotten!), it seems to work like a charm. :-) Thank you Philip for the work, & thanks Liliana, Thiago, Maxime, Efraim, and all for the review process! Ludo=E2=80=99. ------------=_1662324841-31971-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 8 Aug 2022 06:06:22 +0000 Received: from localhost ([127.0.0.1]:38905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvu9-0002kS-R9 for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:06:22 -0400 Received: from lists.gnu.org ([209.51.188.17]:37614) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKvu8-0002kL-3x for submit@debbugs.gnu.org; Mon, 08 Aug 2022 02:06:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oKvu7-0002VV-Sp for guix-patches@gnu.org; Mon, 08 Aug 2022 02:06:19 -0400 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:37416) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oKvu6-0002ES-2D for guix-patches@gnu.org; Mon, 08 Aug 2022 02:06:19 -0400 Received: by mail-qk1-x734.google.com with SMTP id v14so242951qkf.4 for ; Sun, 07 Aug 2022 23:06:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc; bh=AyD0qEWtL9rWp+O9W+dIJB7Bzj3uG+hVDgEiLMvjZoU=; b=F5fUMpCc+85o1WSCVM48dMfuwtJIOBBmZsIdib7hIdizse14T4KBbTm45OPvXjkuof vKtsG8eGl1r1CH2/qxp2u4+/3DGLulrFG5BIMtz+44zXP3PqR2BCEO6nef4oD0lf+Cj5 gPfxuxi+1iNc9YOGdR3IZPtnAJbKS5IRWWBgUrY2sHDS6+opZ7K8B71Q6NPqJuTr3XpT K15R73LavIwEFRYhJdSmcc+ZKHibsD8IaVzVKQQq8nFGd1GihV/aneVb2TvUfBf/UMia ZYw+N9heErF4CuOY/AmbmP1GoNEGksyi6IMvfpkrmV7+I1/5WIx8LOI3HmN0fihjLhaE yqMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc; bh=AyD0qEWtL9rWp+O9W+dIJB7Bzj3uG+hVDgEiLMvjZoU=; b=azsHR434u9tms4YfNlkn0PV+HCJLBLkxo4G9nHEO10HPyjBA1Q44c57/ebNWW3SI6J QgsEusC3FaoImOJimHKWhtW+0Vgx3HIdYrLoqOzcvvLnPIk58V2H8Mmnn/LdpVs0Z7qg 8xVi6U0ce2HWtu2yGI8n4rneLQorJ7B6LATDNcSXa70Hi9dNcIRM+A6OIp3o9h9IgP5E +6+ekjvn7T4M6DAx2pc9DAK5kJwVT7SA9GPQgH9E3+Fl0mquK4TCMVzqM+aoK16tysOy OzacKtRvn8WnTeYNGN1c/SLf8Gc5uynGnbDWaZIPzR57L1+f34LAT9kNCDasuJk0Nsys XqnA== X-Gm-Message-State: ACgBeo1kcGpsjEgcjU2AWbrJQe1/5NiH8kedGf8FyhnKekYZVAGC9cxq Hs8WV24lW2SkXtowjGHV6/RzoSgfectTE1EM X-Google-Smtp-Source: AA6agR7nzopbD5ZmXwZfgmIMnXD8AmdxhLdQNDsCnN8XYB35xPoqLS2uzHcUAg10Ujv6XqsrNeIVWA== X-Received: by 2002:a05:620a:4724:b0:6b8:c82f:74d9 with SMTP id bs36-20020a05620a472400b006b8c82f74d9mr12968862qkb.455.1659938775462; Sun, 07 Aug 2022 23:06:15 -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 x15-20020ac8538f000000b00342fa1f4a10sm1363758qtp.61.2022.08.07.23.06.14 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Aug 2022 23:06:15 -0700 (PDT) From: Philip McGrath To: guix-patches@gnu.org Subject: [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo. Date: Mon, 8 Aug 2022 02:06:14 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Debbugs-CC: Philip McGrath Content-Transfer-Encoding: 8bit Received-SPF: permerror client-ip=2607:f8b0:4864:20::734; envelope-from=philip@philipmcgrath.com; helo=mail-qk1-x734.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Hi, This patch series contains the Racket 8.6 release, including updating Racket's variant of Chez Scheme and adding a package for Zuo, the new tiny Racket-like language used for build scripts starting with this release. (If you've been waiting for the release announcement, this cycle upstream is delaying sending it until the new Racket has finished rebuilding all of , which can take a few days---but the release itself is live at already, and I've been told distribution packagers should update now.) As I mentioned on the mailing list in [1], this release lets us use Racket CS and Racket's variant of Chez Scheme on all systems, even those for which the compiler can not yet generate native code, such as powerpc64le-linux and riscv64-linux. (See the relevant patches for more details.) In particular, this means that we can now provide some Chez Scheme package for every system Guix supports. Additionally, I resolved the issues I mentioned in [1] with i586-pc-gnu by getting getting native code generation for the Hurd working in Racket's Chez, and I've cherry-picked those patches in this series. -Philip [1]: https://lists.gnu.org/archive/html/help-guix/2022-08/msg00018.html Philip McGrath (6): gnu: stex: Update to 1.2.2-2.afa6075. gnu: stex: Fix read-only gifs and math directories. gnu: chez-scheme: Fix use of "/bin/sh". gnu: Update Racket to 8.6. Add Zuo. gnu: racket: Use Racket CS on all systems. gnu: chez-scheme-for-racket: Suport all systems. gnu/local.mk | 10 +- gnu/packages/chez.scm | 218 +++++-- gnu/packages/patches/chez-scheme-bin-sh.patch | 66 ++ .../racket-backport-8.6-cross-install.patch | 32 + .../racket-backport-8.6-docindex-write.patch | 36 ++ .../patches/racket-backport-8.6-hurd.patch | 609 ++++++++++++++++++ .../patches/racket-backport-8.6-zuo.patch | 481 ++++++++++++++ .../patches/racket-chez-scheme-bin-sh.patch | 66 ++ ...-rktio.patch => racket-rktio-bin-sh.patch} | 28 +- gnu/packages/patches/racket-zuo-bin-sh.patch | 72 +++ .../stex-copy-from-immutable-store.patch | 41 ++ gnu/packages/racket.scm | 231 ++++--- 12 files changed, 1760 insertions(+), 130 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-bin-sh.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-cross-install.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-docindex-write.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-hurd.patch create mode 100644 gnu/packages/patches/racket-backport-8.6-zuo.patch create mode 100644 gnu/packages/patches/racket-chez-scheme-bin-sh.patch rename gnu/packages/patches/{racket-minimal-sh-via-rktio.patch => racket-rktio-bin-sh.patch} (79%) create mode 100644 gnu/packages/patches/racket-zuo-bin-sh.patch create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch base-commit: f0ae9da3210cc6d87ca519545203daf9751f3465 -- 2.32.0 ------------=_1662324841-31971-1--