diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-06-10 22:10:21 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-06-10 22:42:59 +0200 |
commit | f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb (patch) | |
tree | dca6c6f3b0b95083be5d37e636d3c338f109eeba /guix/derivations.scm | |
parent | 416a7c69f1d788670f0c4a7ffaed3e032eadc91d (diff) | |
download | patches-f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb.tar patches-f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb.tar.gz |
store: 'build-things' accepts derivation/output pairs.
This allows callers to request the substitution of a single derivation
output.
* guix/store.scm (build-things): Accept derivation/output pairs among
THINGS.
* guix/derivations.scm (build-derivations): Likewise.
* tests/store.scm ("substitute + build-things with specific output"):
New test.
* tests/derivations.scm ("build-derivations with specific output"):
New test.
* doc/guix.texi (The Store): Adjust accordingly.
Diffstat (limited to 'guix/derivations.scm')
-rw-r--r-- | guix/derivations.scm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index 7a5c3bca94..cad77bdb06 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -982,12 +982,17 @@ recursively." (define* (build-derivations store derivations #:optional (mode (build-mode normal))) - "Build DERIVATIONS, a list of <derivation> objects or .drv file names, using -the specified MODE." + "Build DERIVATIONS, a list of <derivation> objects, .drv file names, or +derivation/output pairs, using the specified MODE." (build-things store (map (match-lambda + ((? derivation? drv) + (derivation-file-name drv)) ((? string? file) file) - ((and drv ($ <derivation>)) - (derivation-file-name drv))) + (((? derivation? drv) . output) + (cons (derivation-file-name drv) + output)) + (((? string? file) . output) + (cons file output))) derivations) mode)) |