scripts: environment: Build environments as profiles.
authorDavid Thompson <davet@gnu.org>
Fri, 12 Feb 2016 20:39:26 +0000 (21:39 +0100)
committerLudovic Courtès <ludo@gnu.org>
Fri, 12 Feb 2016 21:02:06 +0000 (22:02 +0100)
commit779aa003fbacbbcb6973f289b607d1d285009cec
tree74c05c5dd104dea4e27d9f28a30bdbfa8f15cdfe
parente5f04c2dde258c14e714e748d17b1137fe0bf4f3
scripts: environment: Build environments as profiles.

Fixes <http://bugs.gnu.org/19816>.

* guix/scripts/environment.scm (evaluate-input-search-paths)
(build-inputs): Delete.
(evaluate-profile-search-paths, strip-input-name)
(package-or-package+output?, package-environment-inputs)
(build-environment, inputs->profile-derivations): New procedures.
(create-environment, show-search-paths, launch-environment)
(launch-environment/container): Replace 'inputs' argument
with 'profile' argument.
(package+propagated-inputs): Strip off names off of input tuples.
(options/resolve-packages): Handle input tuples that specify an output
in expressions.
(guix-environment): Convert inputs into a profile to use in the
environment.  Remove non-package inputs such as origins from
environment inputs.
* doc/guix.texi ("invoking guix environment"): Document package+output
tuples for --expression option.
* tests/guix-environment.sh: Update tests.
* tests/guix-environment-container.sh: Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
doc/guix.texi
guix/scripts/environment.scm
tests/guix-environment-container.sh
tests/guix-environment.sh