From 5d4b411f8a3372455a8c92d10a28e88e9edba6eb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 1 Mar 2013 21:12:32 +0100 Subject: guix package: Add `--install-from-expression'. * guix/scripts/package.scm (read/eval-package-expression): New procedure. (show-help): Add `-e'. (%options): Likewise. (guix-package)[process-actions]: Handle ('install . p) pairs, where P is a package. * tests/guix-package.sh: Add `boot_make_drv'. Use `-i $boot_make_drv' once, and then use `-e $boot_make'. * doc/guix.texi (Invoking guix package): Document `-e'. --- doc/guix.texi | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index ec784ce349..a07c277e70 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -514,6 +514,19 @@ Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes MPFR and GMP---unless they had also been explicitly installed independently. +@item --install-from-expression=@var{exp} +@itemx -e @var{exp} +Install the package @var{exp} evaluates to. + +@var{exp} must be a Scheme expression that evaluates to a +@code{} object. This option is notably useful to disambiguate +between same-named variants of a package, with expressions such as +@code{(@@ (gnu packages base) guile-final)}. + +Note that this option installs the first output of the specified +package, which may be insufficient when needing a specific output of a +multiple-output package. + @item --remove=@var{package} @itemx -r @var{package} Remove @var{package}. -- cgit v1.2.3