gnu: Use ‘libc-utf8-locales-for-target’.

* guix/packages.scm (%standard-patch-inputs): Use
‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’.
* guix/self.scm (%packages): Likewise.
* gnu/home/services/ssh.scm (file-join): Likewise
* gnu/installer.scm (build-compiled-file): Likewise.
* gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise.
* gnu/packages/gnome.scm (libgweather4, tracker): Likewise.
* gnu/packages/javascript.scm (js-mathjax): Likewise.
* gnu/packages/package-management.scm (guix, flatpak): Likewise.
* gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise.
* gnu/packages/suckless.scm (svkbd): Likewise.
* gnu/services.scm (cleanup-gexp): Likewise.
* gnu/services/base.scm (guix-publish-shepherd-service): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-shepherd-services)
(guix-build-coordinator-agent-shepherd-services): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services):
(guix-data-service-shepherd-services)
(nar-herder-shepherd-services)
(bffe-shepherd-services): Likewise.
* gnu/services/web.scm (anonip-shepherd-service)
(mumi-shepherd-services): Likewise.
* gnu/system/image.scm (system-disk-image, system-iso9660-image)
(system-docker-image, system-tarball-image): Likewise.
* gnu/system/install.scm (%installation-services): Likewise.
* guix/profiles.scm (info-dir-file): Likewise.
(ca-certificate-bundle, profile-derivation): Likewise.
* guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise.
* tests/pack.scm: Likewise.
* tests/profiles.scm ("profile-derivation, cross-compilation"):
Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Christopher Baines <mail@cbaines.net>
Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374
This commit is contained in:
Janneke Nieuwenhuizen 2023-10-22 10:23:19 +02:00 committed by Ludovic Courtès
parent 9442b53c6b
commit b0715d7cd2
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
20 changed files with 97 additions and 56 deletions

View file

@ -25,6 +25,7 @@ (define-module (gnu home services ssh)
#:use-module (guix deprecation)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module ((guix utils) #:select (%current-system))
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (guix modules)
@ -32,7 +33,7 @@ (define-module (gnu home services ssh)
#:use-module (gnu home services shepherd)
#:use-module ((gnu home services utils)
#:select (object->camel-case-string))
#:autoload (gnu packages base) (glibc-utf8-locales)
#:autoload (gnu packages base) (libc-utf8-locales-for-target)
#:use-module (gnu packages ssh)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
@ -357,8 +358,9 @@ (define* (file-join name files #:optional (delimiter " "))
;; Support non-ASCII file names.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales
"/lib/locale"))
#+(file-append
(libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(call-with-output-file #$output

View file

@ -85,9 +85,10 @@ (define* (build-compiled-file name locale-builder)
(define set-utf8-locale
#~(begin
(setenv "LOCPATH"
#$(file-append glibc-utf8-locales "/lib/locale/"
(version-major+minor
(package-version glibc-utf8-locales))))
#$(file-append
(libc-utf8-locales-for-target) "/lib/locale/"
(version-major+minor
(package-version (libc-utf8-locales-for-target)))))
(setlocale LC_ALL "en_US.utf8")))
(define builder

View file

@ -967,7 +967,7 @@ (define-public ungoogled-chromium/wayland
(name "ungoogled-chromium-wayland")
(native-inputs '())
(inputs
(list bash-minimal glibc-utf8-locales ungoogled-chromium))
(list bash-minimal (libc-utf8-locales-for-target) ungoogled-chromium))
(build-system trivial-build-system)
(arguments
(list

View file

@ -5917,7 +5917,7 @@ (define-public libgweather4
gi-docgen
`(,glib "bin") ;for glib-mkenums
gobject-introspection
glibc-utf8-locales
(libc-utf8-locales-for-target)
gsettings-desktop-schemas
pkg-config
python
@ -9471,7 +9471,7 @@ (define-public tracker
(native-inputs
(list gettext-minimal
`(,glib "bin")
glibc-utf8-locales
(libc-utf8-locales-for-target)
gobject-introspection
docbook-xsl
docbook-xml

View file

@ -184,7 +184,7 @@ (define-public js-mathjax
#t))))
(native-inputs
`(("font-mathjax" ,font-mathjax)
("glibc-utf8-locales" ,glibc-utf8-locales)
("glibc-utf8-locales" ,(libc-utf8-locales-for-target))
("uglifyjs" ,node-uglify-js)
,@(package-native-inputs font-mathjax)))
(synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath")

View file

@ -524,7 +524,7 @@ (define code
("git-minimal" ,git-minimal) ;for 'guix perform-download'
("glibc-utf8-locales" ,glibc-utf8-locales)))
("glibc-utf8-locales" ,(libc-utf8-locales-for-target))))
(propagated-inputs
`(("guile-gnutls" ,guile-gnutls)
;; Avahi requires "glib" which doesn't cross-compile yet.
@ -2052,7 +2052,7 @@ (define-public flatpak
dbus ; for dbus-daemon
gettext-minimal
`(,glib "bin") ; for glib-mkenums + gdbus-codegen
glibc-utf8-locales
(libc-utf8-locales-for-target)
gobject-introspection
libcap
pkg-config

View file

@ -199,7 +199,7 @@ (define-public raspi-arm64-chainloader
("ld-wrapper" ,ld-wrapper)
("make" ,gnu-make)
("gcc" ,gcc-6)
("locales" ,glibc-utf8-locales)))
("locales" ,(libc-utf8-locales-for-target))))
(inputs
`())
(arguments

View file

@ -1247,7 +1247,7 @@ (define-public svkbd
(delete 'configure)))) ;no configure script
(native-inputs (list pkg-config))
(inputs (list freetype libx11 libxft libxtst libxinerama))
(propagated-inputs (list glibc-utf8-locales))
(propagated-inputs (list (libc-utf8-locales-for-target)))
(home-page "https://tools.suckless.org/x/svkbd/")
(synopsis "Virtual on-screen keyboard")
(description "svkbd is a simple virtual keyboard, intended to be used in

View file

@ -651,7 +651,9 @@ (define (cleanup-gexp _)
;; Force file names to be decoded as UTF-8. See
;; <https://bugs.gnu.org/26353>.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append
(libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_CTYPE "en_US.utf8")
(delete-file-recursively "/tmp")
(delete-file-recursively "/var/run")

View file

@ -63,7 +63,9 @@ (define-module (gnu services base)
#:use-module (gnu packages bash)
#:use-module ((gnu packages base)
#:select (coreutils glibc glibc/hurd
glibc-utf8-locales make-glibc-utf8-locales
glibc-utf8-locales
libc-utf8-locales-for-target
make-glibc-utf8-locales
tar canonical-package))
#:use-module ((gnu packages compression) #:select (gzip))
#:use-module (gnu packages fonts)
@ -2147,7 +2149,8 @@ (define (config->compression-options config)
;; nars for packages that contain UTF-8 file names such
;; as 'nss-certs'. See <https://bugs.gnu.org/26948>.
(list (string-append "GUIX_LOCPATH="
#$glibc-utf8-locales "/lib/locale")
#$(libc-utf8-locales-for-target)
"/lib/locale")
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-publish.log"))
(endpoints #~(let ((ai (false-if-exception

View file

@ -23,7 +23,7 @@ (define-module (gnu services guix)
#:use-module (guix records)
#:use-module (guix packages)
#:use-module ((gnu packages base)
#:select (glibc-utf8-locales))
#:select (libc-utf8-locales-for-target))
#:use-module (gnu packages admin)
#:use-module (gnu packages databases)
#:use-module (gnu packages web)
@ -381,7 +381,8 @@ (define (guix-build-coordinator-shepherd-services config)
#:pid-file-timeout 60
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
"PATH=/run/current-system/profile/bin" ; for hooks
#$@extra-environment-variables)
@ -508,7 +509,8 @@ (define (guix-build-coordinator-agent-shepherd-services config)
#:user #$user
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
;; XDG_CACHE_HOME is used by Guix when caching narinfo files
"XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
"LC_ALL=en_US.utf8")
@ -600,7 +602,8 @@ (define (guix-build-coordinator-queue-builds-shepherd-services config)
#:user #$user
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-build-coordinator/queue-builds.log"))))
(stop #~(make-kill-destructor))
@ -712,7 +715,8 @@ (define (guix-data-service-shepherd-services config)
#:pid-file "/var/run/guix-data-service/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.UTF-8")
#:log-file "/var/log/guix-data-service/web.log"))
(stop #~(make-kill-destructor)))
@ -733,7 +737,8 @@ (define (guix-data-service-shepherd-services config)
`("HOME=/var/lib/guix-data-service"
"GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.UTF-8")
#:log-file "/var/log/guix-data-service/process-jobs.log"))
(stop #~(make-kill-destructor))))))
@ -989,7 +994,8 @@ (define (cached-compression-configuration->options cached-compression)
#:pid-file "/var/run/nar-herder/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
#$@extra-environment-variables)
#:log-file "/var/log/nar-herder/server.log"))
@ -1108,7 +1114,8 @@ (define start-script
#:directory "/var/lib/bffe"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
#$@extra-environment-variables)
#:log-file "/var/log/bffe/server.log"))

View file

@ -1498,7 +1498,8 @@ (define (spawn)
'#$(optional anonip-configuration-regex "--regex"))
;; Run in a UTF-8 locale
#:environment-variables
(list (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales
(list (string-append "GUIX_LOCPATH="
#$(libc-utf8-locales-for-target)
"/lib/locale")
"LC_ALL=en_US.utf8")))
@ -1976,7 +1977,8 @@ (define %mumi-worker-log "/var/log/mumi.worker.log")
(define (mumi-shepherd-services config)
(define environment
#~(list "LC_ALL=en_US.utf8"
(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales
(string-append "GUIX_LOCPATH="
#$(libc-utf8-locales-for-target)
"/lib/locale")))
(match config

View file

@ -466,7 +466,9 @@ (define (partition-image partition)
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be
;; decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target
(%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(initializer image-root
@ -633,7 +635,8 @@ (define root-uuid
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
@ -737,7 +740,8 @@ (define builder
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar))
@ -816,7 +820,8 @@ (define builder
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(let ((image-root (string-append (getcwd) "/tmp-root"))

View file

@ -454,7 +454,7 @@ (define bare-bones-os
(service gc-root-service-type
(append
(list bare-bones-os
glibc-utf8-locales
(libc-utf8-locales-for-target system)
texinfo
guile-3.0)
%default-locale-libcs)))

View file

@ -866,7 +866,11 @@ (define (%standard-patch-inputs)
("lzip" ,(ref '(gnu packages compression) 'lzip))
("unzip" ,(ref '(gnu packages compression) 'unzip))
("patch" ,(ref '(gnu packages base) 'patch))
("locales" ,(ref '(gnu packages base) 'glibc-utf8-locales)))))
("locales"
,(parameterize ((%current-target-system #f))
(canonical
((module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))))))))
(define (default-guile)
"Return the default Guile package used to run the build code of

View file

@ -1000,8 +1000,9 @@ (define texinfo ;lazy reference
(module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo))
(define gzip ;lazy reference
(module-ref (resolve-interface '(gnu packages compression)) 'gzip))
(define glibc-utf8-locales ;lazy reference
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))
(define build
(with-imported-modules '((guix build utils))
@ -1043,7 +1044,8 @@ (define (install-info info)
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target system)
"/lib/locale"))
(mkdir-p (string-append #$output "/share/info"))
(exit (every install-info
@ -1124,8 +1126,9 @@ (define* (ca-certificate-bundle manifest #:optional system)
;; See <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00429.html>
;; for a discussion.
(define glibc-utf8-locales ;lazy reference
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))
(define build
(with-imported-modules '((guix build utils))
@ -1159,9 +1162,11 @@ (define (dump file port)
;; Some file names in the NSS certificates are UTF-8 encoded so
;; install a UTF-8 locale.
(setenv "LOCPATH"
(string-append #+glibc-utf8-locales "/lib/locale/"
(string-append #+(libc-utf8-locales-for-target system)
"/lib/locale/"
#+(version-major+minor
(package-version glibc-utf8-locales))))
(package-version
(libc-utf8-locales-for-target system)))))
(setlocale LC_ALL "en_US.utf8")
(match (append-map ca-files '#$(manifest-inputs manifest))
@ -1999,19 +2004,21 @@ (define extra-inputs
(and (derivation? drv) (gexp-input drv)))
extras))
(define glibc-utf8-locales ;lazy reference
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'glibc-utf8-locales))
'libc-utf8-locales-for-target))
(define set-utf8-locale
;; Some file names (e.g., in 'nss-certs') are UTF-8 encoded so
;; install a UTF-8 locale.
#~(begin
(setenv "LOCPATH"
#$(file-append glibc-utf8-locales "/lib/locale/"
(version-major+minor
(package-version glibc-utf8-locales))))
(setlocale LC_ALL "en_US.utf8")))
(let ((locales (libc-utf8-locales-for-target
(or system (%current-system)))))
#~(begin
(setenv "LOCPATH"
#$(file-append locales "/lib/locale/"
(version-major+minor
(package-version locales))))
(setlocale LC_ALL "en_US.utf8"))))
(define builder
(with-imported-modules '((guix build profiles)

View file

@ -137,7 +137,8 @@ (define db-file
;; Make sure non-ASCII file names are properly handled.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(sql-schema #$schema)
@ -209,7 +210,10 @@ (define (set-utf8-locale profile)
(profile-locales? profile))
#~(begin
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (let-system (system target)
(libc-utf8-locales-for-target
(or target system)))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8"))
#~(setenv "GUIX_LOCPATH" "unset for tests")))

View file

@ -73,7 +73,10 @@ (define %packages
("po4a" . ,(ref 'gettext 'po4a))
("gettext-minimal" . ,(ref 'gettext 'gettext-minimal))
("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain))
("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales))
("glibc-utf8-locales" . ,(delay
((module-ref (resolve-interface
'(gnu packages base))
'libc-utf8-locales-for-target))))
("graphviz" . ,(ref 'graphviz 'graphviz-minimal))
("font-ghostscript" . ,(ref 'ghostscript 'font-ghostscript))
("texinfo" . ,(ref 'texinfo 'texinfo)))))

View file

@ -30,7 +30,7 @@ (define-module (test-pack)
#:use-module (guix modules)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module ((gnu packages base) #:select (glibc-utf8-locales))
#:use-module ((gnu packages base) #:select (libc-utf8-locales-for-target))
#:use-module (gnu packages bootstrap)
#:use-module ((gnu packages package-management) #:select (rpm))
#:use-module ((gnu packages compression) #:select (squashfs-tools))
@ -197,8 +197,9 @@ (define file
;; Make sure non-ASCII file names are properly
;; handled.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales
"/lib/locale"))
#+(file-append
(libc-utf8-locales-for-target)
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(mkdir #$output)

View file

@ -463,7 +463,7 @@ (define-syntax-rule (with-environment-excursion exp ...)
(target -> "arm-linux-gnueabihf")
(grep (package->cross-derivation packages:grep target))
(sed (package->cross-derivation packages:sed target))
(locales (package->derivation packages:glibc-utf8-locales))
(locales (package->derivation (packages:libc-utf8-locales-for-target)))
(drv (profile-derivation manifest
#:hooks '()
#:locales? #t
@ -482,7 +482,7 @@ (define (find-input package)
(derivation-file-name grep))
(string=? (find-input packages:sed)
(derivation-file-name sed))
(string=? (find-input packages:glibc-utf8-locales)
(string=? (find-input (packages:libc-utf8-locales-for-target))
(derivation-file-name locales))))))
(test-assert "package->manifest-entry defaults to \"out\""