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.
This commit is contained in:
Ludovic Courtès 2022-06-16 16:50:41 +02:00
parent 4231031b69
commit 925a57c5d0
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 13 additions and 0 deletions

@ -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_ "\

@ -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"