Archived
1
0
Fork 0

gnu: commencement: Micro-optimize the package graph.

This removes 2 'add-data-to-store-cache' lookups.

* gnu/packages/commencement.scm (flex-boot0): Move (package (inherit …))
outside the 'propagated-inputs' field to avoid creating a new node each
time the field is accessed.
This commit is contained in:
Ludovic Courtès 2020-03-29 18:57:10 +02:00
parent 5a17b9b673
commit 71d17a09ee
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, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
@ -1760,20 +1760,21 @@ exec " gcc "/bin/" program
(define flex-boot0 (define flex-boot0
;; This Flex is needed to build MiG as well as Linux-Libre headers. ;; This Flex is needed to build MiG as well as Linux-Libre headers.
(package (let ((m4-boot0* (package (inherit m4-boot0*))))
(inherit flex) (package
(native-inputs `(("bison" ,bison-boot0))) (inherit flex)
(propagated-inputs (native-inputs `(("bison" ,bison-boot0)))
;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it (propagated-inputs
;; appears twice in '%build-inputs', like when we were using ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
;; 'package-with-explicit-inputs'. ;; appears twice in '%build-inputs', like when we were using
;; TODO: Remove this hack on the next rebuild cycle. ;; 'package-with-explicit-inputs'.
`(("m4" ,(package (inherit m4-boot0*))))) ;; TODO: Remove this hack on the next rebuild cycle.
(inputs (%boot0-inputs)) `(("m4" ,m4-boot0*)))
(arguments (inputs (%boot0-inputs))
`(#:implicit-inputs? #f (arguments
#:guile ,%bootstrap-guile `(#:implicit-inputs? #f
#:tests? #f)))) #:guile ,%bootstrap-guile
#:tests? #f)))))
(define linux-libre-headers-boot0 (define linux-libre-headers-boot0
(mlambda () (mlambda ()