summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-03-18 14:39:53 +0100
committerLudovic Courtès <ludo@gnu.org>2015-03-18 14:43:03 +0100
commit41c45e78632978ab64dd7df50765c6adf443a249 (patch)
tree92ff888ece7b5b8f2ec6930ca628802a56a7cce6
parentfc1ee095789641cdfe67c65ca8988ef34d921288 (diff)
store: Add preliminary support for client-supplied substitute URLs.
* guix/store.scm (set-build-options): Rename #:binary-caches to #:substitute-urls. Actually pass it in 'pairs' under the "substitute-urls" key. * guix/scripts/substitute-binary.scm (%cache-url): Add comment for "untrusted-substitute-urls".
-rwxr-xr-xguix/scripts/substitute-binary.scm7
-rw-r--r--guix/store.scm12
2 files changed, 12 insertions, 7 deletions
diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm
index 903564cc48..50e3db2fb9 100755
--- a/guix/scripts/substitute-binary.scm
+++ b/guix/scripts/substitute-binary.scm
@@ -631,7 +631,12 @@ found."
(assoc-ref (daemon-options) option))
(define %cache-url
- (match (and=> (find-daemon-option "substitute-urls")
+ (match (and=> (string-append
+ ;; TODO: Uncomment the following lines when multiple
+ ;; substitute sources are supported.
+ ;; (find-daemon-option "untrusted-substitute-urls") ;client
+ ;; " "
+ (find-daemon-option "substitute-urls")) ;admin
string-tokenize)
((url)
url)
diff --git a/guix/store.scm b/guix/store.scm
index a3f3cbf43b..4c069b2963 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -459,7 +459,7 @@ encoding conversion errors."
(print-build-trace #t)
(build-cores (current-processor-count))
(use-substitutes? #t)
- (binary-caches '())) ; client "untrusted" cache URLs
+ (substitute-urls '())) ; client "untrusted" cache URLs
;; Must be called after `open-connection'.
(define socket
@@ -484,11 +484,11 @@ encoding conversion errors."
(when (>= (nix-server-minor-version server) 10)
(send (boolean use-substitutes?)))
(when (>= (nix-server-minor-version server) 12)
- (let ((pairs (if timeout
- `(("build-timeout" . ,(number->string timeout))
- ,@binary-caches)
- binary-caches)))
- (send (string-pairs pairs))))
+ (let ((pairs `(,@(if timeout
+ `(("build-timeout" . ,(number->string timeout)))
+ '())
+ ("substitute-urls" . ,(string-join substitute-urls)))))
+ (send (string-pairs (pk 'pairs pairs)))))
(let loop ((done? (process-stderr server)))
(or done? (process-stderr server)))))