From 8fd6487e1c6ba4b3c8615973389f33335389af13 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Jan 2014 18:08:51 +0100 Subject: gnu: glibc: Build the Info pages. * gnu/packages/base.scm (glibc): Add 'native-inputs' field. (perl-boot0): New variable. (linux-libre-headers-boot0): Use it. (texinfo-boot0): New variable. (glibc-final-with-bootstrap-bash): Add 'native-inputs' field. --- gnu/packages/base.scm | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e17933b36f..45636e3bd3 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2012 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. @@ -31,6 +31,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages linux) + #:use-module (gnu packages texinfo) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -473,6 +474,11 @@ library for working with executable and object formats is also included.") %standard-phases)))) (inputs `(("static-bash" ,(static-package bash-light)))) + + ;; To build the manual, we need Texinfo and Perl. + (native-inputs `(("texinfo" ,texinfo) + ("perl" ,perl))) + (synopsis "The GNU C Library") (description "Any Unix-like operating system needs a C library: the library which @@ -735,6 +741,13 @@ identifier SYSTEM." (native-inputs (alist-delete "texinfo" (package-native-inputs gcc-4.8)))))) +(define perl-boot0 + (package-with-bootstrap-guile + (package-with-explicit-inputs perl + %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile))) + (define (linux-libre-headers-boot0) "Return Linux-Libre header files for the bootstrap environment." ;; Note: this is wrapped in a thunk to nicely handle circular dependencies @@ -745,12 +758,20 @@ identifier SYSTEM." #:implicit-inputs? #f ,@(package-arguments linux-libre-headers))) (native-inputs - (let ((perl (package-with-explicit-inputs perl - %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile))) - `(("perl" ,perl) - ,@%boot0-inputs)))))) + `(("perl" ,perl-boot0) + ,@%boot0-inputs))))) + +(define texinfo-boot0 + ;; Texinfo used to build libc's manual. + ;; We build without ncurses because it fails to build at this stage, and + ;; because we don't need the stand-alone Info reader. + ;; Also, use %BOOT0-INPUTS to avoid building Perl once more. + (let ((texinfo (package (inherit texinfo) + (inputs (alist-delete "ncurses" (package-inputs texinfo)))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs texinfo %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile)))) (define %boot1-inputs ;; 2nd stage inputs. @@ -784,6 +805,9 @@ identifier SYSTEM." "--enable-obsolete-rpc") ,flags))))) (propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0)))) + (native-inputs + `(("texinfo" ,texinfo-boot0) + ("perl" ,perl-boot0))) (inputs `( ;; A native GCC is needed to build `cross-rpcgen'. ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc")) -- cgit v1.2.3