mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 13:10:33 +02:00
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'.
This commit is contained in:
@@ -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{<package>} 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}.
|
||||
|
||||
Reference in New Issue
Block a user