aboutsummaryrefslogtreecommitdiff
path: root/guix/store.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-12-08 22:58:32 +0100
committerLudovic Courtès <ludo@gnu.org>2015-12-08 23:58:12 +0100
commit2fba87ac7c3e6fc6ca1a6e94131303c37425b2ba (patch)
tree443722324596846346b6a3f11e4eab30e73bed94 /guix/store.scm
parentb23b4d394a39b60188ed74ecdf1027bc7dd5b9b3 (diff)
downloadgnu-guix-2fba87ac7c3e6fc6ca1a6e94131303c37425b2ba.tar
gnu-guix-2fba87ac7c3e6fc6ca1a6e94131303c37425b2ba.tar.gz
store: Allow clients to request multiple builds.
* guix/store.scm (set-build-options): Add #:rounds parameter and honor it. * tests/store.scm ("build multiple times"): New test.
Diffstat (limited to 'guix/store.scm')
-rw-r--r--guix/store.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/guix/store.scm b/guix/store.scm
index 98ccbd1004..3c4d1c0058 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -504,6 +504,7 @@ encoding conversion errors."
(define* (set-build-options server
#:key keep-failed? keep-going? fallback?
(verbosity 0)
+ rounds ;number of build rounds
(max-build-jobs 1)
timeout
(max-silent-time 3600)
@@ -549,6 +550,10 @@ encoding conversion errors."
,@(if substitute-urls
`(("substitute-urls"
. ,(string-join substitute-urls)))
+ '())
+ ,@(if rounds
+ `(("build-repeat"
+ . ,(number->string (max 0 (1- rounds)))))
'()))))
(send (string-pairs pairs))))
(let loop ((done? (process-stderr server)))