aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-12-11 11:50:42 +0100
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:42:49 +0200
commit92727f4af5d410b0a521d57d5ecef6b35779bdc2 (patch)
treea8cf6ae7a71cea1d639524c1b1c4fa84eda55b5c
parent5b3e996d2980cf6549264ae111f36598efc91114 (diff)
downloadguix-92727f4af5d410b0a521d57d5ecef6b35779bdc2.tar
guix-92727f4af5d410b0a521d57d5ecef6b35779bdc2.tar.gz
gnu: commencement: Remove ‘glibc-utf8-locales’ from ‘%final-inputs’.
* gnu/packages/commencement.scm (%boot5-inputs): Make an alias for ‘%boot4-inputs’. (with-boot5): Turn into an alias for ‘with-boot4’. (%final-inputs): Override ‘native-inputs’ of GAWK. Remove "locales" entry. (canonical-package): Add “glibc-utf8-locales” entry. * gnu/packages/base.scm (libc-utf8-locales-for-target): Use ‘canonical-package’. * gnu/packages/gawk.scm (gawk)[native-inputs]: New field. * gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add ‘libc-utf8-locales-for-target’. Change-Id: I2283ffc6c6000c98ad2db89c04d581e050667c94
-rw-r--r--gnu/packages/base.scm11
-rw-r--r--gnu/packages/commencement.scm31
-rw-r--r--gnu/packages/gawk.scm6
-rw-r--r--gnu/packages/texinfo.scm7
4 files changed, 33 insertions, 22 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2f48f65caf..1140aa7491 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1651,9 +1651,14 @@ command.")
(define* (libc-utf8-locales-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
- (if (target-hurd? target)
- glibc-utf8-locales/hurd
- glibc-utf8-locales))
+ "Return the glibc UTF-8 locale package for TARGET."
+ ;; Note: To avoid circular dependencies (such as: texinfo ->
+ ;; glibc-utf8-locales -> glibc -> texinfo), refer to
+ ;; 'glibc-utf8-locales-final' via 'canonical-package'.
+ (canonical-package
+ (if (target-hurd? target)
+ glibc-utf8-locales/hurd
+ glibc-utf8-locales)))
(define-public tzdata
(package
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 179b4f2d3e..8b2423913d 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3394,17 +3394,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:guile guile-final
#:bash bash-final))
-(define (%boot5-inputs)
- ;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
- ;; with an older libc, which cannot load the new locale format. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
- `(("locales" ,(if (target-hurd?)
- glibc-utf8-locales-final/hurd
- glibc-utf8-locales-final))
- ,@(%boot4-inputs)))
-
-(define with-boot5
- (package-with-explicit-inputs %boot5-inputs))
+;; There used to be a "stage 5" including a variant of the
+;; 'glibc-utf8-locales' package. This is no longer necessary since 'glibc'
+;; embeds the "C.UTF-8" locale, but these aliases are kept for convenience.
+(define %boot5-inputs %boot4-inputs)
+(define with-boot5 with-boot4)
(define gnu-make-final
;; The final GNU Make, which uses the final Guile.
@@ -3493,7 +3487,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("diffutils" ,diffutils)
("patch" ,patch/pinned)
("findutils" ,findutils)
- ("gawk" ,gawk)))
+ ("gawk" ,(package/inherit gawk
+ (native-inputs
+ (list (if (target-hurd?)
+ glibc-utf8-locales-final/hurd
+ glibc-utf8-locales-final)))))))
("sed" ,sed-final)
("grep" ,grep-final)
("xz" ,xz-final)
@@ -3504,10 +3502,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("binutils" ,binutils-final)
("gcc" ,gcc-final)
("libc" ,glibc-final)
- ("libc:static" ,glibc-final "static")
- ("locales" ,(if (target-hurd? (%current-system))
- glibc-utf8-locales-final/hurd
- glibc-utf8-locales-final)))))))
+ ("libc:static" ,glibc-final "static"))))))
(define-public canonical-package
(let ((name->package (mlambda (system)
@@ -3518,6 +3513,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
package result))))
vlist-null
`(("guile" ,guile-final)
+ ("glibc-utf8-locales"
+ ,(if (target-hurd? system)
+ glibc-utf8-locales-final/hurd
+ glibc-utf8-locales-final))
,@(%final-inputs system))))))
(lambda (package)
"Return the 'canonical' variant of PACKAGE---i.e., if PACKAGE is one of
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 2d8bc581ef..476865ada3 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2016, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
@@ -79,6 +79,10 @@
(("#! /usr/bin/gawk")
(string-append "#!" (which "gawk")))))))))
+ ;; Tests explicitly require en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8 and
+ ;; ja_JP.UTF-8.
+ (native-inputs (list (libc-utf8-locales-for-target)))
+
(inputs (list libsigsegv
;; Use the full-fledged Bash package, otherwise the test suite
;; sometimes fail non-deterministically.
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index bfa975acc0..79c21d8b45 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -38,6 +38,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ncurses)
@@ -79,10 +80,12 @@
#:tests? ,(and (not (target-hurd?))
(not (%current-target-system)))))
(inputs (list ncurses perl))
+
;; When cross-compiling, texinfo will build some of its own binaries with
;; the native compiler. This means ncurses is needed both in both inputs
- ;; and native-inputs.
- (native-inputs (list perl ncurses))
+ ;; and native-inputs. Some of its tests require extra locales such as
+ ;; fr_FR.UTF-8.
+ (native-inputs (list perl ncurses (libc-utf8-locales-for-target)))
(native-search-paths
;; This is the variable used by the standalone Info reader.