guix build: Add '--substitute-urls' client option.
* guix/scripts/build.scm (%standard-build-options, show-build-options-help): Add --substitute-urls=URLS. (set-build-options-from-command-line): Honor it. * guix/store.scm (%default-substitute-urls): Make public. * doc/guix.texi (Substitutes): Add xref to the client --substitute-urls option. (Invoking guix build): Document it. (Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.
This commit is contained in:
parent
24f5aaaf24
commit
f8a8e0fe16
|
@ -760,6 +760,7 @@ explicitly enable substitution @i{via} the @code{set-build-options}
|
||||||
remote procedure call (@pxref{The Store}).
|
remote procedure call (@pxref{The Store}).
|
||||||
|
|
||||||
@item --substitute-urls=@var{urls}
|
@item --substitute-urls=@var{urls}
|
||||||
|
@anchor{daemon-substitute-urls}
|
||||||
Consider @var{urls} the default whitespace-separated list of substitute
|
Consider @var{urls} the default whitespace-separated list of substitute
|
||||||
source URLs. When this option is omitted, @indicateurl{http://hydra.gnu.org}
|
source URLs. When this option is omitted, @indicateurl{http://hydra.gnu.org}
|
||||||
is used.
|
is used.
|
||||||
|
@ -1434,9 +1435,12 @@ also result from derivation builds, can be available as substitutes.
|
||||||
The @code{hydra.gnu.org} server is a front-end to a build farm that
|
The @code{hydra.gnu.org} server is a front-end to a build farm that
|
||||||
builds packages from the GNU distribution continuously for some
|
builds packages from the GNU distribution continuously for some
|
||||||
architectures, and makes them available as substitutes. This is the
|
architectures, and makes them available as substitutes. This is the
|
||||||
default source of substitutes; it can be overridden by passing
|
default source of substitutes; it can be overridden by passing the
|
||||||
@command{guix-daemon} the @code{--substitute-urls} option
|
@option{--substitute-urls} option either to @command{guix-daemon}
|
||||||
(@pxref{Invoking guix-daemon}).
|
(@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}})
|
||||||
|
or to client tools such as @command{guix package}
|
||||||
|
(@pxref{client-substitute-urls,, client @option{--substitute-urls}
|
||||||
|
option}).
|
||||||
|
|
||||||
@cindex security
|
@cindex security
|
||||||
@cindex digital signatures
|
@cindex digital signatures
|
||||||
|
@ -3584,6 +3588,16 @@ Do not build the derivations.
|
||||||
When substituting a pre-built binary fails, fall back to building
|
When substituting a pre-built binary fails, fall back to building
|
||||||
packages locally.
|
packages locally.
|
||||||
|
|
||||||
|
@item --substitute-urls=@var{urls}
|
||||||
|
@anchor{client-substitute-urls}
|
||||||
|
Consider @var{urls} the whitespace-separated list of substitute source
|
||||||
|
URLs, overriding the default list of URLs of @command{guix-daemon}
|
||||||
|
(@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs}).
|
||||||
|
|
||||||
|
This means that substitutes may be downloaded from @var{urls}, provided
|
||||||
|
they are signed by a key authorized by the system administrator
|
||||||
|
(@pxref{Substitutes}).
|
||||||
|
|
||||||
@item --no-substitutes
|
@item --no-substitutes
|
||||||
Do not use substitutes for build products. That is, always build things
|
Do not use substitutes for build products. That is, always build things
|
||||||
locally instead of allowing downloads of pre-built binaries
|
locally instead of allowing downloads of pre-built binaries
|
||||||
|
|
|
@ -117,6 +117,9 @@ options handled by 'set-build-options-from-command-line', and listed in
|
||||||
--fallback fall back to building when the substituter fails"))
|
--fallback fall back to building when the substituter fails"))
|
||||||
(display (_ "
|
(display (_ "
|
||||||
--no-substitutes build instead of resorting to pre-built substitutes"))
|
--no-substitutes build instead of resorting to pre-built substitutes"))
|
||||||
|
(display (_ "
|
||||||
|
--substitute-urls=URLS
|
||||||
|
fetch substitute from URLS if they are authorized"))
|
||||||
(display (_ "
|
(display (_ "
|
||||||
--no-build-hook do not attempt to offload builds via the build hook"))
|
--no-build-hook do not attempt to offload builds via the build hook"))
|
||||||
(display (_ "
|
(display (_ "
|
||||||
|
@ -141,6 +144,8 @@ options handled by 'set-build-options-from-command-line', and listed in
|
||||||
#:max-build-jobs (or (assoc-ref opts 'max-jobs) 1)
|
#:max-build-jobs (or (assoc-ref opts 'max-jobs) 1)
|
||||||
#:fallback? (assoc-ref opts 'fallback?)
|
#:fallback? (assoc-ref opts 'fallback?)
|
||||||
#:use-substitutes? (assoc-ref opts 'substitutes?)
|
#:use-substitutes? (assoc-ref opts 'substitutes?)
|
||||||
|
#:substitute-urls (or (assoc-ref opts 'substitute-urls)
|
||||||
|
%default-substitute-urls)
|
||||||
#:use-build-hook? (assoc-ref opts 'build-hook?)
|
#:use-build-hook? (assoc-ref opts 'build-hook?)
|
||||||
#:max-silent-time (assoc-ref opts 'max-silent-time)
|
#:max-silent-time (assoc-ref opts 'max-silent-time)
|
||||||
#:timeout (assoc-ref opts 'timeout)
|
#:timeout (assoc-ref opts 'timeout)
|
||||||
|
@ -177,6 +182,13 @@ options handled by 'set-build-options-from-command-line', and listed in
|
||||||
(alist-cons 'substitutes? #f
|
(alist-cons 'substitutes? #f
|
||||||
(alist-delete 'substitutes? result))
|
(alist-delete 'substitutes? result))
|
||||||
rest)))
|
rest)))
|
||||||
|
(option '("substitute-urls") #t #f
|
||||||
|
(lambda (opt name arg result . rest)
|
||||||
|
(apply values
|
||||||
|
(alist-cons 'substitute-urls
|
||||||
|
(string-tokenize arg)
|
||||||
|
(alist-delete 'substitute-urls result))
|
||||||
|
rest)))
|
||||||
(option '("no-build-hook") #f #f
|
(option '("no-build-hook") #f #f
|
||||||
(lambda (opt name arg result . rest)
|
(lambda (opt name arg result . rest)
|
||||||
(apply values
|
(apply values
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#:use-module (ice-9 popen)
|
#:use-module (ice-9 popen)
|
||||||
#:export (%daemon-socket-file
|
#:export (%daemon-socket-file
|
||||||
%gc-roots-directory
|
%gc-roots-directory
|
||||||
|
%default-substitute-urls
|
||||||
|
|
||||||
nix-server?
|
nix-server?
|
||||||
nix-server-major-version
|
nix-server-major-version
|
||||||
|
|
Loading…
Reference in New Issue