From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id eFJCB6QVbl/TRgAA0tVLHw (envelope-from ) for ; Fri, 25 Sep 2020 16:07:00 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id SLcMA6QVbl81LQAAbx9fmQ (envelope-from ) for ; Fri, 25 Sep 2020 16:07:00 +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 3B6DB940274 for ; Fri, 25 Sep 2020 16:06:59 +0000 (UTC) Received: from localhost ([::1]:45782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kLqFN-000356-44 for larch@yhetil.org; Fri, 25 Sep 2020 12:06:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kLpwC-00012G-Sz for guix-patches@gnu.org; Fri, 25 Sep 2020 11:47:12 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33570) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kLpw6-0000Bt-G4 for guix-patches@gnu.org; Fri, 25 Sep 2020 11:47:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kLpw6-0002GA-Bb for guix-patches@gnu.org; Fri, 25 Sep 2020 11:47:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43614] [PATCH 0/2] Record and replay package transformation options Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Sep 2020 15:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43614 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43614@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16010487838640 (code B ref -1); Fri, 25 Sep 2020 15:47:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Sep 2020 15:46:23 +0000 Received: from localhost ([127.0.0.1]:45116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kLpvT-0002FI-LJ for submit@debbugs.gnu.org; Fri, 25 Sep 2020 11:46:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:54442) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kLpvS-0002FB-Qq for submit@debbugs.gnu.org; Fri, 25 Sep 2020 11:46:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37502) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kLpvP-0008Oo-KR for guix-patches@gnu.org; Fri, 25 Sep 2020 11:46:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39026) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kLpvO-00008z-VL; Fri, 25 Sep 2020 11:46:18 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60916 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kLpvO-0001Lw-Fz; Fri, 25 Sep 2020 11:46:18 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Fri, 25 Sep 2020 17:46:12 +0200 Message-Id: <20200925154612.28330-1-ludo@gnu.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) 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-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; 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-Spam-Score: -0.51 X-TUID: w2cGS0VwaJSY Hello Guix! This patch set is to record in a profile’s ‘manifest’ the package transformation options that were in effect when it was created and to replay them when upgrading. Let’s say you do: guix install emacs-next --with-branch=emacs-next=master When you later run: guix upgrade the ‘--with-branch’ option will be in effect, meaning that it’ll again pull the latest Emacs and build it. It’s a contrived example because it relies on external resources; preserving ‘--with-input’ & co. probably makes more sense. The kind of options I have in mind that are particularly important to preserve are options that parameterize packages and the hypothetical option that wraps an installed package into a “POLA wrapper” as was discussed recently (the wrapper spawns the actual program in a container). Users of ‘guix package -m’ are unaffected by all this. After all, they can already program whatever transformations they want in their manifest (though it would be nice to make those transformations more readily usable at the Scheme level!). Thoughts? Ludo’. Ludovic Courtès (2): guix build: Record package transformations in manifest entries. guix package: Re-apply package transformation when upgrading. doc/guix.texi | 27 ++++++++++++ guix/scripts/build.scm | 80 +++++++++++++++++++++++++++-------- guix/scripts/pack.scm | 29 +++++++------ guix/scripts/package.scm | 33 ++++++++++----- tests/guix-package-aliases.sh | 6 +++ tests/guix-package.sh | 17 +++++++- tests/packages.scm | 23 ++++++++++ 7 files changed, 174 insertions(+), 41 deletions(-) -- 2.28.0