diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-07-20 16:39:19 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-07-20 16:39:19 +0200 |
commit | 260bc60f83b1955ac7f48b71872d3d2809132ee2 (patch) | |
tree | 5013d73809dfa8dd1fbcbe5330b98552a399ed84 | |
parent | a849273509efb38e3f8ba740a7e1f63191413d91 (diff) | |
download | guix-260bc60f83b1955ac7f48b71872d3d2809132ee2.tar guix-260bc60f83b1955ac7f48b71872d3d2809132ee2.tar.gz |
derivations: Export 'fixed-output-path'.
* guix/derivations.scm (fixed-output-path): Change 'output',
'hash-algo', and 'recursive?' to keyword parameters. Export.
(derivation): Adjust accordingly.
-rw-r--r-- | guix/derivations.scm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index 76593f373b..7f74ed6c77 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -73,6 +73,7 @@ derivation-name derivation-output-names fixed-output-derivation? + fixed-output-path offloadable-derivation? substitutable-derivation? substitution-oracle @@ -676,7 +677,11 @@ the derivation called NAME with hash HASH." name (string-append name "-" output)))) -(define (fixed-output-path output hash-algo hash recursive? name) +(define* (fixed-output-path name hash + #:key + (output "out") + (hash-algo 'sha256) + (recursive? #t)) "Return an output path for the fixed output OUTPUT defined by HASH of type HASH-ALGO, of the derivation NAME. RECURSIVE? has the same meaning as for 'add-to-store'." @@ -736,12 +741,14 @@ output should not be used." (outputs (map (match-lambda ((output-name . ($ <derivation-output> _ algo hash rec?)) - (let ((path (if hash - (fixed-output-path output-name - algo hash - rec? name) - (output-path output-name - drv-hash name)))) + (let ((path + (if hash + (fixed-output-path name hash + #:hash-algo algo + #:output output-name + #:recursive? rec?) + (output-path output-name + drv-hash name)))) (cons output-name (make-derivation-output path algo hash rec?))))) |