(address . guix-patches@gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
C.utf8 locale for glibc 2.35 does not build without errors. However, if the
build is forced using -c, the resulting locale file works just fine. It is a
recommended[0] workaround by the upstream. More info can be found here[1].
* gnu/build/locale.scm (build-locale): Add -c when building C.utf8 for 2.35.
Change-Id: I7429b67b222bb8c0796209fd6f7c7a8720424c68
---
gnu/build/locale.scm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
Toggle diff (27 lines)
diff --git a/gnu/build/locale.scm b/gnu/build/locale.scm
index 412759a320..b6f01bab0e 100644
--- a/gnu/build/locale.scm
+++ b/gnu/build/locale.scm
@@ -82,9 +82,15 @@ (define* (build-locale locale
"Compute locale data for LOCALE and CODESET--e.g., \"en_US\" and
\"UTF-8\"--with LOCALEDEF, and store it in DIRECTORY under NAME."
(format #t "building locale '~a'...~%" name)
- (invoke localedef "--no-archive" "--prefix" directory
- "-i" locale "-f" codeset
- (string-append directory "/" name)))
+ ;; In 2.35 the C.utf8 locale produces an error during a build. The
+ ;; resulting locale works fine, so the error needs to be suppressed.
+ ;; https://sourceware.org/bugzilla/show_bug.cgi?id=28845
+ (define C.utf8@2.35? (and (string-suffix? "/2.35" directory)
+ (string=? "C.utf8" name)))
+ (apply invoke localedef "--no-archive" "--prefix" directory
+ "-i" locale "-f" codeset
+ (append (if C.utf8@2.35? '("-c") '())
+ (list (string-append directory "/" name)))))
(define (locale->name+codeset locale)
"Split a locale name such as \"aa_ER@saaho.UTF-8\" into two values: the
base-commit: 61f2d84e75c340c2ba528d392f522c51b8843f34
--
2.41.0