From 260bc60f83b1955ac7f48b71872d3d2809132ee2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 20 Jul 2016 16:39:19 +0200 Subject: derivations: Export 'fixed-output-path'. * guix/derivations.scm (fixed-output-path): Change 'output', 'hash-algo', and 'recursive?' to keyword parameters. Export. (derivation): Adjust accordingly. --- guix/derivations.scm | 21 ++++++++++++++------- 1 file 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 . ($ _ 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?))))) -- cgit 1.4.1