From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 0B7tBWOoT2BeTQAA0tVLHw (envelope-from ) for ; Mon, 15 Mar 2021 18:33:07 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id wEK6AWOoT2BuVAAA1q6Kng (envelope-from ) for ; Mon, 15 Mar 2021 18:33:07 +0000 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 76A45AF11 for ; Mon, 15 Mar 2021 19:33:06 +0100 (CET) Received: from localhost ([::1]:38482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLs1Z-0003Vx-Fy for larch@yhetil.org; Mon, 15 Mar 2021 14:33:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLrZV-0002oM-3d for guix-patches@gnu.org; Mon, 15 Mar 2021 14:04:09 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53611) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLrZR-0000wb-UX for guix-patches@gnu.org; Mon, 15 Mar 2021 14:04:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lLrZR-0004dT-P9 for guix-patches@gnu.org; Mon, 15 Mar 2021 14:04:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47153] [PATCH] gnu: chez-scheme: simplify packaging Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Mar 2021 18:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47153 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47153@debbugs.gnu.org, Leo Prikler Received: via spool by 47153-submit@debbugs.gnu.org id=B47153.161583140917776 (code B ref 47153); Mon, 15 Mar 2021 18:04:01 +0000 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 18:03:29 +0000 Received: from localhost ([127.0.0.1]:36924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrYu-0004cd-Gi for submit@debbugs.gnu.org; Mon, 15 Mar 2021 14:03:28 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrYs-0004cR-Kl for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 14:03:27 -0400 Received: by mail-qt1-f178.google.com with SMTP id j7so9772894qtx.5 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 11:03:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=lnDgqbAQJ3OYRVaGlkpQBWvX0W0J0u7Mao7SZL3vpBU=; b=YQCRG4KTG4qdH+7LxCV4+avDqFA4qw29iZujLkdlH2EqyuU2P+BQFCAvHo9Z0z5sQW 4qUyUHqSLmOYDI0x1VDAOG+HcQ+7k6ug86dNBBR1UU1n0qLcmXgjPRoJhImtAkxEvnF1 qCkehIXl4Dc+3939IubStMYLq7X8nl72HxrRvMoHO1ov55ZlFRSlH0MyWVSoR4mYhR2Y EiTkqt2iWj6gmUeSE52ngmif5eb+oXvJ8h17AtRl/SsWrApAN4U0RyUk6M382D0C5GF5 CTbLyPLQa5TsFBq8x69UuOmzFRYwCo9lai3IurZ/ZDaCeSmKxLzD9Tqyd/aqWe4wjVGb nlsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=lnDgqbAQJ3OYRVaGlkpQBWvX0W0J0u7Mao7SZL3vpBU=; b=srj28uOnYrH0KCA04Nkaid3T9rDNG0z9F4GeWNYyjPpZCU4S6aPzmpyRdMBwoi1E83 S98nDfGz1x1REANPBgqUxWKNkkdxffeNxlINLmb+6ChAQetOvsj6KyIuCzBz6WNdBwvq jmFzzgmT2LMghKTdAth2qWSuwlyTYnv14RBeIq6xm+srA5Dek/bEw9HVbaKwQew3uoU/ dUaL2x45zQrVcVKUtIfFyRl9Hvfw0LqVmPPWcb9Ad45t89X3PnL4OY8TINhFt9eLZwUR IQJm1v0gY3GQF2i7kNK09k+el+Aa2dRkiIAiEuaU8DUmf4aW5JjsSDfUX5I3IKAvWseN zFtg== X-Gm-Message-State: AOAM5311Ss93t7A9ubFmYlFrAGdo/s8jio5zoBauKzCptm985HvKtJbi O/LAIUM0LfN791JwbiqAnhantLmFlcFhoTl8mWo= X-Google-Smtp-Source: ABdhPJwop0qA8S3YJeY01wSyEaKu2vVkoLaZNyOTCOKJbopyOqlr8ArIi5JpiChI/nc5s7iGcgvU/A== X-Received: by 2002:ac8:7347:: with SMTP id q7mr8007922qtp.255.1615831400947; Mon, 15 Mar 2021 11:03:20 -0700 (PDT) Received: from Sapientia.local (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c27sm12841455qko.71.2021.03.15.11.03.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 11:03:20 -0700 (PDT) From: Philip McGrath References: <20210315084235.7051-1-philip@philipmcgrath.com> Message-ID: <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> Date: Mon, 15 Mar 2021 14:03:19 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US 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 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1615833186; 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=lnDgqbAQJ3OYRVaGlkpQBWvX0W0J0u7Mao7SZL3vpBU=; b=Ez+ZWMFwnvw/v49+bK5p9YGkHGKa9wk8rwSptAOFgtPy43p9XeI2hI3NRknemgt6PdbZ2C nZAb0XjsRQOgEeq6s9oPMspTnD4q+wyVpGYNuHjkMVYboxUWthbs+yvept7UEzMMHUCk3H kyZKxcfnlsfM82YDWD+RJOTH0JAhgmD9+pmh1xjuBw+dRMIeHmV30b8+4Wuieec5CNXRHP 7haJ1QXsv4KgNKskD18430wMkZiyn1MqIyu4eBdgheJqSuhjr4X/S0BBDDKiXJoxPzS31W 6LCY3oKYCoJrUECf8Fx6BReeQeIRylOyd2q9dejQXNvt05AfohI/nhCBdX+1Bw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1615833186; a=rsa-sha256; cv=none; b=eIg2cjgTr+3uJKB+nIEKFVjzvZriUv5dfcu/Rnt4tFm5gkHqFUQnHf1a482xmc4QhTQEt5 aUwPyMNpJxxiHsKrHAVjsmWB2ZEbZlVTAvrxaUO93v5+Lgi6Rf/idzBO80X5jz1zuyNrUa 3TfUO6tuXKflseh8hsMqmUI/B3F5GjVaP4S+RuZdAvp/IqsNOZjOghMpqkIe4dG8UhBq98 gNsflU2wK47jk6cN0XcSKWVxG9JtVUKjBjvTqoa7Gv3krrcbcam/ePDgkxm30VKWfypYBq louuzUmoJ98R7Dp+SorICYSv5FDnO/TbNUSeXkB4ETBTv4Epo9vesSmy7vtEqg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=YQCRG4KT; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.40 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=YQCRG4KT; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 76A45AF11 X-Spam-Score: -1.40 X-Migadu-Scanner: scn0.migadu.com X-TUID: snPKBFowdiI5 Hi! On 3/15/21 6:32 AM, Leo Prikler wrote: > I'm not an expert on Chez Scheme, so take this with a grain of salt, I'm not an expert on Guix, so take this with a grain of salt :) I've been exploring packaging for Racket, and, by extension, Chez Scheme, as a way to get more familiar with Guix. > Am Montag, den 15.03.2021, 04:42 -0400 schrieb Philip McGrath: >> * gnu/packages/chez.scm (nanopass): Rename it to ... >> (nanopass-framework-scheme): ... this variable. Change it from an >> origin >> to a package. Update to 1.9.2. > What advantages do we get from making this a package? Can it be > upgraded to 1.9.2 without this change at the same time? >> (stex): Rename it to ... >> (chez-stex): ... this variable. Change it from an origin to a hidden >> package. Update to commit 5405149, which helps us install it. > Same here I don't have a strong opinion about whether these should be packages. My main goal was to have the unpack and patch-source-shebangs phases happen just once, rather than be handled in an ad-hoc way inside chez-scheme's configure phase, because I know I will be reusing these in the Racket package, as well. There are some other considerations specific to each package/origin: - nanopass-framework-scheme is portable to many R6RS Scheme implementations. It doesn't have a Makefile or anything: you just put it in the right place and then happily `(import (nanopass))` from your Scheme of choice. - I think the right thing would be to make chez-stex a public package, instead of the "stex" output of the chez-scheme package, but there are some bootstrapping issues I'll discuss below. > , also does this need to be done at the same time as the > nanopass upgrade? No >> (chez-scheme)[source](patches): Use it. > Use what? The new patch chez-scheme-build-util-paths-backport.patch added above. Is there a better way to write that in the message? > copy-build-system exists. And again, what is the point of making this > a package if it contains the exact same files as the corresponding > origin? copy-build-system also does validate-documentation-location and install-license-files, IIUC. But again, I'm open to alternative approaches. >> +(define chez-stex >> + ;; Hidden because of a circular dependency issue: >> + ;; stex needs chez-scheme to be used, but chez-scheme uses >> + ;; stex to build its documentation. >> + ;; The chez-scheme package has an stex output that exposes >> + ;; the useful version of this---or maybe there's a more elegant >> solution? This is related to the comments I added about things probably being wrong for cross-compilation, though I don't think they're any more wrong with this patch than without it. Fundamentally, you need Chez Scheme to compile Chez Scheme. (The Racket fork can be bootstrapped with a C-based Racket implementation that simulates enough of Chez Scheme to compile the Chez Scheme compiler. Unfortunately, the forks have diverged too much right now, at a minimum in the definition of `#!base-rtd`, to be able to bootstrap upstream Chez that way.) Chez distributes "bootfiles" for i686, x86_64, and "arm32" (which I hope, but am not sure, could work for "armhf"). Once you've done a native build for one of those platforms, you can use it to cross-compile for any platform Chez Scheme supports (ppc32, various BSDs, etc—Racket's fork adds arm64, and there's been some work on riscv). You need Chez to build stex, and thus you need a native Chez to build the Chez Scheme docs. I'm not sure what the best way to structure that in Guix would be. Maybe a hidden variant of Chez that builds the public Chez? Suggestions are very welcome! -Philip