From patchwork Sun Feb 20 06:05:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 628 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 89D7B27BBEC; Sun, 20 Feb 2022 06:08:01 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C3F2F27BBE9 for ; Sun, 20 Feb 2022 06:08:00 +0000 (GMT) Received: from localhost ([::1]:58192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nLfO3-0005I3-T0 for patchwork@mira.cbaines.net; Sun, 20 Feb 2022 01:07:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49800) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLfN8-0005H1-UM for guix-patches@gnu.org; Sun, 20 Feb 2022 01:07:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37047) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nLfN8-0003z3-7b for guix-patches@gnu.org; Sun, 20 Feb 2022 01:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nLfN8-0005Mz-0T; Sun, 20 Feb 2022 01:07:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53878] [PATCH v4 00/15] Update Racket to 8.4. Adjust Chez Scheme packages. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: philip@philipmcgrath.com, guix-patches@gnu.org Resent-Date: Sun, 20 Feb 2022 06:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53878 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 53878@debbugs.gnu.org, Liliana Marie Prikler , Ludovic =?utf-8?q?Co?= =?utf-8?q?urt=C3=A8s?= Cc: Attila Lendvai , Malte Gerdes , raingloom , zimoun , Philip McGrath X-Debbugs-Original-Xcc: Philip McGrath Received: via spool by 53878-submit@debbugs.gnu.org id=B53878.164533718120460 (code B ref 53878); Sun, 20 Feb 2022 06:07:01 +0000 Received: (at 53878) by debbugs.gnu.org; 20 Feb 2022 06:06:21 +0000 Received: from localhost ([127.0.0.1]:59150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLfMS-0005Jw-Ra for submit@debbugs.gnu.org; Sun, 20 Feb 2022 01:06:21 -0500 Received: from mail-qv1-f43.google.com ([209.85.219.43]:35480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLfMQ-0005Jf-BF for 53878@debbugs.gnu.org; Sun, 20 Feb 2022 01:06:18 -0500 Received: by mail-qv1-f43.google.com with SMTP id d7so23846935qvk.2 for <53878@debbugs.gnu.org>; Sat, 19 Feb 2022 22:06:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oN70ljmbg2rNOZZblTiCwUXEXnAmcvCexQ3gLw9kTC0=; b=DJ5n3ntc7P8DvjwQUff3j2vjbVc1hu9raVSRCUajjq91UaHTUXIdW//l/zNH0NFufs WgQnal8piRBJQ8OrwEn35a+nhlw0qzD+IwrPjH50PeJxwXwY9uRtVeH94et84iZwEUqB JZ8TL36/kcmiOmLQUCWkMALBy5Qqq1JreUKhEMTLNbsFBgJVuqgKF5x6+xeOHSEMT/NY LXCI0P5RgpNoSipQubPgM9ADVTMnciWyfuxxBwNzCOysR7TvVLirecs4Y5GerV7ZfM8K qIGBB9BWVRW+8hJYh5QDN1N8/pL4+48bala1C9Ahq7VY+N7XxV1rCaj/d2bZiHzcEJRT RtBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oN70ljmbg2rNOZZblTiCwUXEXnAmcvCexQ3gLw9kTC0=; b=m02KuZkMIPMdM+wrNIXm/fmcUpYYYYz5geLw/gT7903S1n0+PGti/2yCW/wFXFbz7u 0iumOdTxL4hg61DXGrXEKWj+4LwOThblnp6RtgmMNZrguFnoXzwwRJJR9BXx1DiLxPlD hSWHHVqPlqvlwCbbmXzk1eXxcLiuDPFXKo+O86XTN8300JI1FdKmE20AoYEgXXOcHXsq CahEY1rJU3Ii3Tk14c1DbEZZV9+ZRKokRGC1xmh/68gC6PGr0COxCaSndkWCQOOYH8TI ctRavzY43cjjh3J0wn/qx8GP0OGrBKTj/7EASnzCB5o7gVcq/roqyPdoiLXuNRb00Qt5 X00w== X-Gm-Message-State: AOAM531Ux/5mCnVw3tmeeIJqbqpuoDcDtv8TQwlUsZcjJh2KlDIxswas 7nhzj49DwkoOetwobLYbXZJePa2Tgzh6rIW3AkI= X-Google-Smtp-Source: ABdhPJxmdmzPj0msU0CPCQ3eyrn7e0haiHeMqt6y7kZv9kU/mP3WSEtTQVY9qIiAnVpLtKPWliXqJQ== X-Received: by 2002:a05:622a:8c:b0:2cf:7373:e458 with SMTP id o12-20020a05622a008c00b002cf7373e458mr12950507qtw.93.1645337172627; Sat, 19 Feb 2022 22:06:12 -0800 (PST) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id w2sm3773207qts.29.2022.02.19.22.06.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 19 Feb 2022 22:06:12 -0800 (PST) From: Philip McGrath Date: Sun, 20 Feb 2022 01:05:55 -0500 Message-Id: <20220220060610.178131-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220208151316.1897345-1-philip@philipmcgrath.com> References: <20220208151316.1897345-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi, Here is v4. I believe it avoids the import cycle. The first change from v3 is in patch 09/15, in which I changed "gnu/packages/chez-and-racket-bootstrap.scm" no longer export `%racket-version` or `%racket-origin`. The package `source` field is not thunked, so exporting the latter seems like a particular trap for the unwary. In 14/15, I looked again at the issue with `chez-scheme-for-system` that Liliana reported in , and I realized my intention had actually been to return `chez-scheme` if the specified system is completely unsupported (not that it makes much difference ...). I tweaked it slightly and added comments, since I've gotten confused about it more than once now. The changes to avoid the import cycle are primarily in 15/15. As I outlined in , I duplicated the definition of `%racket-version` in "gnu/packages/racket.scm" and added comments there and to "gnu/packages/chez-and-racket-bootstrap.scm" warning to keep them in sync. I also had to avoid the use of `%racket-origin` (or `(package-source (racket-vm-for-system))`) outside of lambda abstractions, which in particular meant that it could no longer be used in the `source` field of `racket-minimal`. Instead, I changed `racket-minimal` to handle "base" and "racket-lib" in the same way `racket` does for its component Racket packages. Recalling Liliana's comment in , since I was lifting the function to handle Racket package origins anyway to reuse it, I changed it to produce `computed-file`s that take care of extracting the right files from the origin, so `racket-minimal` can now use `union-build` and `racket` no longer needs to replace the build phase. I can immagine a `racket-build-system` helping to improve the situation, since it would presumably add `(racket-vm-for-system)` as an implicit input. It might also be useful to provide special support for packages from the main Racket Git repository: almost always, if you change transform the origin for the Racket VM, you want all of the packages developed in the same repository to use come from the transformed origin, too. But for now, v4 should avoid the import cycle problem without doing anything too ugly. -Philip Philip McGrath (15): gnu: chez-scheme: Move to (gnu packages chez-and-racket-bootstrap). gnu: chez-scheme: Use "lib/chez-scheme" for search path. gnu: chez-scheme: Use shared zlib and lz4. gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types. gnu: chez-scheme: Use new package style. gnu: Add stex. gnu: Add chez-nanopass. gnu: chez-scheme: Explicitly package bootstrap bootfiles. gnu: Add racket-vm-cgc. gnu: Add racket-vm-bc. gnu: Add chez-scheme-for-racket. gnu: Add racket-vm-cs. gnu: chez-mit: Support chez-scheme-for-racket. gnu: chez-and-racket-bootstrap: Add 'chez-scheme-for-system'. gnu: racket: Update to 8.4. gnu/local.mk | 5 +- gnu/packages/chez-and-racket-bootstrap.scm | 1077 +++++++++++ gnu/packages/chez.scm | 628 +++---- gnu/packages/emacs-xyz.scm | 4 +- gnu/packages/loko.scm | 4 +- .../racket-enable-scheme-backport.patch | 465 +++++ ...acket-gui-tethered-launcher-backport.patch | 26 + gnu/packages/racket.scm | 1599 +++++++++++------ 8 files changed, 2871 insertions(+), 937 deletions(-) create mode 100644 gnu/packages/chez-and-racket-bootstrap.scm create mode 100644 gnu/packages/patches/racket-enable-scheme-backport.patch create mode 100644 gnu/packages/patches/racket-gui-tethered-launcher-backport.patch