distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system): Rename to... (%glibc-for-bootstrap): ... this. Add new configure flags.master
parent
c2d771fd1d
commit
d3b59727fb
|
@ -45,25 +45,32 @@
|
||||||
;;;
|
;;;
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(define %glibc-with-relocatable-system
|
(define %glibc-for-bootstrap
|
||||||
;; A libc whose `system' and `popen' functions looks for `sh' in $PATH.
|
;; A libc whose `system' and `popen' functions looks for `sh' in $PATH,
|
||||||
|
;; without nscd, and with static NSS modules.
|
||||||
(package (inherit glibc-final)
|
(package (inherit glibc-final)
|
||||||
(arguments
|
(arguments
|
||||||
(lambda (system)
|
(lambda (system)
|
||||||
(substitute-keyword-arguments ((package-arguments glibc-final) system)
|
(substitute-keyword-arguments ((package-arguments glibc-final) system)
|
||||||
((#:patches patches)
|
((#:patches patches)
|
||||||
`(cons (assoc-ref %build-inputs "patch/system")
|
`(cons (assoc-ref %build-inputs "patch/system")
|
||||||
,patches)))))
|
,patches))
|
||||||
|
((#:configure-flags flags)
|
||||||
|
;; Arrange so that getaddrinfo & co. do not contact the nscd,
|
||||||
|
;; and can use statically-linked NSS modules.
|
||||||
|
`(cons* "--disable-nscd" "--disable-build-nscd"
|
||||||
|
"--enable-static-nss"
|
||||||
|
,flags)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
|
`(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
|
||||||
,@(package-inputs glibc-final)))))
|
,@(package-inputs glibc-final)))))
|
||||||
|
|
||||||
(define %standard-inputs-with-relocatable-glibc
|
(define %standard-inputs-with-relocatable-glibc
|
||||||
;; Standard inputs with the above libc and corresponding GCC.
|
;; Standard inputs with the above libc and corresponding GCC.
|
||||||
`(("libc", %glibc-with-relocatable-system)
|
`(("libc", %glibc-for-bootstrap)
|
||||||
("gcc" ,(package-with-explicit-inputs
|
("gcc" ,(package-with-explicit-inputs
|
||||||
gcc-4.7
|
gcc-4.7
|
||||||
`(("libc",%glibc-with-relocatable-system)
|
`(("libc",%glibc-for-bootstrap)
|
||||||
,@(alist-delete "libc" %final-inputs))
|
,@(alist-delete "libc" %final-inputs))
|
||||||
(current-source-location)))
|
(current-source-location)))
|
||||||
,@(fold alist-delete %final-inputs '("libc" "gcc"))))
|
,@(fold alist-delete %final-inputs '("libc" "gcc"))))
|
||||||
|
@ -271,7 +278,7 @@
|
||||||
;; GNU libc's essential shared libraries, dynamic linker, and headers,
|
;; GNU libc's essential shared libraries, dynamic linker, and headers,
|
||||||
;; with all references to store directories stripped. As a result,
|
;; with all references to store directories stripped. As a result,
|
||||||
;; libc.so is unusable and need to be patched for proper relocation.
|
;; libc.so is unusable and need to be patched for proper relocation.
|
||||||
(let ((glibc %glibc-with-relocatable-system))
|
(let ((glibc %glibc-for-bootstrap))
|
||||||
(package (inherit glibc)
|
(package (inherit glibc)
|
||||||
(name "glibc-stripped")
|
(name "glibc-stripped")
|
||||||
(build-system trivial-build-system)
|
(build-system trivial-build-system)
|
||||||
|
|
Reference in New Issue