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'.
This commit is contained in:
Ludovic Courtès 2020-03-29 18:42:10 +02:00
parent 9f78552996
commit 5a17b9b673
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -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?))