aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/agent.scm')
-rw-r--r--guix-build-coordinator/agent.scm18
1 files changed, 14 insertions, 4 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index c08f89e..d787cbc 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -31,7 +31,8 @@
#:use-module (guix-build-coordinator agent-messaging http)
#:export (run-agent))
-(define (run-agent uuid coordinator-uri password)
+(define (run-agent uuid coordinator-uri password
+ substitute-urls)
(while #t
(let* ((details (submit-status coordinator-uri uuid password
'idle))
@@ -50,7 +51,8 @@
(let ((derivation-name (assoc-ref build "derivation-name")))
(simple-format #t "setting up to build: ~A\n"
derivation-name)
- (let ((pre-build-status (pre-build-process derivation-name)))
+ (let ((pre-build-status (pre-build-process substitute-urls
+ derivation-name)))
(if (eq? (assq-ref pre-build-status 'result) 'success)
(let ((result (perform-build derivation-name)))
(and=> (derivation-log-file derivation-name)
@@ -75,7 +77,7 @@
(when (null? builds)
(sleep 5)))))
-(define (pre-build-process derivation-name)
+(define (pre-build-process substitute-urls derivation-name)
(define (find-missing-inputs inputs)
(let* ((output-paths
(append-map derivation-input-output-paths inputs))
@@ -83,6 +85,9 @@
(remove file-exists? output-paths))
(path-substitutes
(with-store store
+ (set-build-options store
+ #:substitute-urls substitute-urls)
+
(map (lambda (file)
(has-substitutes? store file))
missing-paths))))
@@ -98,6 +103,9 @@
(begin
;; Download the substitutes
(with-store store
+ (set-build-options store
+ #:substitute-urls substitute-urls)
+
(build-things store missing-paths))
'()))))
@@ -123,7 +131,9 @@
(let ((derivation
(if (file-exists? derivation-name)
(read-derivation-from-file derivation-name)
- (and (substitute-derivation derivation-name)
+ (and (substitute-derivation derivation-name
+ #:substitute-urls
+ substitute-urls)
(read-derivation-from-file derivation-name)))))
(match (delete-outputs derivation)
(#t