From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id ONBUEYe1DmJ4fAAAgWs5BA (envelope-from ) for ; Thu, 17 Feb 2022 21:52:23 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id WCriDoe1DmIPYQAA9RJhRA (envelope-from ) for ; Thu, 17 Feb 2022 21:52:23 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9D9F03E0F7 for ; Thu, 17 Feb 2022 21:52:22 +0100 (CET) Received: from localhost ([::1]:34834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nKnlF-000612-0t for larch@yhetil.org; Thu, 17 Feb 2022 15:52:21 -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 Content-Transfer-Encoding: 8bit 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+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1645131142; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=uoHdZxZpY1valwDoLrqwP9grwaOCPoeq/NYabQn2dG4=; b=HyTwo26ggjDRlnhZvMxPX1J0bXe5BO58r7EHPVNUP88KTtKmDDOFLwLvKN8zem3Txwc5Nb 3g4rEvpM7mQRILVh+mhUvb9Fla0sLmOwkOzSEa7x0VbNSv8fLa6VAkQ1jvKkZ+wHrFhBUk LKjH637ZqESF7lHoL76fMpI7CwKCTWm+cNBAVrI6RqyJpbGnMW+HynRBTMd4AHAtGHzuiy UQyxWJQt/M5OjhVO4gCtn75EPPO0SqBw3wPQgNSObUgTejhy+78Zp/DNqy2md1Oa+KdhxG J1ZEMpM9taRvMGbNNtMqoeWvtT+Te/UA0XmwImY6cMrIWB2XDh4ep8iq9xKM5g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1645131142; a=rsa-sha256; cv=none; b=OiO42mam0TOzz3b6ZqakDBrAmLnErd+cGkSIlaVXY/aUz0JVRfow/m4QOKwYbeJPCoPcqy V3vDChk46PeC+x/xfZ0SNhUjWEYDxhFyILrKNux+3ryK06sDXb7QlHXycalnBcay5IYtzo FAeSAx2cFICwdIm1CSQd0v9LD3Hs+Uxyp0sIA6U70O/QOTBTq5tx81FN973VrlPtPWI77Z xp5TOzPLSB/ftGiwVwAfDUuqx1wceRqUpxlmaGW5aiqeZ9zJmBUxWtUuooreh1ihWOsnos L49tFWlPFBQCaLsm776otvyEHmVzKCORMQePJ/XGJ3jIl59U2MqTcghCt7oy6Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=E1ThpEjf; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -0.43 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=E1ThpEjf; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 9D9F03E0F7 X-Spam-Score: -0.43 X-Migadu-Scanner: scn0.migadu.com X-TUID: tYypahpmDzm1 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 -- 2.32.0