From b19250eec6f92308f237a09a43e8e3e2355345b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 28 Oct 2021 00:26:40 +0200 Subject: [PATCH] remote: Really build things remotely when #:build-locally? is #false. Fixes . Reported by pkill9 , Maxim Cournoyer , and Katherine Cox-Buday . * guix/remote.scm (remote-eval): When BUILD-LOCALLY? is false, wrap 'build-derivations' call in 'with-build-handler'. --- guix/remote.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/guix/remote.scm b/guix/remote.scm index f6adb22846e..37e98270848 100644 --- a/guix/remote.scm +++ b/guix/remote.scm @@ -146,6 +146,15 @@ remote store." sources))) (mbegin %store-monad ((store-lift send-files) to-send remote #:recursive? #t) - (return (build-derivations remote inputs)) + + ;; Build handlers are not tied to a specific . + ;; If a handler is already installed, it might want to go ahead + ;; and build, but on the local instead of + ;; REMOTE. To avoid that, install a build handler that does + ;; nothing. + (return (with-build-handler (lambda (continue . _) + (continue #t)) + (build-derivations remote inputs))) + (return (close-connection remote)) (return (%remote-eval lowered session become-command)))))))