From 1b9fb043d9c2fbd047ab17209ca4a3de5293edee Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 28 Oct 2018 11:16:46 +0900 Subject: [PATCH] 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. --- gnu/local.mk | 1 + gnu/packages/base.scm | 6 ++-- .../patches/glibc-supported-locales.patch | 31 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/glibc-supported-locales.patch 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 @@ (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 refers to , 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 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.