From patchwork Thu Feb 17 20:50:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 624 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 DE5E127BBEA; Thu, 17 Feb 2022 20:52:19 +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 42FC127BBE9 for ; Thu, 17 Feb 2022 20:52:19 +0000 (GMT) Received: from localhost ([::1]:34834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nKnlC-000612-F5 for patchwork@mira.cbaines.net; Thu, 17 Feb 2022 15:52:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nKnkw-00060H-UW for guix-patches@gnu.org; Thu, 17 Feb 2022 15:52:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:58871) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nKnkw-0001Tm-LN for guix-patches@gnu.org; Thu, 17 Feb 2022 15:52:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nKnkw-0003Vb-GT for guix-patches@gnu.org; Thu, 17 Feb 2022 15:52:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53878] [PATCH v2 00/15] Update Racket to 8.4. Adjust Chez Scheme packages. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 17 Feb 2022 20:52:02 +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 Cc: Philip McGrath , zimoun , Ludovic =?utf-8?q?Court=C3=A8s?= , Liliana Marie Prikler , Attila Lendvai , Malte Gerdes Received: via spool by 53878-submit@debbugs.gnu.org id=B53878.164513108813368 (code B ref 53878); Thu, 17 Feb 2022 20:52:02 +0000 Received: (at 53878) by debbugs.gnu.org; 17 Feb 2022 20:51:28 +0000 Received: from localhost ([127.0.0.1]:52751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKnkO-0003TY-Ba for submit@debbugs.gnu.org; Thu, 17 Feb 2022 15:51:28 -0500 Received: from mail-qv1-f50.google.com ([209.85.219.50]:39679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKnkN-0003TM-GQ for 53878@debbugs.gnu.org; Thu, 17 Feb 2022 15:51:27 -0500 Received: by mail-qv1-f50.google.com with SMTP id f19so10726162qvb.6 for <53878@debbugs.gnu.org>; Thu, 17 Feb 2022 12:51:27 -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=uoHdZxZpY1valwDoLrqwP9grwaOCPoeq/NYabQn2dG4=; b=E1ThpEjf186HQHScsmNBQNmjmi4+xCg4lQVHWFkLn3u261YDY6hkg6iffIalrJ4sUU 71VVWFumqJemyR7Qt1pmP6uh43Lb06692b5iZ4p2yrHMVyAVkVeFNJyyBuQc7v9lWYOp NE/wqkBlFYwGB1bAvcH1jcNYdD97xjV1zkKWk8cvJ0MSierqfbp7uyIDAombf/+jiVJB aJAfqM3zGDbxRgE3Ysx6aSeTmiy/L9eXQUOCCBvg8Wwzkz/q8oEqYLMbnQKzybJR/c0p 08oLVdH9Wwr3kTf1tI/xZzY4p5oW/Ap5Q8veSCx8Dp98C1RhYTOP2tbgjWAdyWhJYmMp jI6w== 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=uoHdZxZpY1valwDoLrqwP9grwaOCPoeq/NYabQn2dG4=; b=mThfqYcj5QcZL6M5ZXptmfDY+BO39bUesDMmylP+sKJxyc4c8kJvfGitTrXEvQPdkg +YNBUG+ucf4BdAKnZCUI5+pdwGFV8waMlGhlbMp04HS9ledrcoxcNXoTRmAayO7dAQj2 NZmVDiVBINptioB5n3oFSPqslhLZkD1hyP8ovbQSeG/Y1AAmIiTkQtIKeR4JJnid28Hr PsBjG33VOk5EDHg5jGPxRwZrmIQSkf1cRY0xYE/znVLAw6jTVHdC/3vuXQhvWxj1qi2W FzZ3Q7nKhO02DiRt7I/GNLteAw/GF5g1CWtZkKGqH4lnDd2NLAKScZ6ZWQR+/JenptYW mmUA== X-Gm-Message-State: AOAM532PIsyPCJ/zoaNSyoa+hGN5IZVH52y5b8S0SNY7GaEWj3jSlTr+ whTwcYjjgaGIWG1jjt0m3koXXH232bZmlnxX9QU= X-Google-Smtp-Source: ABdhPJwnjZ/a4vWkCvgIw9nM8DYtag6xvvPtiYCg54GU+EOj/xgQFYsIFk9GVIbN80kLDUpwO0jcyA== X-Received: by 2002:ac8:5dcd:0:b0:2cb:9749:c82 with SMTP id e13-20020ac85dcd000000b002cb97490c82mr4137577qtx.146.1645131081643; Thu, 17 Feb 2022 12:51:21 -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 x17sm689873qtr.69.2022.02.17.12.51.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Feb 2022 12:51:21 -0800 (PST) From: Philip McGrath Date: Thu, 17 Feb 2022 15:50:33 -0500 Message-Id: <20220217205048.967383-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <97f8916ae5bd8d8459bdfd507864f2f55cc217a1.camel@ist.tugraz.at> References: <97f8916ae5bd8d8459bdfd507864f2f55cc217a1.camel@ist.tugraz.at> 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 a v2! Liliana, I tried using a function to generate the bootfile packages as you suggested, but I didn't like the result---though it is very possible I still didn't properly understand what you had in mind. I hope what I've done in this version addresses the concerns you raised about inverted inheritance and such anyway: if you'd like to compare the two, in the repository at I've tagged this series as `guix-issue-53878-v2` and the alternate as `guix-issue-53878-v2-bootfiles-proc`. I'll also include the diff below. Other than that, I hope I've addressed all your comments. > diff --git a/gnu/packages/chez-and-racket-bootstrap.scm b/gnu/packages/chez-and-racket-bootstrap.scm > index 3e90a15d94..cbdddb1e98 100644 > --- a/gnu/packages/chez-and-racket-bootstrap.scm > +++ b/gnu/packages/chez-and-racket-bootstrap.scm > @@ -720,21 +720,18 @@ (define* (stex-make #:optional (suffix "")) > and 32-bit PowerPC architectures.") > (license license:asl2.0))) > > -(define (bootfiles-for-chez chez) > - (package/inherit chez > - (outputs '("out")) > +(define-public chez-scheme-bootstrap-bootfiles > + (package > + (inherit chez-scheme) > + (name "chez-scheme-bootstrap-bootfiles") > (inputs '()) > (native-inputs '()) > + (outputs '("out")) > (build-system copy-build-system) > ;; TODO: cross compilation > (arguments > (list #:install-plan > - #~`(("boot/" "lib/chez-scheme-bootfiles")))))) > - > -(define-public chez-scheme-bootstrap-bootfiles > - (package > - (inherit (bootfiles-for-chez chez-scheme)) > - (name "chez-scheme-bootstrap-bootfiles") > + #~`(("boot/" "lib/chez-scheme-bootfiles")))) > (supported-systems > ;; Upstream only distributes pre-built bootfiles for > ;; arm32le and t?(i3|a6)(le|nt|osx) > @@ -822,28 +819,34 @@ (define-public chez-scheme-for-racket > (license license:asl2.0))) > > (define-public chez-scheme-for-racket-bootstrap-bootfiles > - (let ((chez (bootfiles-for-chez chez-scheme-for-racket))) > - (package > - (inherit (bootfiles-for-chez chez)) > - (name "chez-scheme-for-racket-bootstrap-bootfiles") > - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) > - (arguments > - (substitute-keyword-arguments (package-arguments chez) > - ((#:phases those-phases #~%standard-phases) > - #~(modify-phases #$those-phases > - (add-after 'unpack 'chdir > - (lambda args > - (chdir "racket/src/ChezScheme"))) > - (add-after 'chdir 'unpack-nanopass+stex > - (lambda args > - #$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"))))))) > - (synopsis "Chez Scheme bootfiles bootstrapped by Racket") > - (description "Chez Scheme is a self-hosting compiler: building it > + (package > + (inherit chez-scheme-bootstrap-bootfiles) > + (name "chez-scheme-for-racket-bootstrap-bootfiles") > + (version (package-version chez-scheme-for-racket)) > + (source (package-source chez-scheme-for-racket)) > + (native-inputs (list chez-nanopass-bootstrap racket-vm-bc)) > + (arguments > + (substitute-keyword-arguments > + (package-arguments chez-scheme-bootstrap-bootfiles) > + ((#:phases those-phases #~%standard-phases) > + #~(modify-phases #$those-phases > + (add-after 'unpack 'chdir > + (lambda args > + (chdir "racket/src/ChezScheme"))) > + (add-after 'chdir 'unpack-nanopass+stex > + (lambda args > + #$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"))))))) > + (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 > + ;; who want a ChezScheme-shaped repositroy. > + (synopsis "Chez Scheme bootfiles bootstrapped by Racket") > + (description "Chez Scheme is a self-hosting compiler: building it > requires ``bootfiles'' containing the Scheme-implemented portions compiled for > the current platform. (Chez can then cross-compile bootfiles for all other > supported platforms.) > @@ -857,7 +860,7 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles > > Note that the generated bootfiles are specific to Racket's fork of Chez > Scheme, and @code{cs-bootstrap} does not currently support building upstream > -Chez Scheme.")))) > +Chez Scheme."))) > > ;; > ;; Chez's bootstrap dependencies: -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 | 1070 ++++++++++++ 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 | 1553 +++++++++++------ 8 files changed, 2813 insertions(+), 942 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