summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/home/services/ssh.scm8
-rw-r--r--gnu/installer.scm7
-rw-r--r--gnu/packages/chromium.scm2
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/javascript.scm2
-rw-r--r--gnu/packages/package-management.scm4
-rw-r--r--gnu/packages/raspberry-pi.scm2
-rw-r--r--gnu/packages/suckless.scm2
-rw-r--r--gnu/services.scm4
-rw-r--r--gnu/services/base.scm7
-rw-r--r--gnu/services/guix.scm23
-rw-r--r--gnu/services/web.scm6
-rw-r--r--gnu/system/image.scm13
-rw-r--r--gnu/system/install.scm2
-rw-r--r--guix/packages.scm6
-rw-r--r--guix/profiles.scm37
-rw-r--r--guix/scripts/pack.scm8
-rw-r--r--guix/self.scm5
-rw-r--r--tests/pack.scm7
-rw-r--r--tests/profiles.scm4
20 files changed, 97 insertions, 56 deletions
diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm
index 34b1fe46584..295707d59fb 100644
--- a/gnu/home/services/ssh.scm
+++ b/gnu/home/services/ssh.scm
@@ -25,6 +25,7 @@
25 #:use-module (guix deprecation) 25 #:use-module (guix deprecation)
26 #:use-module (guix diagnostics) 26 #:use-module (guix diagnostics)
27 #:use-module (guix i18n) 27 #:use-module (guix i18n)
28 #:use-module ((guix utils) #:select (%current-system))
28 #:use-module (gnu services) 29 #:use-module (gnu services)
29 #:use-module (gnu services configuration) 30 #:use-module (gnu services configuration)
30 #:use-module (guix modules) 31 #:use-module (guix modules)
@@ -32,7 +33,7 @@
32 #:use-module (gnu home services shepherd) 33 #:use-module (gnu home services shepherd)
33 #:use-module ((gnu home services utils) 34 #:use-module ((gnu home services utils)
34 #:select (object->camel-case-string)) 35 #:select (object->camel-case-string))
35 #:autoload (gnu packages base) (glibc-utf8-locales) 36 #:autoload (gnu packages base) (libc-utf8-locales-for-target)
36 #:use-module (gnu packages ssh) 37 #:use-module (gnu packages ssh)
37 #:use-module (srfi srfi-1) 38 #:use-module (srfi srfi-1)
38 #:use-module (srfi srfi-9) 39 #:use-module (srfi srfi-9)
@@ -357,8 +358,9 @@ inserted after each of them."
357 358
358 ;; Support non-ASCII file names. 359 ;; Support non-ASCII file names.
359 (setenv "GUIX_LOCPATH" 360 (setenv "GUIX_LOCPATH"
360 #+(file-append glibc-utf8-locales 361 #+(file-append
361 "/lib/locale")) 362 (libc-utf8-locales-for-target (%current-system))
363 "/lib/locale"))
362 (setlocale LC_ALL "en_US.utf8") 364 (setlocale LC_ALL "en_US.utf8")
363 365
364 (call-with-output-file #$output 366 (call-with-output-file #$output
diff --git a/gnu/installer.scm b/gnu/installer.scm
index d9b71e2ca8e..db79c115304 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -85,9 +85,10 @@ version of this file."
85 (define set-utf8-locale 85 (define set-utf8-locale
86 #~(begin 86 #~(begin
87 (setenv "LOCPATH" 87 (setenv "LOCPATH"
88 #$(file-append glibc-utf8-locales "/lib/locale/" 88 #$(file-append
89 (version-major+minor 89 (libc-utf8-locales-for-target) "/lib/locale/"
90 (package-version glibc-utf8-locales)))) 90 (version-major+minor
91 (package-version (libc-utf8-locales-for-target)))))
91 (setlocale LC_ALL "en_US.utf8"))) 92 (setlocale LC_ALL "en_US.utf8")))
92 93
93 (define builder 94 (define builder
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 513e5459381..bc49e24f0e4 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -967,7 +967,7 @@ testing.")
967 (name "ungoogled-chromium-wayland") 967 (name "ungoogled-chromium-wayland")
968 (native-inputs '()) 968 (native-inputs '())
969 (inputs 969 (inputs
970 (list bash-minimal glibc-utf8-locales ungoogled-chromium)) 970 (list bash-minimal (libc-utf8-locales-for-target) ungoogled-chromium))
971 (build-system trivial-build-system) 971 (build-system trivial-build-system)
972 (arguments 972 (arguments
973 (list 973 (list
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0be935585d1..7364655d255 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5917,7 +5917,7 @@ services for numerous locations.")
5917 gi-docgen 5917 gi-docgen
5918 `(,glib "bin") ;for glib-mkenums 5918 `(,glib "bin") ;for glib-mkenums
5919 gobject-introspection 5919 gobject-introspection
5920 glibc-utf8-locales 5920 (libc-utf8-locales-for-target)
5921 gsettings-desktop-schemas 5921 gsettings-desktop-schemas
5922 pkg-config 5922 pkg-config
5923 python 5923 python
@@ -9471,7 +9471,7 @@ easy, safe, and automatic.")
9471 (native-inputs 9471 (native-inputs
9472 (list gettext-minimal 9472 (list gettext-minimal
9473 `(,glib "bin") 9473 `(,glib "bin")
9474 glibc-utf8-locales 9474 (libc-utf8-locales-for-target)
9475 gobject-introspection 9475 gobject-introspection
9476 docbook-xsl 9476 docbook-xsl
9477 docbook-xml 9477 docbook-xml
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index e70aa7d7e1e..2c7ff744ead 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -184,7 +184,7 @@ context menu in TypeScript.")
184 #t)))) 184 #t))))
185 (native-inputs 185 (native-inputs
186 `(("font-mathjax" ,font-mathjax) 186 `(("font-mathjax" ,font-mathjax)
187 ("glibc-utf8-locales" ,glibc-utf8-locales) 187 ("glibc-utf8-locales" ,(libc-utf8-locales-for-target))
188 ("uglifyjs" ,node-uglify-js) 188 ("uglifyjs" ,node-uglify-js)
189 ,@(package-native-inputs font-mathjax))) 189 ,@(package-native-inputs font-mathjax)))
190 (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath") 190 (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index fb9e57b2e7f..25818944d8e 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -524,7 +524,7 @@ $(prefix)/etc/openrc\n")))
524 524
525 ("git-minimal" ,git-minimal) ;for 'guix perform-download' 525 ("git-minimal" ,git-minimal) ;for 'guix perform-download'
526 526
527 ("glibc-utf8-locales" ,glibc-utf8-locales))) 527 ("glibc-utf8-locales" ,(libc-utf8-locales-for-target))))
528 (propagated-inputs 528 (propagated-inputs
529 `(("guile-gnutls" ,guile-gnutls) 529 `(("guile-gnutls" ,guile-gnutls)
530 ;; Avahi requires "glib" which doesn't cross-compile yet. 530 ;; Avahi requires "glib" which doesn't cross-compile yet.
@@ -2052,7 +2052,7 @@ cp -r /tmp/locale/*/en_US.*")))
2052 dbus ; for dbus-daemon 2052 dbus ; for dbus-daemon
2053 gettext-minimal 2053 gettext-minimal
2054 `(,glib "bin") ; for glib-mkenums + gdbus-codegen 2054 `(,glib "bin") ; for glib-mkenums + gdbus-codegen
2055 glibc-utf8-locales 2055 (libc-utf8-locales-for-target)
2056 gobject-introspection 2056 gobject-introspection
2057 libcap 2057 libcap
2058 pkg-config 2058 pkg-config
diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm
index 80bfaf0896c..5c25ed96da5 100644
--- a/gnu/packages/raspberry-pi.scm
+++ b/gnu/packages/raspberry-pi.scm
@@ -199,7 +199,7 @@ Raspberry Pi. Note: It does not work on Raspberry Pi 1.")
199 ("ld-wrapper" ,ld-wrapper) 199 ("ld-wrapper" ,ld-wrapper)
200 ("make" ,gnu-make) 200 ("make" ,gnu-make)
201 ("gcc" ,gcc-6) 201 ("gcc" ,gcc-6)
202 ("locales" ,glibc-utf8-locales))) 202 ("locales" ,(libc-utf8-locales-for-target))))
203 (inputs 203 (inputs
204 `()) 204 `())
205 (arguments 205 (arguments
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 400832045ff..714225c654b 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -1247,7 +1247,7 @@ a nice format.")
1247 (delete 'configure)))) ;no configure script 1247 (delete 'configure)))) ;no configure script
1248 (native-inputs (list pkg-config)) 1248 (native-inputs (list pkg-config))
1249 (inputs (list freetype libx11 libxft libxtst libxinerama)) 1249 (inputs (list freetype libx11 libxft libxtst libxinerama))
1250 (propagated-inputs (list glibc-utf8-locales)) 1250 (propagated-inputs (list (libc-utf8-locales-for-target)))
1251 (home-page "https://tools.suckless.org/x/svkbd/") 1251 (home-page "https://tools.suckless.org/x/svkbd/")
1252 (synopsis "Virtual on-screen keyboard") 1252 (synopsis "Virtual on-screen keyboard")
1253 (description "svkbd is a simple virtual keyboard, intended to be used in 1253 (description "svkbd is a simple virtual keyboard, intended to be used in
diff --git a/gnu/services.scm b/gnu/services.scm
index ff153fbc7b2..23c3d8a9f4c 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -651,7 +651,9 @@ information is missing, return the empty list (for channels) and possibly
651 ;; Force file names to be decoded as UTF-8. See 651 ;; Force file names to be decoded as UTF-8. See
652 ;; <https://bugs.gnu.org/26353>. 652 ;; <https://bugs.gnu.org/26353>.
653 (setenv "GUIX_LOCPATH" 653 (setenv "GUIX_LOCPATH"
654 #+(file-append glibc-utf8-locales "/lib/locale")) 654 #+(file-append
655 (libc-utf8-locales-for-target (%current-system))
656 "/lib/locale"))
655 (setlocale LC_CTYPE "en_US.utf8") 657 (setlocale LC_CTYPE "en_US.utf8")
656 (delete-file-recursively "/tmp") 658 (delete-file-recursively "/tmp")
657 (delete-file-recursively "/var/run") 659 (delete-file-recursively "/var/run")
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 82c69407806..dc001fdef63 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -63,7 +63,9 @@
63 #:use-module (gnu packages bash) 63 #:use-module (gnu packages bash)
64 #:use-module ((gnu packages base) 64 #:use-module ((gnu packages base)
65 #:select (coreutils glibc glibc/hurd 65 #:select (coreutils glibc glibc/hurd
66 glibc-utf8-locales make-glibc-utf8-locales 66 glibc-utf8-locales
67 libc-utf8-locales-for-target
68 make-glibc-utf8-locales
67 tar canonical-package)) 69 tar canonical-package))
68 #:use-module ((gnu packages compression) #:select (gzip)) 70 #:use-module ((gnu packages compression) #:select (gzip))
69 #:use-module (gnu packages fonts) 71 #:use-module (gnu packages fonts)
@@ -2147,7 +2149,8 @@ raise a deprecation warning if the 'compression-level' field was used."
2147 ;; nars for packages that contain UTF-8 file names such 2149 ;; nars for packages that contain UTF-8 file names such
2148 ;; as 'nss-certs'. See <https://bugs.gnu.org/26948>. 2150 ;; as 'nss-certs'. See <https://bugs.gnu.org/26948>.
2149 (list (string-append "GUIX_LOCPATH=" 2151 (list (string-append "GUIX_LOCPATH="
2150 #$glibc-utf8-locales "/lib/locale") 2152 #$(libc-utf8-locales-for-target)
2153 "/lib/locale")
2151 "LC_ALL=en_US.utf8") 2154 "LC_ALL=en_US.utf8")
2152 #:log-file "/var/log/guix-publish.log")) 2155 #:log-file "/var/log/guix-publish.log"))
2153 (endpoints #~(let ((ai (false-if-exception 2156 (endpoints #~(let ((ai (false-if-exception
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index fe602efb990..389903451a2 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -23,7 +23,7 @@
23 #:use-module (guix records) 23 #:use-module (guix records)
24 #:use-module (guix packages) 24 #:use-module (guix packages)
25 #:use-module ((gnu packages base) 25 #:use-module ((gnu packages base)
26 #:select (glibc-utf8-locales)) 26 #:select (libc-utf8-locales-for-target))
27 #:use-module (gnu packages admin) 27 #:use-module (gnu packages admin)
28 #:use-module (gnu packages databases) 28 #:use-module (gnu packages databases)
29 #:use-module (gnu packages web) 29 #:use-module (gnu packages web)
@@ -381,7 +381,8 @@
381 #:pid-file-timeout 60 381 #:pid-file-timeout 60
382 #:environment-variables 382 #:environment-variables
383 `(,(string-append 383 `(,(string-append
384 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 384 "GUIX_LOCPATH="
385 #$(libc-utf8-locales-for-target) "/lib/locale")
385 "LC_ALL=en_US.utf8" 386 "LC_ALL=en_US.utf8"
386 "PATH=/run/current-system/profile/bin" ; for hooks 387 "PATH=/run/current-system/profile/bin" ; for hooks
387 #$@extra-environment-variables) 388 #$@extra-environment-variables)
@@ -508,7 +509,8 @@
508 #:user #$user 509 #:user #$user
509 #:environment-variables 510 #:environment-variables
510 `(,(string-append 511 `(,(string-append
511 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 512 "GUIX_LOCPATH="
513 #$(libc-utf8-locales-for-target) "/lib/locale")
512 ;; XDG_CACHE_HOME is used by Guix when caching narinfo files 514 ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
513 "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent" 515 "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
514 "LC_ALL=en_US.utf8") 516 "LC_ALL=en_US.utf8")
@@ -600,7 +602,8 @@
600 #:user #$user 602 #:user #$user
601 #:environment-variables 603 #:environment-variables
602 `(,(string-append 604 `(,(string-append
603 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 605 "GUIX_LOCPATH="
606 #$(libc-utf8-locales-for-target) "/lib/locale")
604 "LC_ALL=en_US.utf8") 607 "LC_ALL=en_US.utf8")
605 #:log-file "/var/log/guix-build-coordinator/queue-builds.log")))) 608 #:log-file "/var/log/guix-build-coordinator/queue-builds.log"))))
606 (stop #~(make-kill-destructor)) 609 (stop #~(make-kill-destructor))
@@ -712,7 +715,8 @@ ca-certificates.crt file in the system profile."
712 #:pid-file "/var/run/guix-data-service/pid" 715 #:pid-file "/var/run/guix-data-service/pid"
713 #:environment-variables 716 #:environment-variables
714 `(,(string-append 717 `(,(string-append
715 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 718 "GUIX_LOCPATH="
719 #$(libc-utf8-locales-for-target) "/lib/locale")
716 "LC_ALL=en_US.UTF-8") 720 "LC_ALL=en_US.UTF-8")
717 #:log-file "/var/log/guix-data-service/web.log")) 721 #:log-file "/var/log/guix-data-service/web.log"))
718 (stop #~(make-kill-destructor))) 722 (stop #~(make-kill-destructor)))
@@ -733,7 +737,8 @@ ca-certificates.crt file in the system profile."
733 `("HOME=/var/lib/guix-data-service" 737 `("HOME=/var/lib/guix-data-service"
734 "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" 738 "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
735 ,(string-append 739 ,(string-append
736 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 740 "GUIX_LOCPATH="
741 #$(libc-utf8-locales-for-target) "/lib/locale")
737 "LC_ALL=en_US.UTF-8") 742 "LC_ALL=en_US.UTF-8")
738 #:log-file "/var/log/guix-data-service/process-jobs.log")) 743 #:log-file "/var/log/guix-data-service/process-jobs.log"))
739 (stop #~(make-kill-destructor)))))) 744 (stop #~(make-kill-destructor))))))
@@ -989,7 +994,8 @@ ca-certificates.crt file in the system profile."
989 #:pid-file "/var/run/nar-herder/pid" 994 #:pid-file "/var/run/nar-herder/pid"
990 #:environment-variables 995 #:environment-variables
991 `(,(string-append 996 `(,(string-append
992 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 997 "GUIX_LOCPATH="
998 #$(libc-utf8-locales-for-target) "/lib/locale")
993 "LC_ALL=en_US.utf8" 999 "LC_ALL=en_US.utf8"
994 #$@extra-environment-variables) 1000 #$@extra-environment-variables)
995 #:log-file "/var/log/nar-herder/server.log")) 1001 #:log-file "/var/log/nar-herder/server.log"))
@@ -1108,7 +1114,8 @@ ca-certificates.crt file in the system profile."
1108 #:directory "/var/lib/bffe" 1114 #:directory "/var/lib/bffe"
1109 #:environment-variables 1115 #:environment-variables
1110 `(,(string-append 1116 `(,(string-append
1111 "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") 1117 "GUIX_LOCPATH="
1118 #$(libc-utf8-locales-for-target) "/lib/locale")
1112 "LC_ALL=en_US.utf8" 1119 "LC_ALL=en_US.utf8"
1113 #$@extra-environment-variables) 1120 #$@extra-environment-variables)
1114 #:log-file "/var/log/bffe/server.log")) 1121 #:log-file "/var/log/bffe/server.log"))
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 818226a4f76..023b187cb0d 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -1498,7 +1498,8 @@ files.")
1498 '#$(optional anonip-configuration-regex "--regex")) 1498 '#$(optional anonip-configuration-regex "--regex"))
1499 ;; Run in a UTF-8 locale 1499 ;; Run in a UTF-8 locale
1500 #:environment-variables 1500 #:environment-variables
1501 (list (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales 1501 (list (string-append "GUIX_LOCPATH="
1502 #$(libc-utf8-locales-for-target)
1502 "/lib/locale") 1503 "/lib/locale")
1503 "LC_ALL=en_US.utf8"))) 1504 "LC_ALL=en_US.utf8")))
1504 1505
@@ -1976,7 +1977,8 @@ WSGIPassAuthorization On
1976(define (mumi-shepherd-services config) 1977(define (mumi-shepherd-services config)
1977 (define environment 1978 (define environment
1978 #~(list "LC_ALL=en_US.utf8" 1979 #~(list "LC_ALL=en_US.utf8"
1979 (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales 1980 (string-append "GUIX_LOCPATH="
1981 #$(libc-utf8-locales-for-target)
1980 "/lib/locale"))) 1982 "/lib/locale")))
1981 1983
1982 (match config 1984 (match config
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index a990c4f8613..b8258922329 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -466,7 +466,9 @@ used in the image."
466 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be 466 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be
467 ;; decoded. 467 ;; decoded.
468 (setenv "GUIX_LOCPATH" 468 (setenv "GUIX_LOCPATH"
469 #+(file-append glibc-utf8-locales "/lib/locale")) 469 #+(file-append (libc-utf8-locales-for-target
470 (%current-system))
471 "/lib/locale"))
470 (setlocale LC_ALL "en_US.utf8") 472 (setlocale LC_ALL "en_US.utf8")
471 473
472 (initializer image-root 474 (initializer image-root
@@ -633,7 +635,8 @@ used in the image. "
633 635
634 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. 636 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
635 (setenv "GUIX_LOCPATH" 637 (setenv "GUIX_LOCPATH"
636 #+(file-append glibc-utf8-locales "/lib/locale")) 638 #+(file-append (libc-utf8-locales-for-target (%current-system))
639 "/lib/locale"))
637 640
638 (setlocale LC_ALL "en_US.utf8") 641 (setlocale LC_ALL "en_US.utf8")
639 642
@@ -737,7 +740,8 @@ output file."
737 740
738 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. 741 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
739 (setenv "GUIX_LOCPATH" 742 (setenv "GUIX_LOCPATH"
740 #+(file-append glibc-utf8-locales "/lib/locale")) 743 #+(file-append (libc-utf8-locales-for-target (%current-system))
744 "/lib/locale"))
741 (setlocale LC_ALL "en_US.utf8") 745 (setlocale LC_ALL "en_US.utf8")
742 746
743 (set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar)) 747 (set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar))
@@ -816,7 +820,8 @@ output file."
816 820
817 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. 821 ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
818 (setenv "GUIX_LOCPATH" 822 (setenv "GUIX_LOCPATH"
819 #+(file-append glibc-utf8-locales "/lib/locale")) 823 #+(file-append (libc-utf8-locales-for-target (%current-system))
824 "/lib/locale"))
820 (setlocale LC_ALL "en_US.utf8") 825 (setlocale LC_ALL "en_US.utf8")
821 826
822 (let ((image-root (string-append (getcwd) "/tmp-root")) 827 (let ((image-root (string-append (getcwd) "/tmp-root"))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 28161de153c..336d13bd076 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -454,7 +454,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
454 (service gc-root-service-type 454 (service gc-root-service-type
455 (append 455 (append
456 (list bare-bones-os 456 (list bare-bones-os
457 glibc-utf8-locales 457 (libc-utf8-locales-for-target system)
458 texinfo 458 texinfo
459 guile-3.0) 459 guile-3.0)
460 %default-locale-libcs))) 460 %default-locale-libcs)))
diff --git a/guix/packages.scm b/guix/packages.scm
index e2e82692ad6..b768dddb5f0 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -866,7 +866,11 @@ identifiers. The result is inferred from the file names of patches."
866 ("lzip" ,(ref '(gnu packages compression) 'lzip)) 866 ("lzip" ,(ref '(gnu packages compression) 'lzip))
867 ("unzip" ,(ref '(gnu packages compression) 'unzip)) 867 ("unzip" ,(ref '(gnu packages compression) 'unzip))
868 ("patch" ,(ref '(gnu packages base) 'patch)) 868 ("patch" ,(ref '(gnu packages base) 'patch))
869 ("locales" ,(ref '(gnu packages base) 'glibc-utf8-locales))))) 869 ("locales"
870 ,(parameterize ((%current-target-system #f))
871 (canonical
872 ((module-ref (resolve-interface '(gnu packages base))
873 'libc-utf8-locales-for-target))))))))
870 874
871(define (default-guile) 875(define (default-guile)
872 "Return the default Guile package used to run the build code of 876 "Return the default Guile package used to run the build code of
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 5d2fb8dc649..ce2f8337bfc 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1000,8 +1000,9 @@ MANIFEST."
1000 (module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo)) 1000 (module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo))
1001 (define gzip ;lazy reference 1001 (define gzip ;lazy reference
1002 (module-ref (resolve-interface '(gnu packages compression)) 'gzip)) 1002 (module-ref (resolve-interface '(gnu packages compression)) 'gzip))
1003 (define glibc-utf8-locales ;lazy reference 1003 (define libc-utf8-locales-for-target ;lazy reference
1004 (module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales)) 1004 (module-ref (resolve-interface '(gnu packages base))
1005 'libc-utf8-locales-for-target))
1005 1006
1006 (define build 1007 (define build
1007 (with-imported-modules '((guix build utils)) 1008 (with-imported-modules '((guix build utils))
@@ -1043,7 +1044,8 @@ MANIFEST."
1043 1044
1044 (setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files 1045 (setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
1045 (setenv "GUIX_LOCPATH" 1046 (setenv "GUIX_LOCPATH"
1046 #+(file-append glibc-utf8-locales "/lib/locale")) 1047 #+(file-append (libc-utf8-locales-for-target system)
1048 "/lib/locale"))
1047 1049
1048 (mkdir-p (string-append #$output "/share/info")) 1050 (mkdir-p (string-append #$output "/share/info"))
1049 (exit (every install-info 1051 (exit (every install-info
@@ -1124,8 +1126,9 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
1124 ;; See <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00429.html> 1126 ;; See <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00429.html>
1125 ;; for a discussion. 1127 ;; for a discussion.
1126 1128
1127 (define glibc-utf8-locales ;lazy reference 1129 (define libc-utf8-locales-for-target ;lazy reference
1128 (module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales)) 1130 (module-ref (resolve-interface '(gnu packages base))
1131 'libc-utf8-locales-for-target))
1129 1132
1130 (define build 1133 (define build
1131 (with-imported-modules '((guix build utils)) 1134 (with-imported-modules '((guix build utils))
@@ -1159,9 +1162,11 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
1159 ;; Some file names in the NSS certificates are UTF-8 encoded so 1162 ;; Some file names in the NSS certificates are UTF-8 encoded so
1160 ;; install a UTF-8 locale. 1163 ;; install a UTF-8 locale.
1161 (setenv "LOCPATH" 1164 (setenv "LOCPATH"
1162 (string-append #+glibc-utf8-locales "/lib/locale/" 1165 (string-append #+(libc-utf8-locales-for-target system)
1166 "/lib/locale/"
1163 #+(version-major+minor 1167 #+(version-major+minor
1164 (package-version glibc-utf8-locales)))) 1168 (package-version
1169 (libc-utf8-locales-for-target system)))))
1165 (setlocale LC_ALL "en_US.utf8") 1170 (setlocale LC_ALL "en_US.utf8")
1166 1171
1167 (match (append-map ca-files '#$(manifest-inputs manifest)) 1172 (match (append-map ca-files '#$(manifest-inputs manifest))
@@ -1999,19 +2004,21 @@ are cross-built for TARGET."
1999 (and (derivation? drv) (gexp-input drv))) 2004 (and (derivation? drv) (gexp-input drv)))
2000 extras)) 2005 extras))
2001 2006
2002 (define glibc-utf8-locales ;lazy reference 2007 (define libc-utf8-locales-for-target ;lazy reference
2003 (module-ref (resolve-interface '(gnu packages base)) 2008 (module-ref (resolve-interface '(gnu packages base))
2004 'glibc-utf8-locales)) 2009 'libc-utf8-locales-for-target))
2005 2010
2006 (define set-utf8-locale 2011 (define set-utf8-locale
2007 ;; Some file names (e.g., in 'nss-certs') are UTF-8 encoded so 2012 ;; Some file names (e.g., in 'nss-certs') are UTF-8 encoded so
2008 ;; install a UTF-8 locale. 2013 ;; install a UTF-8 locale.
2009 #~(begin 2014 (let ((locales (libc-utf8-locales-for-target
2010 (setenv "LOCPATH" 2015 (or system (%current-system)))))
2011 #$(file-append glibc-utf8-locales "/lib/locale/" 2016 #~(begin
2012 (version-major+minor 2017 (setenv "LOCPATH"
2013 (package-version glibc-utf8-locales)))) 2018 #$(file-append locales "/lib/locale/"
2014 (setlocale LC_ALL "en_US.utf8"))) 2019 (version-major+minor
2020 (package-version locales))))
2021 (setlocale LC_ALL "en_US.utf8"))))
2015 2022
2016 (define builder 2023 (define builder
2017 (with-imported-modules '((guix build profiles) 2024 (with-imported-modules '((guix build profiles)
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index bdbea49910c..8071840de15 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -137,7 +137,8 @@ dependencies are registered."
137 137
138 ;; Make sure non-ASCII file names are properly handled. 138 ;; Make sure non-ASCII file names are properly handled.
139 (setenv "GUIX_LOCPATH" 139 (setenv "GUIX_LOCPATH"
140 #+(file-append glibc-utf8-locales "/lib/locale")) 140 #+(file-append (libc-utf8-locales-for-target (%current-system))
141 "/lib/locale"))
141 (setlocale LC_ALL "en_US.utf8") 142 (setlocale LC_ALL "en_US.utf8")
142 143
143 (sql-schema #$schema) 144 (sql-schema #$schema)
@@ -209,7 +210,10 @@ GLIBC-UT8-LOCALES package."
209 (profile-locales? profile)) 210 (profile-locales? profile))
210 #~(begin 211 #~(begin
211 (setenv "GUIX_LOCPATH" 212 (setenv "GUIX_LOCPATH"
212 #+(file-append glibc-utf8-locales "/lib/locale")) 213 #+(file-append (let-system (system target)
214 (libc-utf8-locales-for-target
215 (or target system)))
216 "/lib/locale"))
213 (setlocale LC_ALL "en_US.utf8")) 217 (setlocale LC_ALL "en_US.utf8"))
214 #~(setenv "GUIX_LOCPATH" "unset for tests"))) 218 #~(setenv "GUIX_LOCPATH" "unset for tests")))
215 219
diff --git a/guix/self.scm b/guix/self.scm
index a1f235659d7..f3785489590 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -73,7 +73,10 @@
73 ("po4a" . ,(ref 'gettext 'po4a)) 73 ("po4a" . ,(ref 'gettext 'po4a))
74 ("gettext-minimal" . ,(ref 'gettext 'gettext-minimal)) 74 ("gettext-minimal" . ,(ref 'gettext 'gettext-minimal))
75 ("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain)) 75 ("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain))
76 ("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales)) 76 ("glibc-utf8-locales" . ,(delay
77 ((module-ref (resolve-interface
78 '(gnu packages base))
79 'libc-utf8-locales-for-target))))
77 ("graphviz" . ,(ref 'graphviz 'graphviz-minimal)) 80 ("graphviz" . ,(ref 'graphviz 'graphviz-minimal))
78 ("font-ghostscript" . ,(ref 'ghostscript 'font-ghostscript)) 81 ("font-ghostscript" . ,(ref 'ghostscript 'font-ghostscript))
79 ("texinfo" . ,(ref 'texinfo 'texinfo))))) 82 ("texinfo" . ,(ref 'texinfo 'texinfo)))))
diff --git a/tests/pack.scm b/tests/pack.scm
index 8fdaed01688..ac78817a700 100644
--- a/tests/pack.scm
+++ b/tests/pack.scm
@@ -30,7 +30,7 @@
30 #:use-module (guix modules) 30 #:use-module (guix modules)
31 #:use-module (guix utils) 31 #:use-module (guix utils)
32 #:use-module (gnu packages) 32 #:use-module (gnu packages)
33 #:use-module ((gnu packages base) #:select (glibc-utf8-locales)) 33 #:use-module ((gnu packages base) #:select (libc-utf8-locales-for-target))
34 #:use-module (gnu packages bootstrap) 34 #:use-module (gnu packages bootstrap)
35 #:use-module ((gnu packages package-management) #:select (rpm)) 35 #:use-module ((gnu packages package-management) #:select (rpm))
36 #:use-module ((gnu packages compression) #:select (squashfs-tools)) 36 #:use-module ((gnu packages compression) #:select (squashfs-tools))
@@ -197,8 +197,9 @@
197 ;; Make sure non-ASCII file names are properly 197 ;; Make sure non-ASCII file names are properly
198 ;; handled. 198 ;; handled.
199 (setenv "GUIX_LOCPATH" 199 (setenv "GUIX_LOCPATH"
200 #+(file-append glibc-utf8-locales 200 #+(file-append
201 "/lib/locale")) 201 (libc-utf8-locales-for-target)
202 "/lib/locale"))
202 (setlocale LC_ALL "en_US.utf8") 203 (setlocale LC_ALL "en_US.utf8")
203 204
204 (mkdir #$output) 205 (mkdir #$output)
diff --git a/tests/profiles.scm b/tests/profiles.scm
index 9c419ada934..ddd6d74f3b6 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -463,7 +463,7 @@
463 (target -> "arm-linux-gnueabihf") 463 (target -> "arm-linux-gnueabihf")
464 (grep (package->cross-derivation packages:grep target)) 464 (grep (package->cross-derivation packages:grep target))
465 (sed (package->cross-derivation packages:sed target)) 465 (sed (package->cross-derivation packages:sed target))
466 (locales (package->derivation packages:glibc-utf8-locales)) 466 (locales (package->derivation (packages:libc-utf8-locales-for-target)))
467 (drv (profile-derivation manifest 467 (drv (profile-derivation manifest
468 #:hooks '() 468 #:hooks '()
469 #:locales? #t 469 #:locales? #t
@@ -482,7 +482,7 @@
482 (derivation-file-name grep)) 482 (derivation-file-name grep))
483 (string=? (find-input packages:sed) 483 (string=? (find-input packages:sed)
484 (derivation-file-name sed)) 484 (derivation-file-name sed))
485 (string=? (find-input packages:glibc-utf8-locales) 485 (string=? (find-input (packages:libc-utf8-locales-for-target))
486 (derivation-file-name locales)))))) 486 (derivation-file-name locales))))))
487 487
488(test-assert "package->manifest-entry defaults to \"out\"" 488(test-assert "package->manifest-entry defaults to \"out\""