diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-01-26 21:57:06 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-01-26 21:58:12 +0100 |
commit | 3bcfe23cfcb17e4495020fce7744a68c2daaf5fb (patch) | |
tree | 85774a811ce26a750f014e26ec8f78554fe0baea | |
parent | 19a454448b97d2e84164f8add9aaed42c645e338 (diff) | |
download | guix-3bcfe23cfcb17e4495020fce7744a68c2daaf5fb.tar guix-3bcfe23cfcb17e4495020fce7744a68c2daaf5fb.tar.gz |
substitute-binary: Let the user know when the cache is being updated.
* guix/scripts/substitute-binary.scm (open-cache*): New macro.
(guix-substitute-binary): Use it instead of (delay (open-cache ...)).
-rwxr-xr-x | guix/scripts/substitute-binary.scm | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 09b917fdf6..903564cc48 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org> ;;; ;;; This file is part of GNU Guix. @@ -213,6 +213,15 @@ failure." (cut %make-cache url <...>) '("StoreDir" "WantMassQuery"))))) +(define-syntax-rule (open-cache* url) + "Delayed variant of 'open-cache' that also lets the user know that they're +gonna have to wait." + (delay (begin + (format (current-error-port) + (_ "updating list of substitutes from '~a'...~%") + url) + (open-cache url)))) + (define-record-type <narinfo> (%make-narinfo path uri uri-base compression file-hash file-size nar-hash nar-size references deriver system signature contents) @@ -668,7 +677,7 @@ substituter disabled~%") (with-error-handling ; for signature errors (match args (("--query") - (let ((cache (delay (open-cache %cache-url))) + (let ((cache (open-cache* %cache-url)) (acl (current-acl))) (define (valid? obj) (and (narinfo? obj) (valid-narinfo? obj acl))) @@ -719,7 +728,7 @@ substituter disabled~%") (loop (read-line))))))) (("--substitute" store-path destination) ;; Download STORE-PATH and add store it as a Nar in file DESTINATION. - (let* ((cache (delay (open-cache %cache-url))) + (let* ((cache (open-cache* %cache-url)) (narinfo (lookup-narinfo cache store-path)) (uri (narinfo-uri narinfo))) ;; Make sure it is signed and everything. |