From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0ATTEfqhaWL9cQEAbAwnHQ (envelope-from ) for ; Wed, 27 Apr 2022 22:05:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id iDcREfqhaWLEggEAG6o9tA (envelope-from ) for ; Wed, 27 Apr 2022 22:05:14 +0200 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 733F0343E2 for ; Wed, 27 Apr 2022 22:05:13 +0200 (CEST) Received: from localhost ([::1]:52048 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1njnuS-00076o-5s for larch@yhetil.org; Wed, 27 Apr 2022 16:05:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1njntK-0006OQ-09 for guix-patches@gnu.org; Wed, 27 Apr 2022 16:04:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50587) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1njntJ-0007eu-Mm for guix-patches@gnu.org; Wed, 27 Apr 2022 16:04:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1njntJ-0003Gq-HF for guix-patches@gnu.org; Wed, 27 Apr 2022 16:04:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#53878] Fwd: [PATCH v7 00/24] 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: Wed, 27 Apr 2022 20:04: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 Received: via spool by 53878-submit@debbugs.gnu.org id=B53878.165108980912528 (code B ref 53878); Wed, 27 Apr 2022 20:04:01 +0000 Received: (at 53878) by debbugs.gnu.org; 27 Apr 2022 20:03:29 +0000 Received: from localhost ([127.0.0.1]:44484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njnsj-0003Fv-T1 for submit@debbugs.gnu.org; Wed, 27 Apr 2022 16:03:29 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:36817) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njnsj-0003Fi-0Z for 53878@debbugs.gnu.org; Wed, 27 Apr 2022 16:03:25 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id E12595C021C; Wed, 27 Apr 2022 16:03:19 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Wed, 27 Apr 2022 16:03:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=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=1651089799; x=1651176199; bh=+9xfCgmriagGVRs4GPw0qZplV R9eUxOVeZUNJkhw1rI=; b=Yl42UeUvTRWgalULZJ/+yCnBWi5Y9XCzcJCMbIQDs fP5t5+vAVUSh/lO3fwl9rlyTajxvnZTZ6Mxc3bTp72Y2EsTb5B477WBpsqt9s8qF S2MfQt5npOjRNLK5lduSPmnrbOJswKcg8p3JOWse3PJRLil8GL83UfQVxsW+Xl9r zMjxHLQo/4f38hrZLufTucRRQgYI3Ht2Pr+bFSi0D4rIUUWnUj3yg9eyvXEu7axR J6HG4gWjdH8SDwi5q/CNPgG13SRR2WQayMz9RZIN7nJ8H66W6TyxDo/y9ZHn4vji /EnYwl0iIOt+bFV7VUKa7xpUvKsbQfqE/GiL2f/Nb2LHA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=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 :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1651089799; x=1651176199; bh=+9xfCgmriagGVRs4GPw0qZplVR9e UxOVeZUNJkhw1rI=; b=GslqK7XHwihhxjWO2EPGGXKWm0/Ya0uG+BwFfeP/YlWT pX8SBMLDMupR/toDI/R1jMgXfyVPxziDrI+Q13qe49OiZerikRr9HRDaf9zOPele mrLPH0FNEXkxItb+OBONUDgxPozm9R77HNh9tQv0EztOWn3X0eIlV3kpf5K1Mx4x iwRCZY+Q1sVo5cqa4MTgzshz9/30qRTb5ywrTOV+hjGkEtXsKQsODQTBQdtLos1U feHbJOCmaYo8k1BWlRnLjcWcU34vmlBEND2e4ndbORtUWOMOE+EpSwWZTBPZDDy+ FwlNeWL2BS4feNKx0A4zrbyOhlDtOPeKpoz5evwJ+w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudehgddugeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfufhfvffhjggtgfesthejredttdefjeenucfhrhhomheprfhhihhl ihhpucfotgfirhgrthhhuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtoh hmqeenucggtffrrghtthgvrhhnpefhvddtheefteejkeegffdtfeeigefgkeeileelgfeh vdfhvedvvdeijeefgfduteenucffohhmrghinhepghhnuhdrohhrghdprhgrtghkvghtqd hlrghnghdrohhrghdpghhithhlrggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 27 Apr 2022 16:03:19 -0400 (EDT) Message-ID: <6f8a5468-a62d-d54b-d1ac-c85fd32795d1@philipmcgrath.com> Date: Wed, 27 Apr 2022 16:03:19 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Content-Language: en-US References: From: Philip McGrath In-Reply-To: X-Forwarded-Message-Id: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1651089914; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: 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=+9xfCgmriagGVRs4GPw0qZplVR9eUxOVeZUNJkhw1rI=; b=srUBSviWvRhxQg7dX5oTcJDfyetxEYrwjpdWT/yN9/K/bPb6UdoeT9QXblco61wGrnY1ms MiGQFDhbaXdIp4BvmdPZWtyknPYWxMU8iRHTcj06rTr6gbRpwra8ypN8X+gpMDtWhe8M9l 9hODsYesCUUBqGnOkttAg+A8OyLhiegyBuUfYAY++dcV3JdFN2uFEL23T0CWg4ONvyfgkI pg/KFpcmCtE8bHcmtu7iQVbpyr2VGvp5AlhrGdvsuMm9AGXtVM12EIZVW2vUsUnLcmH2mR LPE8epz2NbmLntFwoimlvFtCw/2Rg4jOCkzdls3AQE+iU3cPRNABID6h5FhK7w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1651089914; a=rsa-sha256; cv=none; b=Qsz6q3BDZ5mqHvxuBbMO7/JYNoEammsb7jJkz7jhvk5g/omR5ECxpFu6sbQoy5wNFWHI7x J9yppZ2YQUCa41WSql7t4rQShU9lY4t6ZH5VLxBiK9xufHaOyYyp4y1EI4LtOjNnzKDBI0 t5HQw6CsZpEGMHWFqCfzg9j9f4Wfl3nWSnnNdXOl/2qW9fDZf/PjkDexSN0TrkB6/5cqTR Xl9xgyLwvDRXIs9dc9JWplf3fEokIAR2wEAilEk2uAu39/AgcwC4DA/RpFe6/uVu9fc9VF R50nxW/K53/S2feunfEWLmW9Ufv5o3liAagSkgnlFFNLrXyXr4Rnhlsp2JK1xw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm1 header.b=Yl42UeUv; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=GslqK7XH; 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.90 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm1 header.b=Yl42UeUv; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=GslqK7XH; 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: 733F0343E2 X-Spam-Score: 0.90 X-Migadu-Scanner: scn1.migadu.com X-TUID: VhIAN3O9byEx (Hopefully I've made the necessary debbugs incantations for this to go through this time.) -------- Forwarded Message -------- Subject: Re: [PATCH v7 00/24] Update Racket to 8.4. Adjust Chez Scheme packages. Date: Wed, 27 Apr 2022 15:52:49 -0400 To: Liliana Marie Prikler , 53878@debbugs.gnu.org Hi, On 3/4/22 17:59, Liliana Marie Prikler wrote: > Hi Philip, > > Am Sonntag, dem 27.02.2022 um 16:28 -0500 schrieb Philip McGrath: >> Rather than debate it, I'm sending a v7 with the change to patch >> 03/24 that Liliana requested in >> . > Sorry for the delay. I cleaned up some of your commits and their > messages, but apart from that pushed v7 without major changes. I'm > marking this as done now; if you feel I've made a mistake somewhere, > don't hesitate to reopen. > While getting ready for the upcoming Racket 8.5 release, I noticed some differences between my issue 53878 v7 patch series and the commits as applied to Guix that I hadn't noticed at the time. I don't want to make a big a deal out of it---I'm sure everyone was acting in good faith, and it isn't enormously consequential in the grand scheme of things---but it took me by surprise. Considering a diff between my v7 and the series as merged: > diff --cc gnu/packages/racket.scm > index 8d44241414,471a11dd48..0000000000 > --- a/gnu/packages/racket.scm > +++ b/gnu/packages/racket.scm > @@@ -248,7 -248,10 +248,14 @@@ > ,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" > #$(file-append bash-minimal "/bin/sh")) > "--disable-strip" > ++<<<<<<< HEAD > + "--enable-origtree")) > ++======= > + ;; XXX: origtree layout is required by some other packages down the > + ;; bootstrap chain. Remove these flags as soon as we can do without them. > + "--enable-origtree" > + ,(string-append "--prefix=" #$output "/opt/racket-vm"))) > ++>>>>>>> 992ed3b4ce20335ca61df0d29bfd02495dee87e6 > This comment was what first gave me pause: I was concerned it meant something had gone, so I went looking through the Git blame to find when it was added, and Git blamed me. I think the comment is not quite right, factually (or, at least, is only true for very specific definitions of "required" and "bootstrap chain"), and, more significantly, I disagree that it should be a goal to "remove these flags": IMO, adding these flags brought us closer to being able to build the Racket VM, Racket packages, and Racket installation layers in a well-organized fashion. > (define-public racket-vm-cgc > ;; Eventually, it may make sense for some vm packages to not be hidden, > @@@ -282,69 -285,36 +289,102 @@@ > #:strip-directories #~'("opt/racket-vm/bin" > "opt/racket-vm/lib") > #:phases > ++<<<<<<< HEAD > + #~(let () > + (define* ((wrap-racket-vm-outputs phase) . args) > + (apply > + phase > + (let loop ((args args)) > + (match args > + ((#:outputs outputs . args) > + `(#:outputs > + ,(let loop ((outputs outputs)) > + (match outputs > + ((("out" . out) . outputs) > + `(("out" . ,(string-append out "/opt/racket-vm/")) > + ,@outputs)) > + ((other . outputs) > + (cons other (loop outputs))))) > + ,@args)) > + ((arg . args) > + (cons arg (loop args))))))) > + (modify-phases %standard-phases > + (add-before 'configure 'initialize-config.rktd > + (lambda* (#:key inputs #:allow-other-keys) > + (define (write-racket-hash alist) > + ;; inside must use dotted pair notation > + (display "#hash(") > + (for-each (match-lambda > + ((k . v) > + (format #t "(~s . ~s)" k v))) > + alist) > + (display ")\n")) > + (define maybe-release-catalog > + (let ((v #$(package-version this-package))) > + (if (string-match "^[0-9]+\\.[0-9]+($|\\.[0-8][0-9]*$)" > + v) > + `(,(string-append > + "https://download.racket-lang.org/releases/" > + v > + "/catalog/")) > + '()))) > + (mkdir-p "racket/etc") > + (with-output-to-file "racket/etc/config.rktd" > + (lambda () > + (write-racket-hash > + `((build-stamp . "") > + (catalogs ,@maybe-release-catalog > + #f))))))) > + (add-before 'configure 'chdir > + (lambda _ > + (chdir "racket/src"))) > + (replace 'configure > + (wrap-racket-vm-outputs > + (assoc-ref %standard-phases 'configure))) > + (replace 'patch-shebangs > + (wrap-racket-vm-outputs > + (assoc-ref %standard-phases 'patch-shebangs))) > + (replace 'validate-runpath > + (wrap-racket-vm-outputs > + (assoc-ref %standard-phases 'validate-runpath))) > + (replace 'make-dynamic-linker-cache > + (wrap-racket-vm-outputs > + (assoc-ref %standard-phases 'make-dynamic-linker-cache))) > + (replace 'patch-dot-desktop-files > + (wrap-racket-vm-outputs > + (assoc-ref %standard-phases 'patch-dot-desktop-files))))))) > ++======= > + #~(modify-phases %standard-phases > + (add-before 'configure 'initialize-config.rktd > + (lambda* (#:key inputs #:allow-other-keys) > + (define (write-racket-hash alist) > + ;; inside must use dotted pair notation > + (display "#hash(") > + (for-each (match-lambda > + ((k . v) > + (format #t "(~s . ~s)" k v))) > + alist) > + (display ")\n")) > + (define maybe-release-catalog > + (let ((v #$(package-version this-package))) > + (if (string-match "^[0-9]+\\.[0-9]+($|\\.[0-8][0-9]*$)" > + v) > + `(,(string-append > + "https://download.racket-lang.org/releases/" > + v > + "/catalog/")) > + '()))) > + (mkdir-p "racket/etc") > + (with-output-to-file "racket/etc/config.rktd" > + (lambda () > + (write-racket-hash > + `((build-stamp . "") > + (catalogs ,@maybe-release-catalog > + #f))))))) > + (add-before 'configure 'chdir > + (lambda _ > + (chdir "racket/src")))))) > ++>>>>>>> 992ed3b4ce20335ca61df0d29bfd02495dee87e6 > (home-page "https://racket-lang.org") > (synopsis "Old Racket implementation used for bootstrapping") > (description "This variant of the Racket BC (``before Chez'' or > @@@ -599,6 -569,7 +639,10 @@@ DrRacket IDE, are not included." More concretely, removing `wrap-racket-vm-outputs` here without a replacement means that the phases in question did not run on the relevant files/directories. For example, this interaction illustrates that the patches as applied don't generate a `ld.so.cache` for Racket: ``` philip@bastet:~$ echo v7 v7 philip@bastet:~$ ls $(guix time-machine --url=https://gitlab.com/philip1/guix-patches.git --disable-authentication --branch=racket-chez-refactor-guix-issue-53878-v7 -- build -e "(@ (gnu packages racket) racket-vm-cs)" 2>/dev/null | tail -n 1)/opt/racket-vm/etc config.rktd ld.so.cache philip@bastet:~$ echo as applied as applied philip@bastet:~$ ls $(guix time-machine --commit=992ed3b4ce20335ca61df0d29bfd02495dee87e6 -- build -e "(@ (gnu packages racket) racket-vm-cs)" 2>/dev/null | tail -n 1)/opt/racket-vm/etc config.rktd philip@bastet:~$ ``` I thought we had discussed the reason for this e.g. in . > (inherit racket-minimal) > (name "racket") > (source #f) > ++<<<<<<< HEAD > ++======= > + (native-inputs (list racket-minimal)) ; XXX: conservative estimate, untested > ++>>>>>>> 992ed3b4ce20335ca61df0d29bfd02495dee87e6 > (inputs > (list > cairo (For completeness, this was also a change: it really isn't a big deal, but much more will be needed to be able to cross-compile Racket code, and I think it would be best addressed in the context of a 'racket-build-system'.) I certainly don't want anything that would further burden reviewers or slow down the process (this patch series having taken 7 revisions and almost a month as it is). For me, at least, it would have been easier to notice these changes if they had been in their own commit (or commits), rather than mixed in with changes that had been revised and discussed several times. -Philip