diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-01-09 23:33:42 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-01-09 23:36:24 +0100 |
commit | 0b6af195fe7476a15e498b24c67f9d8f6080a400 (patch) | |
tree | 9dee9e88c426a9f59b42606771fe051ab5a93d70 /guix/derivations.scm | |
parent | eb9dfcb3c4c5a3de7548afc35c7a3344f820c478 (diff) | |
download | gnu-guix-0b6af195fe7476a15e498b24c67f9d8f6080a400.tar gnu-guix-0b6af195fe7476a15e498b24c67f9d8f6080a400.tar.gz |
derivations: Add 'derivation-output-names'.
* guix/derivations.scm (derivation-output-names): New procedure.
(derivation-prerequisites-to-build): Use it for #:outputs.
(map-derivation): Likewise.
* tests/derivations.scm ("derivation-output-names"): New test.
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 69cef1a4cd..5e96d9fa3c 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -58,6 +58,7 @@ derivation-input-output-paths derivation-name + derivation-output-names fixed-output-derivation? offloadable-derivation? substitutable-derivation? @@ -135,6 +136,12 @@ (let ((base (store-path-package-name (derivation-file-name drv)))) (string-drop-right base 4))) +(define (derivation-output-names drv) + "Return the names of the outputs of DRV." + (match (derivation-outputs drv) + (((names . _) ...) + names))) + (define (fixed-output-derivation? drv) "Return #t if DRV is a fixed-output derivation, such as the result of a download with a fixed hash (aka. `fetchurl')." @@ -180,9 +187,7 @@ download with a fixed hash (aka. `fetchurl')." (define* (derivation-prerequisites-to-build store drv #:key (outputs - (map - car - (derivation-outputs drv))) + (derivation-output-names drv)) (use-substitutes? #t)) "Return two values: the list of derivation-inputs required to build the OUTPUTS of DRV and not already available in STORE, recursively, and the list @@ -844,7 +849,7 @@ recursively." replacements)))) (derivation-builder-environment-vars drv)) #:inputs (append (map list sources) inputs) - #:outputs (map car (derivation-outputs drv)) + #:outputs (derivation-output-names drv) #:hash (match (derivation-outputs drv) ((($ <derivation-output> _ algo hash)) hash) |