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
					
				
					 4 changed files with 49 additions and 9 deletions
				
			
		|  | @ -867,6 +867,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/glibc-hurd-magic-pid.patch		\
 | ||||
|   %D%/packages/patches/glibc-ldd-x86_64.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-reinstate-prlimit64-fallback.patch	\
 | ||||
|   %D%/packages/patches/glibc-vectorized-strcspn-guards.patch	\
 | ||||
|  |  | |||
|  | @ -999,7 +999,14 @@ with the Linux kernel.") | |||
|     (inherit glibc) | ||||
|     (name "glibc-locales") | ||||
|     (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)))))) | ||||
|     (synopsis "All the locales supported by the GNU C Library") | ||||
|     (description | ||||
|  |  | |||
							
								
								
									
										31
									
								
								gnu/packages/patches/glibc-locales-2.28.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								gnu/packages/patches/glibc-locales-2.28.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -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: | ||||
|      "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))
 | ||||
| diff -ru glibc-2.29-old/localedata/Makefile glibc-2.29-new/localedata/Makefile
 | ||||
| --- glibc-2.29-old/localedata/Makefile	2019-01-31 11:45:36.000000000 -0500
 | ||||
| +++ 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. | ||||
|  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: install-locale-archive | ||||
|   | ||||
|  install-locales-dir: | ||||
| @@ -224,7 +224,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir
 | ||||
|  # Create and install the locale-archive file. | ||||
| @@ -414,7 +414,7 @@
 | ||||
|  	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'; \ | ||||
|  	&& echo ' done'; | ||||
|  endef | ||||
|   | ||||
|  tst-setlocale-ENV = LC_ALL=ja_JP.EUC-JP | ||||
|  |  | |||
		Reference in a new issue