environment: Document that '--manifest' can be repeated.

* tests/guix-environment.sh: Test 'guix environment' with two '-m' options.
* doc/guix.texi (Invoking guix environment): Explain that '-m' can be
passed multiple times.
This commit is contained in:
Ludovic Courtès 2019-11-20 10:02:01 +01:00
parent c0e9d470e1
commit d76df98fa5
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 25 additions and 1 deletions

View file

@ -4802,7 +4802,8 @@ As an example, @var{file} might contain a definition like this
@item --manifest=@var{file} @item --manifest=@var{file}
@itemx -m @var{file} @itemx -m @var{file}
Create an environment for the packages contained in the manifest object Create an environment for the packages contained in the manifest object
returned by the Scheme code in @var{file}. returned by the Scheme code in @var{file}. This option can be repeated
several times, in which case the manifests are concatenated.
This is similar to the same-named option in @command{guix package} This is similar to the same-named option in @command{guix package}
(@pxref{profile-manifest, @option{--manifest}}) and uses the same (@pxref{profile-manifest, @option{--manifest}}) and uses the same

View file

@ -84,6 +84,29 @@ echo "(use-modules (guix profiles) (gnu packages bootstrap))
guix environment --bootstrap --manifest=$tmpdir/manifest.scm --pure \ guix environment --bootstrap --manifest=$tmpdir/manifest.scm --pure \
-- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"' -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
# Make sure '--manifest' can be specified multiple times.
cat > "$tmpdir/manifest2.scm" <<EOF
(use-modules (guix) (guix profiles)
(guix build-system trivial)
(gnu packages bootstrap))
(packages->manifest
(list (package
(inherit %bootstrap-guile)
(name "eliug")
(build-system trivial-build-system)
(arguments
(quasiquote
(#:guile ,%bootstrap-guile
#:builder
(begin
(mkdir %output)
(mkdir (string-append %output "/eliug")))))))))
EOF
guix environment --bootstrap -m "$tmpdir/manifest.scm" \
-m "$tmpdir/manifest2.scm" --pure \
-- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile" && test -d "$GUIX_ENVIRONMENT/eliug"'
# Make sure '-r' works as expected. # Make sure '-r' works as expected.
rm -f "$gcroot" rm -f "$gcroot"
expected="`guix environment --bootstrap --ad-hoc guile-bootstrap \ expected="`guix environment --bootstrap --ad-hoc guile-bootstrap \