Subject: [bug#38312] [PATCH 3/3] guix build: '--keep-failed' implies '--no-offload'.

From: Ludovic Courtès <[email-masked]>
Date: Thu, 21 Nov 2019 16:03:58 +0100

* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:offload? #f when 'keep-failed? is true.
* doc/guix.texi (Common Build Options): Document it.
---
 doc/guix.texi          | 6 +++---
 guix/scripts/build.scm | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index b1c615235b..e57c12ab7f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8048,9 +8048,9 @@ the end of the build log.  This is useful when debugging build issues.
 @xref{Debugging Build Failures}, for tips and tricks on how to debug
 build issues.
 
-This option has no effect when connecting to a remote daemon with a
-@code{guix://} URI (@pxref{The Store, the @code{GUIX_DAEMON_SOCKET}
-variable}).
+This option implies @option{--no-offload}, and it has no effect when
+connecting to a remote daemon with a @code{guix://} URI (@pxref{The
+Store, the @code{GUIX_DAEMON_SOCKET} variable}).
 
 @item --keep-going
 @itemx -k
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index acb495a462..a853ac6c7d 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -545,7 +545,8 @@ talking to a remote daemon\n")))
                      #:fallback? (assoc-ref opts 'fallback?)
                      #:use-substitutes? (assoc-ref opts 'substitutes?)
                      #:substitute-urls (assoc-ref opts 'substitute-urls)
-                     #:offload? (assoc-ref opts 'offload?)
+                     #:offload? (and (assoc-ref opts 'offload?)
+                                     (not (assoc-ref opts 'keep-failed?)))
                      #:max-silent-time (assoc-ref opts 'max-silent-time)
                      #:timeout (assoc-ref opts 'timeout)
                      #:print-build-trace (assoc-ref opts 'print-build-trace?)
-- 
2.24.0