M doc/guix.texi => doc/guix.texi +8 -0
@@ 595,6 595,10 @@ Use @var{profile} instead of the user's default profile.
@itemx -n
Show what would be done without actually doing it.
+@item --fallback
+When substituting a pre-built binary fails, fall back to building
+packages locally.
+
@item --no-substitutes
@itemx --max-silent-time=@var{seconds}
Same as for @command{guix build} (@pxref{Invoking guix build}).
@@ 1219,6 1223,10 @@ the end of the build log. This is useful when debugging build issues.
@itemx -n
Do not build the derivations.
+@item --fallback
+When substituting a pre-built binary fails, fall back to building
+packages locally.
+
@item --no-substitutes
Build instead of resorting to pre-built substitutes.
M guix/scripts/build.scm => guix/scripts/build.scm +7 -0
@@ 82,6 82,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(display (_ "
-n, --dry-run do not build the derivations"))
(display (_ "
+ --fallback fall back to building when the substituter fails"))
+ (display (_ "
--no-substitutes build instead of resorting to pre-built substitutes"))
(display (_ "
--max-silent-time=SECONDS
@@ 140,6 142,10 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t result)))
+ (option '("fallback") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'fallback? #t
+ (alist-delete 'fallback? result))))
(option '("no-substitutes") #f #f
(lambda (opt name arg result)
(alist-cons 'substitutes? #f
@@ 267,6 273,7 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(set-build-options (%store)
#:keep-failed? (assoc-ref opts 'keep-failed?)
#:build-cores (or (assoc-ref opts 'cores) 0)
+ #:fallback? (assoc-ref opts 'fallback?)
#:use-substitutes? (assoc-ref opts 'substitutes?)
#:max-silent-time (assoc-ref opts 'max-silent-time)
#:verbosity (assoc-ref opts 'verbosity))
M guix/scripts/package.scm => guix/scripts/package.scm +7 -0
@@ 438,6 438,8 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(display (_ "
-n, --dry-run show what would be done without actually doing it"))
(display (_ "
+ --fallback fall back to building when the substituter fails"))
+ (display (_ "
--no-substitutes build instead of resorting to pre-built substitutes"))
(display (_ "
--max-silent-time=SECONDS
@@ 499,6 501,10 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t result)))
+ (option '("fallback") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'fallback? #t
+ (alist-delete 'fallback? result))))
(option '("no-substitutes") #f #f
(lambda (opt name arg result)
(alist-cons 'substitutes? #f
@@ 909,6 915,7 @@ more information.~%"))
(with-error-handling
(parameterize ((%store (open-connection)))
(set-build-options (%store)
+ #:fallback? (assoc-ref opts 'fallback?)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:max-silent-time