aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-07-20 16:39:19 +0200
committerLudovic Courtès <ludo@gnu.org>2016-07-20 16:39:19 +0200
commit260bc60f83b1955ac7f48b71872d3d2809132ee2 (patch)
tree5013d73809dfa8dd1fbcbe5330b98552a399ed84
parenta849273509efb38e3f8ba740a7e1f63191413d91 (diff)
downloadguix-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.scm21
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?)))))