summaryrefslogtreecommitdiff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index a3e3e36608..a7d9459913 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -509,12 +509,16 @@ store.")
;; Set the default locale path. In practice, $LOCPATH may be
;; defined to point whatever locales users want. However, setuid
;; binaries don't honor $LOCPATH, so they'll instead look into
- ;; $libc_cv_localedir; we choose /run/current-system/locale, with
- ;; the idea that it is going to be populated by the sysadmin.
+ ;; $libc_cv_localedir; we choose /run/current-system/locale/X.Y,
+ ;; with the idea that it is going to be populated by the sysadmin.
+ ;; The "X.Y" sub-directory is because locale data formats are
+ ;; incompatible across libc versions; see
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
;;
;; `--localedir' is not honored, so work around it.
;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
- (string-append "libc_cv_localedir=/run/current-system/locale")
+ (string-append "libc_cv_localedir=/run/current-system/locale/"
+ ,version)
(string-append "--with-headers="
(assoc-ref %build-inputs "linux-headers")