diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-06-23 12:39:39 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-06-27 11:14:41 +0200 |
commit | 7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2 (patch) | |
tree | 74ffbca2063de0ef2f69185a8581f2f23a3e2b98 | |
parent | fd951cd543d9f4d3ecfa4570e51797f84e79068b (diff) | |
download | guix-7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2.tar.gz |
derivations: 'build-derivations' can be passed derivation inputs.
* guix/derivations.scm (build-derivations): Accept <derivation-input> records among DERIVATIONS. * tests/derivations.scm ("build-derivations with specific output"): Test it.
-rw-r--r-- | guix/derivations.scm | 5 | ||||
-rw-r--r-- | tests/derivations.scm | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index 403e86749b..433b4551a5 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1016,6 +1016,11 @@ derivation/output pairs, using the specified MODE." (build-things store (map (match-lambda ((? derivation? drv) (derivation-file-name drv)) + ((? derivation-input? input) + (cons (derivation-input-path input) + (string-join + (derivation-input-sub-derivations input) + ","))) ((? string? file) file) (((? derivation? drv) . output) (cons (derivation-file-name drv) diff --git a/tests/derivations.scm b/tests/derivations.scm index 54fa588969..d173a78906 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -807,9 +807,12 @@ ;; Ask for nothing but the "out" output of DRV. (build-derivations store `((,drv . "out"))) + ;; Synonymous: + (build-derivations store (list (derivation-input drv '("out")))) + (valid-path? store out) - (equal? (pk 'x content) (pk 'y (call-with-input-file out get-string-all))) - ))))) + (equal? (pk 'x content) + (pk 'y (call-with-input-file out get-string-all)))))))) (test-assert "build-expression->derivation and derivation-build-plan" (let ((drv (build-expression->derivation %store "fail" #f))) |