diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-06-16 16:50:41 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-06-16 23:57:40 +0200 |
commit | 925a57c5d04553ff6c514867348e7d3c5c22ca66 (patch) | |
tree | 1661da9add7c689b23613b553f8d08c221ce46e7 | |
parent | 4231031b69f141639ffd7056bfe7ddf60e7c534a (diff) | |
download | guix-925a57c5d04553ff6c514867348e7d3c5c22ca66.tar.gz guix-925a57c5d04553ff6c514867348e7d3c5c22ca66.zip |
shell: Fix '--export-manifest' for cached profiles and when '-p' is used.
Fixes <https://issues.guix.gnu.org/55521>.
* guix/scripts/shell.scm (export-manifest): When computing 'manifest',
honor the 'profile key.
* tests/guix-shell-export-manifest.sh: Add test.
-rw-r--r-- | guix/scripts/shell.scm | 2 | ||||
-rw-r--r-- | tests/guix-shell-export-manifest.sh | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 84776af2f3..004ed7af2e 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -466,6 +466,8 @@ concatenates MANIFESTS, a list of expressions." (filter-map (match-lambda (('manifest . file) (load-manifest file)) + (('profile . file) + (profile-manifest file)) (_ #f)) opts))))) (display (G_ "\ diff --git a/tests/guix-shell-export-manifest.sh b/tests/guix-shell-export-manifest.sh index 05429955b9..6c42c40f3b 100644 --- a/tests/guix-shell-export-manifest.sh +++ b/tests/guix-shell-export-manifest.sh @@ -46,6 +46,17 @@ cat "$manifest.second" cmp "$manifest" "$manifest.second" +# Manifest for a profile. +guix shell --bootstrap guile-bootstrap -r "$tmpdir/profile" -- \ + guile --version +test -x "$tmpdir/profile/bin/guile" +guix shell -p "$tmpdir/profile" --export-manifest > "$manifest.second" +guix shell --export-manifest guile-bootstrap > "$manifest" +cat "$manifest.second" +cmp "$manifest" "$manifest.second" + +rm "$tmpdir/profile" + # Combining manifests. guix shell --export-manifest -m "$manifest" gash gash-utils \ > "$manifest.second" |