aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/commencement.scm43
1 files changed, 26 insertions, 17 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index aa0aac6d0e..f312e1729c 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -616,12 +616,31 @@ store.")
(current-source-location)
#:guile %bootstrap-guile)))
+(define glibc-utf8-locales-final
+ ;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed
+ ;; by the build processes afterwards so their 'scm_to_locale_string' works
+ ;; with the full range of Unicode codepoints (remember
+ ;; 'scm_to_locale_string' is called every time a string is passed to a C
+ ;; function.)
+ (package
+ (inherit glibc-utf8-locales)
+ (inputs `(("glibc" ,glibc-final)
+ ("gzip"
+ ,(package-with-explicit-inputs gzip %boot4-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile))))))
+
+(define %boot5-inputs
+ ;; Now with UTF-8 locale.
+ `(("locales" ,glibc-utf8-locales-final)
+ ,@%boot4-inputs))
+
(define gnu-make-final
;; The final GNU Make, which uses the final Guile.
(package-with-bootstrap-guile
(package-with-explicit-inputs gnu-make
`(("guile" ,guile-final)
- ,@%boot4-inputs)
+ ,@%boot5-inputs)
(current-source-location))))
(define-public ld-wrapper
@@ -638,7 +657,7 @@ store.")
;; Findutils, keep a reference to the Coreutils they were built with.
(package-with-bootstrap-guile
(package-with-explicit-inputs coreutils
- %boot4-inputs
+ %boot5-inputs
(current-source-location)
;; Use the final Guile, linked against the
@@ -652,25 +671,15 @@ store.")
;; built before gzip.
(package-with-bootstrap-guile
(package-with-explicit-inputs grep
- %boot4-inputs
+ %boot5-inputs
(current-source-location)
#:guile guile-final)))
-(define %boot5-inputs
+(define %boot6-inputs
;; Now use the final Coreutils.
`(("coreutils" ,coreutils-final)
("grep" ,grep-final)
- ,@%boot4-inputs))
-
-(define gzip-final
- (package-with-explicit-inputs gzip %boot5-inputs
- (current-source-location)))
-
-(define glibc-utf8-locales-final
- (package
- (inherit glibc-utf8-locales)
- (inputs `(("glibc" ,glibc-final)
- ("gzip" ,gzip-final)))))
+ ,@%boot5-inputs))
(define-public %final-inputs
;; Final derivations used as implicit inputs by 'gnu-build-system'. We
@@ -678,12 +687,13 @@ store.")
;; used for origins that have patches, thereby avoiding circular
;; dependencies.
(let ((finalize (compose package-with-bootstrap-guile
- (cut package-with-explicit-inputs <> %boot5-inputs
+ (cut package-with-explicit-inputs <> %boot6-inputs
(current-source-location)))))
`(,@(map (match-lambda
((name package)
(list name (finalize package))))
`(("tar" ,tar)
+ ("gzip" ,gzip)
("bzip2" ,bzip2)
("xz" ,xz)
("file" ,file)
@@ -692,7 +702,6 @@ store.")
("sed" ,sed)
("findutils" ,findutils)
("gawk" ,gawk)))
- ("gzip" ,gzip-final)
("grep" ,grep-final)
("coreutils" ,coreutils-final)
("make" ,gnu-make-final)