guix build, archive, graph: Disable absolute file port name canonicalization.
authorLudovic Courtès <ludo@gnu.org>
Fri, 24 Jan 2020 17:13:38 +0000 (18:13 +0100)
committerLudovic Courtès <ludo@gnu.org>
Fri, 24 Jan 2020 22:56:42 +0000 (23:56 +0100)
commit09238d618a511de80de189ff3ff18bfa0f280bb9
tree81dc484aab064afce53f839fc9c87c7e32e8ab0b
parenta07d5e558b5403dad0a59776b950b6b02169c249
guix build, archive, graph: Disable absolute file port name canonicalization.

This avoids an 'lstat' storm.  Specifically:

  ./pre-inst-env strace -c guix build -nd libreoffice

goes from 1,711 to 214 'lstat' calls.

* guix/scripts/build.scm (options->things-to-build): When SPEC matches
'derivation-path?', call 'canonicalize-path'.
(guix-build): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION.
* guix/scripts/archive.scm (guix-archive): Remove 'with-fluids' for
%FILE-PORT-NAME-CANONICALIZATION.
* guix/scripts/graph.scm (guix-graph): Likewise.
guix/scripts/archive.scm
guix/scripts/build.scm
guix/scripts/graph.scm