aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-25 12:43:49 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-29 15:32:17 +0200
commit584dfdac3795541ff020aca3f488ceaf2ddd7fc3 (patch)
tree94fca07baaf9a06e0616e6f62ddb3745487097ec
parent1213ea9bd91c3051365637731c6baeca791e0f65 (diff)
downloadguix-584dfdac3795541ff020aca3f488ceaf2ddd7fc3.tar
guix-584dfdac3795541ff020aca3f488ceaf2ddd7fc3.tar.gz
gexp: 'lower-inputs' uses 'mapm/accumulate-builds'.
This doesn't have an noticeable impact on the run time of 'guix system build desktop.tmp --no-grafts -d'. * guix/gexp.scm (lower-inputs): Use 'mapm/accumulate-builds' instead of 'mapm'.
-rw-r--r--guix/gexp.scm32
1 files changed, 16 insertions, 16 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 133e0f5679..3d21685460 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -683,22 +683,22 @@ When TARGET is true, use it as the cross-compilation target triplet."
(and (string? obj) (store-path? obj)))
(with-monad %store-monad
- (mapm %store-monad
- (match-lambda
- (((? struct? thing) sub-drv ...)
- (mlet %store-monad ((obj (lower-object
- thing system #:target target)))
- (return (match obj
- ((? derivation? drv)
- (let ((outputs (if (null? sub-drv)
- '("out")
- sub-drv)))
- (derivation-input drv outputs)))
- ((? store-item? item)
- item)))))
- (((? store-item? item))
- (return item)))
- inputs)))
+ (mapm/accumulate-builds
+ (match-lambda
+ (((? struct? thing) sub-drv ...)
+ (mlet %store-monad ((obj (lower-object
+ thing system #:target target)))
+ (return (match obj
+ ((? derivation? drv)
+ (let ((outputs (if (null? sub-drv)
+ '("out")
+ sub-drv)))
+ (derivation-input drv outputs)))
+ ((? store-item? item)
+ item)))))
+ (((? store-item? item))
+ (return item)))
+ inputs)))
(define* (lower-reference-graphs graphs #:key system target)
"Given GRAPHS, a list of (FILE-NAME INPUT ...) lists for use as a