GNU bug report logs -
#80034
[PATCH] monad-repl: Add "build-mode" command.
Previous Next
To reply to this bug, email your comments to 80034 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix <at> cbaines.net, gabriel <at> erlikon.ch, ludo <at> gnu.org, maxim <at> guixotic.coop, morgan.arnold <at> proton.me, ngraves <at> ngraves.fr, rutherther <at> ditigal.xyz, zimon.toutoune <at> gmail.com, guix-patches <at> gnu.org:
bug#80034; Package
guix-patches.
(Fri, 19 Dec 2025 11:39:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to
guix <at> cbaines.net, gabriel <at> erlikon.ch, ludo <at> gnu.org, maxim <at> guixotic.coop, morgan.arnold <at> proton.me, ngraves <at> ngraves.fr, rutherther <at> ditigal.xyz, zimon.toutoune <at> gmail.com, guix-patches <at> gnu.org.
(Fri, 19 Dec 2025 11:39:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I expect this will not be used often, but it is sometimes useful to play with
the build of a package without modifying the definition (so usually the build
does nothing, hence 'check to the rescue).
* guix/monad-repl.scm (%build-mode): New variable.
(evaluate/print-with-store): Use it.
(build-mode): New meta command to set it.
* doc/guix.texi (Using Guix Interactively): Document it.
---
doc/guix.texi | 6 ++++++
guix/monad-repl.scm | 19 ++++++++++++++++++-
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index a2e2a8e5dfd..80479ff52e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13270,6 +13270,12 @@ Using Guix Interactively
to @code{--no-grafts} argument to @code{guix build}.
@end deffn
+@deffn {REPL command} build-mode @var{mode}
+Set build mode to use for the build. Valid options are @code{'normal},
+@code{'check} and @code{'repair}. Last two correspond to the
+@code{--check} and @code{--repair} arguments to @code{guix build}.
+@end deffn
+
@deffn {REPL command} lower @var{object}
Lower @var{object} into a derivation or store file name and return it.
@end deffn
diff --git a/guix/monad-repl.scm b/guix/monad-repl.scm
index dcb00988fe8..abb5371e725 100644
--- a/guix/monad-repl.scm
+++ b/guix/monad-repl.scm
@@ -86,6 +86,10 @@ (define %build-options
;; Additional build options.
'())
+(define %build-mode
+ ;; Current build mode.
+ (build-mode normal))
+
(define* (evaluate/print-with-store mvalue #:key build?)
"Run monadic value MVALUE in the store monad and print its value."
(with-store store
@@ -102,7 +106,7 @@ (define* (evaluate/print-with-store mvalue #:key build?)
(mlet %store-monad ((obj mvalue))
(if (derivation? obj)
(mbegin %store-monad
- (built-derivations (list obj))
+ (built-derivations (list obj) %build-mode)
(return
(match (derivation->output-paths obj)
(((_ . files) ...) files))))
@@ -154,6 +158,19 @@ (define-meta-command ((graft? guix) repl (graft?))
Set whether grafts should be performed."
(%graft? (repl-eval repl graft?)))
+(define-meta-command ((build-mode guix) repl (mode))
+ "build-mode MODE
+Set build mode to MODE.
+
+Valid values: 'normal, 'check, 'repair."
+ (set! %build-mode (match (repl-eval repl mode)
+ ('normal (build-mode normal))
+ ('check (build-mode check))
+ ('repair (build-mode repair))
+ (_
+ (format #t ";; ERROR: Invalid mode.~%")
+ %build-mode))))
+
(define-meta-command ((enter-store-monad guix) repl)
"enter-store-monad
Enter a REPL for values in the store monad."
--
2.52.0
Information forwarded
to
guix-patches <at> gnu.org:
bug#80034; Package
guix-patches.
(Mon, 22 Dec 2025 14:39:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 80034 <at> debbugs.gnu.org (full text, mbox):
Hello,
Tomas Volf <~@wolfsden.cz> skribis:
> I expect this will not be used often, but it is sometimes useful to play with
> the build of a package without modifying the definition (so usually the build
> does nothing, hence 'check to the rescue).
[...]
> +(define-meta-command ((build-mode guix) repl (mode))
> + "build-mode MODE
> +Set build mode to MODE.
What about making it an optional argument to the ‘build’ command
instead?
Less global state, more clarity.
WDYT?
Ludo’.
This bug report was last modified 20 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.