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.
This commit is contained in:
Mathieu Othacehe 2018-10-28 11:16:46 +09:00
parent a036e3c9ba
commit 1b9fb043d9
No known key found for this signature in database
GPG key ID: 8354763531769CA6
3 changed files with 36 additions and 2 deletions

View file

@ -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 \

View file

@ -604,7 +604,8 @@ (define-public glibc/linux
"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 @@ (define-public glibc-2.27
"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

View file

@ -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.