1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-22 17:16:01 +02:00

guix build: Add ‘--development’ option.

* guix/scripts/build.scm (show-help, %options): Add ‘-D’.
(options->things-to-build): Change ‘append-map’ to a loop.  Honor ‘-D’.
* tests/guix-build.sh: Add test.
* doc/guix.texi (Additional Build Options): Document it.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I99227aadfe861e43c001a4872292bd687b37f5d4
This commit is contained in:
Ludovic Courtès
2024-11-24 22:58:22 +01:00
parent bc3c89a475
commit a633422371
3 changed files with 112 additions and 37 deletions
+25
View File
@@ -13614,6 +13614,31 @@ Lastly, @var{expr} may refer to a zero-argument monadic procedure
(@pxref{The Store Monad}). The procedure must return a derivation as a
monadic value, which is then passed through @code{run-with-store}.
@item --development
@itemx -D
Build the ``development environment'' (build dependencies) of the
following package.
For example, the following command builds the inputs of @code{hello},
but @emph{not} @code{hello} itself, and also builds @code{guile}:
@example
guix build -D hello guile
@end example
Notice that @option{-D} (or @option{--development}) only applies to the
immediately following package on the command line. Under the hood, it
uses @code{package->development-manifest}
(@pxref{package-development-manifest,
@code{package->development-manifest}}).
@quotation Note
The effect of combining @option{--development} with @option{--target}
(for cross-compilation) may not be what you expect: it will
cross-compile all the dependencies of the given package when it is built
natively.
@end quotation
@item --source
@itemx -S
Build the source derivations of the packages, rather than the packages