aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2018-10-28 11:16:46 +0900
committerMathieu Othacehe <m.othacehe@gmail.com>2018-11-07 18:47:07 +0900
commit1b9fb043d9c2fbd047ab17209ca4a3de5293edee (patch)
tree11ec1ca89fdeaad0de0a25218b37fb55554576f9
parenta036e3c9ba8c303f06e221f14285d265c7b0b4fc (diff)
downloadguix-1b9fb043d9c2fbd047ab17209ca4a3de5293edee.tar
guix-1b9fb043d9c2fbd047ab17209ca4a3de5293edee.tar.gz
gnu: glibc: Export supported locales.
Debian and Archlinux (at least) force the installation of the localedata/SUPPORTED file of the glibc. This file lists all the supported locales of the glibc. * gnu/packages/patches/glibc-supported-locales.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc/linux): Add the previous patch, (glibc-2.28): ditto.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/base.scm6
-rw-r--r--gnu/packages/patches/glibc-supported-locales.patch31
3 files changed, 36 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4ba49e86a4..798b1e9209 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -763,6 +763,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glibc-2.27-git-fixes.patch \
%D%/packages/patches/glibc-2.28-git-fixes.patch \
+ %D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 3a1186673e..a6ece07ad9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -604,7 +604,8 @@ store.")
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
- "glibc-reinstate-prlimit64-fallback.patch"))))
+ "glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-supported-locales.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -901,7 +902,8 @@ GLIBC/HURD for a Hurd host"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
- "glibc-reinstate-prlimit64-fallback.patch"))))))
+ "glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-supported-locales.patch"))))))
(define-public glibc-2.26
(package
diff --git a/gnu/packages/patches/glibc-supported-locales.patch b/gnu/packages/patches/glibc-supported-locales.patch
new file mode 100644
index 0000000000..f1c8a88871
--- /dev/null
+++ b/gnu/packages/patches/glibc-supported-locales.patch
@@ -0,0 +1,31 @@
+This patch is taken from debian's glibc package (generate-supported.mk).
+
+diff --git a/localedata/Makefile.old b/localedata/Makefile
+index 34877c0..a61d9b9 100644
+--- a/localedata/Makefile.old
++++ b/localedata/Makefile
+@@ -91,7 +91,8 @@ endif
+ # Files to install.
+ install-others := $(addprefix $(inst_i18ndir)/, \
+ $(addsuffix .gz, $(charmaps)) \
+- $(locales))
++ $(locales)) \
++ $(inst_i18ndir)/SUPPORTED
+
+ tests: $(objdir)/iconvdata/gconv-modules
+
+@@ -195,6 +196,14 @@ endif
+
+ include SUPPORTED
+
++$(inst_i18ndir)/SUPPORTED: SUPPORTED $(+force)
++ for locale in $(SUPPORTED-LOCALES); do \
++ [ $$locale = true ] && continue; \
++ echo $$locale | sed 's,/, ,' >> LOCALES; \
++ done
++ $(make-target-directory)
++ $(INSTALL_DATA) LOCALES $@
++
+ INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
+
+ # Sometimes the whole collection of locale files should be installed.