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:
parent
099dbc4fd3
commit
dab669e075
1 changed files with 18 additions and 16 deletions
|
@ -1942,7 +1942,8 @@ the bootstrap environment."
|
||||||
(delete 'set-TZDIR)))
|
(delete 'set-TZDIR)))
|
||||||
((#:tests? _ #f) #f))))))
|
((#:tests? _ #f) #f))))))
|
||||||
|
|
||||||
(define (ld-wrapper-boot0)
|
(define ld-wrapper-boot0
|
||||||
|
(mlambda ()
|
||||||
;; We need this so binaries on Hurd will have libmachuser and libhurduser
|
;; We need this so binaries on Hurd will have libmachuser and libhurduser
|
||||||
;; in their RUNPATH, otherwise validate-runpath will fail.
|
;; in their RUNPATH, otherwise validate-runpath will fail.
|
||||||
(make-ld-wrapper "ld-wrapper-boot0"
|
(make-ld-wrapper "ld-wrapper-boot0"
|
||||||
|
@ -1950,7 +1951,7 @@ the bootstrap environment."
|
||||||
#:binutils binutils-boot0
|
#:binutils binutils-boot0
|
||||||
#:guile %bootstrap-guile
|
#:guile %bootstrap-guile
|
||||||
#:bash (car (assoc-ref (%boot0-inputs) "bash"))
|
#:bash (car (assoc-ref (%boot0-inputs) "bash"))
|
||||||
#:guile-for-build %bootstrap-guile))
|
#: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
|
||||||
|
(mlambda ()
|
||||||
;; A linker wrapper that uses the bootstrap Guile.
|
;; A linker wrapper that uses the bootstrap Guile.
|
||||||
(make-ld-wrapper "ld-wrapper-boot3"
|
(make-ld-wrapper "ld-wrapper-boot3"
|
||||||
#:binutils binutils-final
|
#:binutils binutils-final
|
||||||
#:guile %bootstrap-guile
|
#:guile %bootstrap-guile
|
||||||
#:bash (car (assoc-ref (%boot2-inputs) "bash"))
|
#:bash (car (assoc-ref (%boot2-inputs) "bash"))
|
||||||
#:guile-for-build %bootstrap-guile))
|
#:guile-for-build %bootstrap-guile)))
|
||||||
|
|
||||||
(define gcc-final
|
(define gcc-final
|
||||||
;; The final GCC.
|
;; The final GCC.
|
||||||
|
|
Reference in a new issue