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