This makes 'guix environment PACKAGE' significantly faster when substitutes are enabled. Before that, it would lead to many invocations of 'guix substitute-binary', one per 'derivation-prerequisites-to-build' call. Now, all these are replaced by a single invocation. * guix/derivations.scm (derivation-output-paths, substitution-oracle): New procedures. (derivation-prerequisites-to-build): Replace #:use-substitutes? with #:substitutable?. Remove the local 'derivation-output-paths' and 'substitutable?'. * guix/ui.scm (show-what-to-build): Add 'substitutable?'. Pass it to 'derivation-prerequisites-to-build'. [built-or-substitutable?]: Use it instead of 'has-substitutes?'. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes"): Use #:substitutable? instead of #:use-substitutes?. |
||
---|---|---|
.. | ||
build | ||
build-system | ||
import | ||
scripts | ||
base32.scm | ||
base64.scm | ||
build-system.scm | ||
config.scm.in | ||
derivations.scm | ||
download.scm | ||
elf.scm | ||
ftp-client.scm | ||
gexp.scm | ||
git-download.scm | ||
gnu-maintenance.scm | ||
gnupg.scm | ||
hash.scm | ||
http-client.scm | ||
licenses.scm | ||
monad-repl.scm | ||
monads.scm | ||
nar.scm | ||
packages.scm | ||
pk-crypto.scm | ||
pki.scm | ||
profiles.scm | ||
records.scm | ||
serialization.scm | ||
store.scm | ||
svn-download.scm | ||
tests.scm | ||
ui.scm | ||
utils.scm |