guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/10: gnu: commencement: Use locales for the right libc version on GNU/


From: guix-commits
Subject: 05/10: gnu: commencement: Use locales for the right libc version on GNU/Hurd.
Date: Sat, 25 Nov 2023 10:33:28 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Nov 25 16:17:12 2023 +0100

    gnu: commencement: Use locales for the right libc version on GNU/Hurd.
    
    Fixes <https://issues.guix.gnu.org/66472>.
    
    Until now, we were unconditionally using ‘glibc-utf8-locales’, which
    targets the glibc version used on Linux (2.35) rather than that used on
    the Hurd (2.37).  This would lead to build failures due to the inability
    to use locale encoding when targeting i586-gnu.
    
    * gnu/packages/base.scm (glibc-utf8-locales/hurd): New variable.
    * gnu/packages/commencement.scm (glibc-utf8-locales-final/hurd): New
    variable.
    (%boot5-inputs): Use it when ‘target-hurd?’ returns #t.
    (%final-inputs): Likewise.
    
    Change-Id: I1666d615dffbe3561cf2d9612b85cd31a48a7dcd
---
 gnu/packages/base.scm         |  5 +++++
 gnu/packages/commencement.scm | 18 ++++++++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2d8e9143cd..41aff0ca97 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1512,6 +1512,11 @@ command.")
            (delete 'build)))))                  ; nothing to build
     (supported-systems %hurd-systems)))
 
+(define-public glibc-utf8-locales/hurd
+  ;; Locales for the libc version used on GNU/Hurd.
+  (hidden-package
+   (make-glibc-utf8-locales glibc/hurd)))
+
 (define* (libc-for-target #:optional
                           (target (or (%current-target-system)
                                       (%current-system))))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 80fdb5aed7..a1ee015d04 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3365,6 +3365,16 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a 
\"$@\"~%"
      `(("glibc" ,glibc-final)
        ("gzip" ,(with-boot4 gzip))))))
 
+(define-public glibc-utf8-locales-final/hurd
+  ;; Locales for the libc version used on GNU/Hurd.
+  (package
+    (inherit glibc-utf8-locales/hurd)
+    (properties `((hidden? . #t)
+                  ,@(package-properties glibc-utf8-locales/hurd)))
+    (native-inputs
+     `(("glibc" ,glibc-final)
+       ("gzip" ,(with-boot4 gzip))))))
+
 (define-public ld-wrapper
   ;; The final 'ld' wrapper, which uses the final Guile and Binutils.
   (make-ld-wrapper "ld-wrapper"
@@ -3383,7 +3393,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a 
\"$@\"~%"
   ;; 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" ,glibc-utf8-locales-final)
+  `(("locales" ,(if (target-hurd?)
+                    glibc-utf8-locales-final/hurd
+                    glibc-utf8-locales-final))
     ,@(%boot4-inputs)))
 
 (define with-boot5
@@ -3484,7 +3496,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a 
\"$@\"~%"
           ("gcc" ,gcc-final)
           ("libc" ,glibc-final)
           ("libc:static" ,glibc-final "static")
-          ("locales" ,glibc-utf8-locales-final))))))
+          ("locales" ,(if (target-hurd?)
+                          glibc-utf8-locales-final/hurd
+                          glibc-utf8-locales-final)))))))
 
 (define-public canonical-package
   (let ((name->package (mlambda (system)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]