~ruther/guix-local

fb4bf72be3fbc23bca35ba4b842b7e1517ef0e3a — Ludovic Courtès 10 years ago 34a1783
store: Use the daemon's substitute URLs by default.

Partly fixes <http://bugs.gnu.org/20217>.

* guix/store.scm (set-build-options): Change #:substitute-urls to
  default to #f.  Send the 'substitute-urls' pair only if
  SUBSTITUTE-URLS is true.
* guix/scripts/build.scm (set-build-options-from-command-line): Do not
  default to %DEFAULT-SUBSTITUTE-URLS for #:substitute-urls.
* guix/scripts/size.scm (%default-options): Remove 'substitute-urls'.
3 files changed, 13 insertions(+), 10 deletions(-)

M guix/scripts/build.scm
M guix/scripts/size.scm
M guix/store.scm
M guix/scripts/build.scm => guix/scripts/build.scm +3 -2
@@ 185,8 185,7 @@ options handled by 'set-build-options-from-command-line', and listed in
                     #:max-build-jobs (or (assoc-ref opts 'max-jobs) 1)
                     #:fallback? (assoc-ref opts 'fallback?)
                     #:use-substitutes? (assoc-ref opts 'substitutes?)
                     #:substitute-urls (or (assoc-ref opts 'substitute-urls)
                                           %default-substitute-urls)
                     #:substitute-urls (assoc-ref opts 'substitute-urls)
                     #:use-build-hook? (assoc-ref opts 'build-hook?)
                     #:max-silent-time (assoc-ref opts 'max-silent-time)
                     #:timeout (assoc-ref opts 'timeout)


@@ 512,6 511,8 @@ arguments with packages that use the specified source."
             (urls  (map (cut string-append <> "/log")
                         (if (assoc-ref opts 'substitutes?)
                             (or (assoc-ref opts 'substitute-urls)
                                 ;; XXX: This does not necessarily match the
                                 ;; daemon's substitute URLs.
                                 %default-substitute-urls)
                             '())))
             (roots (filter-map (match-lambda

M guix/scripts/size.scm => guix/scripts/size.scm +1 -2
@@ 252,8 252,7 @@ Report the size of PACKAGE and its dependencies.\n"))
                  (show-version-and-exit "guix size")))))

(define %default-options
  `((system . ,(%current-system))
    (substitute-urls . ,%default-substitute-urls)))
  `((system . ,(%current-system))))


;;;

M guix/store.scm => guix/store.scm +9 -6
@@ 501,11 501,11 @@ encoding conversion errors."
                            (build-cores (current-processor-count))
                            (use-substitutes? #t)

                            ;; Client-provided substitute URLs.  For
                            ;; unprivileged clients, these are considered
                            ;; "untrusted"; for "trusted" users, they override
                            ;; the daemon's settings.
                            (substitute-urls %default-substitute-urls))
                            ;; Client-provided substitute URLs.  If it is #f,
                            ;; the daemon's settings are used.  Otherwise, it
                            ;; overrides the daemons settings; see 'guix
                            ;; substitute'.
                            (substitute-urls #f))
  ;; Must be called after `open-connection'.

  (define socket


@@ 533,7 533,10 @@ encoding conversion errors."
      (let ((pairs `(,@(if timeout
                           `(("build-timeout" . ,(number->string timeout)))
                           '())
                     ("substitute-urls" . ,(string-join substitute-urls)))))
                     ,@(if substitute-urls
                           `(("substitute-urls"
                              . ,(string-join substitute-urls)))
                           '()))))
        (send (string-pairs pairs))))
    (let loop ((done? (process-stderr server)))
      (or done? (process-stderr server)))))