summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-29 18:42:10 +0200
committerLudovic Courtès <ludo@gnu.org>2020-03-29 23:14:28 +0200
commit5a17b9b673c9509ac31401fa60aa0a010656e8ac (patch)
tree7a16cb958f8419b63234b948b4ef3e880aa61cf5
parent9f7855299604c496d2d2f12041974e33baa0d63b (diff)
downloadguix-5a17b9b673c9509ac31401fa60aa0a010656e8ac.tar.gz
build-system/gnu: Optimize the package graph.
With this change, the output of:

  guix graph -e '(@@ (gnu packages commencement) coreutils-final)' |grep 'label = ' | wc -l

drops from 76 nodes to 68 nodes, and the "add-data-to-store-cache" hit
rate for:

  guix build libreoffice -d --no-grafts

drops from 3.9% to 2.6%.

* guix/build-system/gnu.scm (package-with-explicit-inputs*)[cut?]:
Adjust condition to exclude packages with build systems other than
GNU-BUILD-SYSTEM, such as 'ld-wrapper-boot3'.
-rw-r--r--guix/build-system/gnu.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 3cc89f8852..7266fa0009 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -151,8 +151,8 @@ so that they use INPUTS (a thunk) instead of implicit inputs."
         p))
 
   (define (cut? p)
-    (and (eq? (package-build-system p) gnu-build-system)
-         (memq #:implicit-inputs? (package-arguments p))))
+    (or (not (eq? (package-build-system p) gnu-build-system))
+        (memq #:implicit-inputs? (package-arguments p))))
 
   (package-mapping add-explicit-inputs cut?))