aboutsummaryrefslogtreecommitdiff
path: root/distro/packages/make-bootstrap.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-05 12:41:05 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-05 12:41:05 +0100
commitd3b59727fb5a8a040bc9d5ca6ada1239ccf90c01 (patch)
treed5114aea094cc82375efd61ef3eb799754dc6935 /distro/packages/make-bootstrap.scm
parentc2d771fd1da27cc6393c16e7e0ad10336e629f28 (diff)
downloadguix-d3b59727fb5a8a040bc9d5ca6ada1239ccf90c01.tar
guix-d3b59727fb5a8a040bc9d5ca6ada1239ccf90c01.tar.gz
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.
Diffstat (limited to 'distro/packages/make-bootstrap.scm')
-rw-r--r--distro/packages/make-bootstrap.scm19
1 files changed, 13 insertions, 6 deletions
diff --git a/distro/packages/make-bootstrap.scm b/distro/packages/make-bootstrap.scm
index e4569c3173..d54fdc444f 100644
--- a/distro/packages/make-bootstrap.scm
+++ b/distro/packages/make-bootstrap.scm
@@ -45,25 +45,32 @@
;;;
;;; Code:
-(define %glibc-with-relocatable-system
- ;; A libc whose `system' and `popen' functions looks for `sh' in $PATH.
+(define %glibc-for-bootstrap
+ ;; A libc whose `system' and `popen' functions looks for `sh' in $PATH,
+ ;; without nscd, and with static NSS modules.
(package (inherit glibc-final)
(arguments
(lambda (system)
(substitute-keyword-arguments ((package-arguments glibc-final) system)
((#:patches patches)
`(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
`(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
,@(package-inputs glibc-final)))))
(define %standard-inputs-with-relocatable-glibc
;; Standard inputs with the above libc and corresponding GCC.
- `(("libc", %glibc-with-relocatable-system)
+ `(("libc", %glibc-for-bootstrap)
("gcc" ,(package-with-explicit-inputs
gcc-4.7
- `(("libc",%glibc-with-relocatable-system)
+ `(("libc",%glibc-for-bootstrap)
,@(alist-delete "libc" %final-inputs))
(current-source-location)))
,@(fold alist-delete %final-inputs '("libc" "gcc"))))
@@ -271,7 +278,7 @@
;; GNU libc's essential shared libraries, dynamic linker, and headers,
;; with all references to store directories stripped. As a result,
;; 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)
(name "glibc-stripped")
(build-system trivial-build-system)