gnu: make-glibc-locales: Adjust patch for glibc 2.29.
The patch for glibc 2.28 and earlier replaces the same content, but the context in the patch is different enough to fail to merge. * gnu/packages/base.scm (make-glibc-locales)[source]: Add patch. * gnu/packages/patches/glibc-locales.patch: Adjust for glibc 2.29 and move old file... * gnu/packages/patches/glibc-locales-2.28.patch: ...here. * gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
parent
ca3757e1c2
commit
d4137d84ac
|
@ -867,6 +867,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/glibc-hurd-magic-pid.patch \
|
%D%/packages/patches/glibc-hurd-magic-pid.patch \
|
||||||
%D%/packages/patches/glibc-ldd-x86_64.patch \
|
%D%/packages/patches/glibc-ldd-x86_64.patch \
|
||||||
%D%/packages/patches/glibc-locales.patch \
|
%D%/packages/patches/glibc-locales.patch \
|
||||||
|
%D%/packages/patches/glibc-locales-2.28.patch \
|
||||||
%D%/packages/patches/glibc-o-largefile.patch \
|
%D%/packages/patches/glibc-o-largefile.patch \
|
||||||
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
||||||
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
|
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
|
||||||
|
|
|
@ -999,7 +999,14 @@ with the Linux kernel.")
|
||||||
(inherit glibc)
|
(inherit glibc)
|
||||||
(name "glibc-locales")
|
(name "glibc-locales")
|
||||||
(source (origin (inherit (package-source glibc))
|
(source (origin (inherit (package-source glibc))
|
||||||
(patches (cons (search-patch "glibc-locales.patch")
|
;; The patch for glibc 2.28 and earlier replaces the same
|
||||||
|
;; content, but the context in the patch is different
|
||||||
|
;; enough to fail to merge.
|
||||||
|
(patches (cons (search-patch
|
||||||
|
(if (version>=? (package-version glibc)
|
||||||
|
"2.29")
|
||||||
|
"glibc-locales.patch"
|
||||||
|
"glibc-locales-2.28.patch"))
|
||||||
(origin-patches (package-source glibc))))))
|
(origin-patches (package-source glibc))))))
|
||||||
(synopsis "All the locales supported by the GNU C Library")
|
(synopsis "All the locales supported by the GNU C Library")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
This patch allows us to use glibc's build system to build locales
|
||||||
|
in a package separate from glibc.
|
||||||
|
|
||||||
|
1. Use 'localedef' from $PATH since we are not rebuilding it.
|
||||||
|
2. Use '--no-archive' to avoid building the big locale archive, and
|
||||||
|
because the already-built 'localedef' would want to write it
|
||||||
|
to '/run/current-system/locale', which is not possible.
|
||||||
|
3. Pass $(inst_complocaledir)/$$locale to install files in the right
|
||||||
|
place, and because otherwise, 'localedef' fails with:
|
||||||
|
"cannot write output files to `(null)'".
|
||||||
|
|
||||||
|
--- glibc-2.27/localedata/Makefile
|
||||||
|
+++ glibc-2.27/localedata/Makefile
|
||||||
|
@@ -199,7 +199,7 @@ INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
|
||||||
|
|
||||||
|
# Sometimes the whole collection of locale files should be installed.
|
||||||
|
LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
|
||||||
|
-$(rtld-prefix) $(common-objpfx)locale/localedef
|
||||||
|
+ localedef --no-archive
|
||||||
|
install-locales: $(INSTALL-SUPPORTED-LOCALES)
|
||||||
|
|
||||||
|
install-locales-dir:
|
||||||
|
@@ -224,7 +224,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir
|
||||||
|
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
|
||||||
|
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
|
||||||
|
-i locales/$$input -f charmaps/$$charset \
|
||||||
|
- $(addprefix --prefix=,$(install_root)) $$locale \
|
||||||
|
+ $(addprefix --prefix=,$(install_root)) $(inst_complocaledir)/$$locale \
|
||||||
|
&& echo ' done'; \
|
||||||
|
|
||||||
|
tst-setlocale-ENV = LC_ALL=ja_JP.EUC-JP
|
|
@ -9,23 +9,24 @@ in a package separate from glibc.
|
||||||
place, and because otherwise, 'localedef' fails with:
|
place, and because otherwise, 'localedef' fails with:
|
||||||
"cannot write output files to `(null)'".
|
"cannot write output files to `(null)'".
|
||||||
|
|
||||||
--- glibc-2.27/localedata/Makefile
|
diff -ru glibc-2.29-old/localedata/Makefile glibc-2.29-new/localedata/Makefile
|
||||||
+++ glibc-2.27/localedata/Makefile
|
--- glibc-2.29-old/localedata/Makefile 2019-01-31 11:45:36.000000000 -0500
|
||||||
@@ -199,7 +199,7 @@ INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
|
+++ glibc-2.29-new/localedata/Makefile 2019-07-03 22:48:35.662015071 -0400
|
||||||
|
@@ -385,7 +385,7 @@
|
||||||
|
|
||||||
# Sometimes the whole collection of locale files should be installed.
|
# Sometimes the whole collection of locale files should be installed.
|
||||||
LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
|
LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
|
||||||
-$(rtld-prefix) $(common-objpfx)locale/localedef
|
-$(rtld-prefix) $(common-objpfx)locale/localedef
|
||||||
+ localedef --no-archive
|
+ localedef --no-archive
|
||||||
install-locales: $(INSTALL-SUPPORTED-LOCALES)
|
install-locales: install-locale-archive
|
||||||
|
|
||||||
install-locales-dir:
|
# Create and install the locale-archive file.
|
||||||
@@ -224,7 +224,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir
|
@@ -414,7 +414,7 @@
|
||||||
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
|
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
|
||||||
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
|
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
|
||||||
-i locales/$$input -f charmaps/$$charset \
|
-i locales/$$input -f charmaps/$$charset \
|
||||||
- $(addprefix --prefix=,$(install_root)) $$locale \
|
- $(addprefix --prefix=,$(install_root)) $$locale \
|
||||||
+ $(addprefix --prefix=,$(install_root)) $(inst_complocaledir)/$$locale \
|
+ $(addprefix --prefix=,$(install_root)) $(inst_complocaledir)/$$locale \
|
||||||
&& echo ' done'; \
|
&& echo ' done';
|
||||||
|
endef
|
||||||
|
|
||||||
tst-setlocale-ENV = LC_ALL=ja_JP.EUC-JP
|
|
||||||
|
|
Loading…
Reference in New Issue