Archived
1
0
Fork 0

gnu: ld-wrapper: Memoize.

The command:

  guix graph -e '(@@ (gnu packages commencement) coreutils-final)'

now shows 93 nodes (992 edges) instead of 176 nodes (1241 edges).

* gnu/packages/commencement.scm (ld-wrapper-boot0): Use 'mlambda'
instead of 'lambda'.
(ld-wrapper-boot3): Likewise.
This commit is contained in:
Ludovic Courtès 2019-10-12 15:01:50 +02:00
parent 099dbc4fd3
commit dab669e075
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1942,15 +1942,16 @@ the bootstrap environment."
(delete 'set-TZDIR))) (delete 'set-TZDIR)))
((#:tests? _ #f) #f)))))) ((#:tests? _ #f) #f))))))
(define (ld-wrapper-boot0) (define ld-wrapper-boot0
;; We need this so binaries on Hurd will have libmachuser and libhurduser (mlambda ()
;; in their RUNPATH, otherwise validate-runpath will fail. ;; We need this so binaries on Hurd will have libmachuser and libhurduser
(make-ld-wrapper "ld-wrapper-boot0" ;; in their RUNPATH, otherwise validate-runpath will fail.
#:target boot-triplet (make-ld-wrapper "ld-wrapper-boot0"
#:binutils binutils-boot0 #:target boot-triplet
#:guile %bootstrap-guile #:binutils binutils-boot0
#:bash (car (assoc-ref (%boot0-inputs) "bash")) #:guile %bootstrap-guile
#:guile-for-build %bootstrap-guile)) #:bash (car (assoc-ref (%boot0-inputs) "bash"))
#:guile-for-build %bootstrap-guile)))
(define (%boot1-inputs) (define (%boot1-inputs)
;; 2nd stage inputs. ;; 2nd stage inputs.
@ -2238,13 +2239,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
,@(package-arguments zlib))) ,@(package-arguments zlib)))
(inputs (%boot2-inputs)))) (inputs (%boot2-inputs))))
(define (ld-wrapper-boot3) (define ld-wrapper-boot3
;; A linker wrapper that uses the bootstrap Guile. (mlambda ()
(make-ld-wrapper "ld-wrapper-boot3" ;; A linker wrapper that uses the bootstrap Guile.
#:binutils binutils-final (make-ld-wrapper "ld-wrapper-boot3"
#:guile %bootstrap-guile #:binutils binutils-final
#:bash (car (assoc-ref (%boot2-inputs) "bash")) #:guile %bootstrap-guile
#:guile-for-build %bootstrap-guile)) #:bash (car (assoc-ref (%boot2-inputs) "bash"))
#:guile-for-build %bootstrap-guile)))
(define gcc-final (define gcc-final
;; The final GCC. ;; The final GCC.