guix-devel/guix
Ludovic Courtès 015f17e8b9
derivations: Introduce 'read-derivation-from-file'.
This avoids the open/fstat/close syscalls upon a cache hit that we had
with the previous idiom:

  (call-with-input-file file read-derivation)

where caching happened in 'read-derivation' itself.

* guix/derivations.scm (%read-derivation): Rename to...
(read-derivation): ... this.
(read-derivation-from-file): New procedure.
(derivation-prerequisites, substitution-oracle)
(derivation-prerequisites-to-build):
(derivation-path->output-path, derivation-path->output-paths):
(derivation-path->base16-hash, map-derivation): Use
'read-derivation-from-file' instead of (call-with-input-file …
read-derivation).
* guix/grafts.scm (item->deriver): Likewise.
* guix/scripts/build.scm (log-url, options->things-to-build): Likewise.
* guix/scripts/graph.scm (file->derivation): Remove.
(derivation-dependencies, %derivation-node-type): Use
'read-derivation-from-file' instead.
* guix/scripts/offload.scm (guix-offload): Likewise.
* guix/scripts/perform-download.scm (guix-perform-download): Likewise.
* guix/scripts/publish.scm (load-derivation): Remove.
(narinfo-string): Use 'read-derivation-from-file'.
2017-06-12 17:53:51 +02:00
..
build build-system: emacs: Factorize include/exclude default arguments. 2017-06-08 19:45:27 +05:30
build-system build-system: emacs: Factorize include/exclude default arguments. 2017-06-08 19:45:27 +05:30
import import: cpan: Update CPAN importer to use MetaCPAN v1 API. 2017-06-07 15:06:34 +02:00
scripts derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
store
tests
base16.scm
base32.scm
base64.scm base64: Turn into a regular Guile module. 2017-05-25 14:25:17 +02:00
build-system.scm
cache.scm
combinators.scm
config.scm.in
cpio.scm
cve.scm
cvs-download.scm
derivations.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
discovery.scm
docker.scm
download.scm download: Prune the ImageMagick mirror list. 2017-05-20 14:06:20 -04:00
elf.scm
ftp-client.scm
gcrypt.scm
gexp.scm
git-download.scm git-download: Fix 'git-predicate' to use absolute paths. 2017-05-30 18:08:37 +02:00
git.scm guix: git: Add new module. 2017-06-09 09:48:26 +02:00
gnu-maintenance.scm
gnupg.scm
grafts.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
graph.scm
hash.scm
hg-download.scm
http-client.scm
licenses.scm licenses: Add CC-BY 4.0. 2017-06-03 17:35:49 +02:00
memoization.scm
modules.scm modules: Raise an error when a dependency could not be found. 2017-05-25 14:25:17 +02:00
monad-repl.scm
monads.scm
nar.scm
packages.scm packages: Add aarch64-linux to %supported-systems. 2017-05-23 21:51:36 +03:00
pk-crypto.scm
pki.scm
profiles.scm profiles: Add elapsed time to manual-database hook to output message. 2017-05-20 10:15:47 +02:00
records.scm
scripts.scm
search-paths.scm
serialization.scm serialization: Remove Guile < 2.0.9 workaround. 2017-04-17 23:31:28 +02:00
sets.scm
ssh.scm ssh: Improve error reporting when 'send-files' fails. 2017-06-04 23:00:32 +02:00
store.scm store: Speed up 'add-to-store'. 2017-06-12 17:53:51 +02:00
svn-download.scm
tests.scm
ui.scm ui: 'show-what-to-build' warns when we don't have enough disk space. 2017-06-02 18:47:07 +02:00
upstream.scm
utils.scm
workers.scm scripts: Set thread names. 2017-05-28 23:13:39 +02:00
zlib.scm