summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/grafts.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/guix/grafts.scm b/guix/grafts.scm
index af469575db..6bec999ad2 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -189,6 +189,12 @@ available."
     (guard (c ((nix-protocol-error? c)
                ;; As a last resort, build DRV and query the references of the
                ;; build result.
+
+               ;; Warm up the narinfo cache, otherwise each derivation build
+               ;; will result in one HTTP request to get one narinfo, which is
+               ;; much less efficient than fetching them all upfront.
+               (substitution-oracle store (list drv))
+
                (and (build-derivations store (list drv))
                     (map (cut references store <>) items))))
       (references/substitutes store items)))