summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-06-16 16:50:41 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-16 23:57:40 +0200
commit925a57c5d04553ff6c514867348e7d3c5c22ca66 (patch)
tree1661da9add7c689b23613b553f8d08c221ce46e7
parent4231031b69f141639ffd7056bfe7ddf60e7c534a (diff)
downloadguix-patches-925a57c5d04553ff6c514867348e7d3c5c22ca66.tar
guix-patches-925a57c5d04553ff6c514867348e7d3c5c22ca66.tar.gz
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.scm2
-rw-r--r--tests/guix-shell-export-manifest.sh11
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"