unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
@ 2018-01-20 21:22 Mark H Weaver
  2018-01-20 21:45 ` Gábor Boskovits
  2018-01-24 14:34 ` Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Mark H Weaver @ 2018-01-20 21:22 UTC (permalink / raw)
  To: 30185

[-- Attachment #1: Type: text/plain, Size: 910 bytes --]

On my mips64el-linux GuixSD system, now updated to something close to
core-updates (but with binutils-2.25.1), guile prints this warning:

  guile: warning: failed to install locale

and 'locale' prints:

  mhw@yeeloong ~$ locale
  locale: Cannot set LC_CTYPE to default locale: No such file or directory
  locale: Cannot set LC_MESSAGES to default locale: No such file or directory
  locale: Cannot set LC_ALL to default locale: No such file or directory
  LANG=en_US.utf8
  LC_CTYPE="en_US.utf8"
  LC_NUMERIC="en_US.utf8"
  [...]

strace shows attempts to open files in /run/current-system/locale/2.26,
which was not included in my built system.  Instead I have:

  /run/current-system/locale/2.26.105-g0890d5379c

This matches the version field of our 'glibc' package in core-updates,
but it's not where libc is looking.

I've attached a patch that fixes the problem for me.
What do you think?

      Mark


[-- Attachment #2: [PATCH] system: Put locales where libc will find them --]
[-- Type: text/x-patch, Size: 2263 bytes --]

From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Sat, 20 Jan 2018 01:57:07 -0500
Subject: [PATCH] system: Put locales where libc will find them.

* gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
the major+minor part of the libc version number in the locale directory name.
---
 gnu/system/locale.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 75cb855b5..75417f669 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module (guix store)
   #:use-module (guix records)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (srfi srfi-26)
@@ -90,9 +92,9 @@ or #f on failure."
                       "--no-archive" "--prefix" #$output
                       "-i" #$(locale-definition-source locale)
                       "-f" #$(locale-definition-charset locale)
-                      (string-append #$output "/"
-                                     #$(package-version libc) "/"
-                                     #$(locale-definition-name locale))))))
+                      (string-append #$output "/" #$(version-major+minor
+                                                     (package-version libc))
+                                     "/" #$(locale-definition-name locale))))))
 
 (define* (single-locale-directory locales
                                   #:key (libc (canonical-package glibc)))
@@ -102,7 +104,7 @@ Because locale data formats are incompatible when switching from one libc to
 another, locale data is put in a sub-directory named after the 'version' field
 of LIBC."
   (define version
-    (package-version libc))
+    (version-major+minor (package-version libc)))
 
   (define build
     #~(begin
-- 
2.16.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-24 23:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
2018-01-20 21:45 ` Gábor Boskovits
2018-01-24 14:34 ` Ludovic Courtès
2018-01-24 23:32   ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).