diff options
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e17933b36f..606ca8325f 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 <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; ;;; This file is part of GNU Guix. @@ -31,6 +31,8 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages linux) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages pkg-config) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -284,6 +286,7 @@ functionality beyond that which is outlined in the POSIX standard.") "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6")) (patches (list (search-patch "make-impure-dirs.patch"))))) (build-system gnu-build-system) + (native-inputs `(("pkg-config", pkg-config))) ; to detect Guile (inputs `(("guile" ,guile-2.0))) (outputs '("out" "debug")) (arguments @@ -473,6 +476,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 @@ -583,6 +591,7 @@ and daylight-saving rules.") (copy-file "make" (string-append bin "/make")))) ,phases)))))) + (native-inputs '()) ; no need for 'pkg-config' (inputs %bootstrap-inputs)))) (define diffutils-boot0 @@ -735,6 +744,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 +761,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 +808,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")) |