summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/inferior.scm18
-rw-r--r--guix/scripts/time-machine.scm14
2 files changed, 22 insertions, 10 deletions
diff --git a/guix/inferior.scm b/guix/inferior.scm
index 7c8e478f2a..81958baaa5 100644
--- a/guix/inferior.scm
+++ b/guix/inferior.scm
@@ -48,7 +48,7 @@
#:use-module (gcrypt hash)
#:autoload (guix cache) (maybe-remove-expired-cache-entries
file-expiration-time)
- #:autoload (guix ui) (show-what-to-build*)
+ #:autoload (guix ui) (build-notifier)
#:autoload (guix build utils) (mkdir-p)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -801,8 +801,10 @@ determines whether CHANNELS are authenticated."
(profile
(channel-instances->derivation instances)))
(mbegin %store-monad
- (show-what-to-build* (list profile))
+ ;; It's up to the caller to install a build handler to report
+ ;; what's going to be built.
(built-derivations (list profile))
+
;; Note: Caching is fine even when AUTHENTICATE? is false because
;; we always call 'latest-channel-instances?'.
(symlink* (derivation->output-path profile) cached)
@@ -821,10 +823,14 @@ This is a convenience procedure that people may use in manifests passed to
'guix package -m', for instance."
(define cached
(with-store store
- (cached-channel-instance store
- channels
- #:cache-directory cache-directory
- #:ttl ttl)))
+ ;; XXX: Install a build notifier out of convenience, so users know
+ ;; what's going on. However, we cannot be sure that its options, such
+ ;; as #:use-substitutes?, correspond to the daemon's default settings.
+ (with-build-handler (build-notifier)
+ (cached-channel-instance store
+ channels
+ #:cache-directory cache-directory
+ #:ttl ttl))))
(open-inferior cached))
;;; Local Variables:
diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm
index 4aafd432e8..5179ea035f 100644
--- a/guix/scripts/time-machine.scm
+++ b/guix/scripts/time-machine.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -141,13 +141,19 @@ Execute COMMAND ARGS... in an older version of Guix.\n"))
(let* ((opts (parse-args args))
(channels (channel-list opts))
(command-line (assoc-ref opts 'exec))
+ (substitutes? (assoc-ref opts 'substitutes?))
(authenticate? (assoc-ref opts 'authenticate-channels?)))
(when command-line
(let* ((directory
(with-store store
(with-status-verbosity (assoc-ref opts 'verbosity)
- (set-build-options-from-command-line store opts)
- (cached-channel-instance store channels
- #:authenticate? authenticate?))))
+ (with-build-handler (build-notifier #:use-substitutes?
+ substitutes?
+ #:verbosity
+ (assoc-ref opts 'verbosity)
+ #:dry-run? #f)
+ (set-build-options-from-command-line store opts)
+ (cached-channel-instance store channels
+ #:authenticate? authenticate?)))))
(executable (string-append directory "/bin/guix")))
(apply execl (cons* executable executable command-line))))))))