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 ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -151,7 +151,7 @@ (define (add-explicit-inputs p)
p)) p))
(define (cut? p) (define (cut? p)
(and (eq? (package-build-system p) gnu-build-system) (or (not (eq? (package-build-system p) gnu-build-system))
(memq #:implicit-inputs? (package-arguments p)))) (memq #:implicit-inputs? (package-arguments p))))
(package-mapping add-explicit-inputs cut?)) (package-mapping add-explicit-inputs cut?))