From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id cJwEDVcVNWU3BgEA9RJhRA:P1 (envelope-from ) for ; Sun, 22 Oct 2023 14:28:07 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id cJwEDVcVNWU3BgEA9RJhRA (envelope-from ) for ; Sun, 22 Oct 2023 14:28:07 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EC3673A4F2 for ; Sun, 22 Oct 2023 14:28:05 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=dZN6U7vk; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1697977686; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=Fynsd5mxVCk59in0KOrr+fqI15T6Q//L+LX4AjX/JaY=; b=DHUmulgreQwkz4oDooiHG/6+sDU1XYlsIbw3MdyOIkAshl+BdXGd+roXOVrI9mtlR4eEXw IwtiIwZDppL3uM0LS5VHRyqqKmplApPlD3+41K9sXvODdEVMzbxrdd/sOrfL2zKEgTW5As 4YKUXWp7WjnJwQ6EAN02hQTlMFr5Eo7mosGpyL189rdNsLH1Y1GztQDyVN1M0pvb5itwiS BQ4JnxogCBIHwAfzrvP5b2pJN+VZPH6QMZnjLCkp2jmMGrrYIy6G1Q9t3fdEEUlGFwUb3a wnhC6VqkGSdc/qb/XMkaGKsLZAz/5U4NSi2m+w0c8QgJit3s5vjbdnDgNqQuYA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=dZN6U7vk; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1697977686; a=rsa-sha256; cv=none; b=q7liEGbv9LNs0y99JgsdtaT1eobAQ+xxXsn5BCxfdOYPit8bTn9FI3Y1RMOKjuggZC5DAY F2/doyah3UQt4IevDaH12sHPbKV5KYBQnSTsNVHYFpyv9cUarbZtk/Y5om6xv/lid28GZt 15QxFuBOCq8fpiB3hm7hdcFWqWgCT2LcPfywcs4rc1vjid/1jneGNHTUYllU9tS4eWu+H1 RcUgFuKFTqPYEwcAioguStee0Ec7Re3iMVNsAA9vpz+TRy/5LP2rzBHMTLCT//ZA7rxrWE qc9BtS94HEW0zVJr1UjK+c/l/+WaG7rr3biIeArboa4OW0t3lviH7WfeVwNJ1g== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1quXYN-00082h-5H; Sun, 22 Oct 2023 08:27:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quXYL-00081c-MQ for bug-guix@gnu.org; Sun, 22 Oct 2023 08:27:33 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1quXYL-0006MB-Dh for bug-guix@gnu.org; Sun, 22 Oct 2023 08:27:33 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1quXYn-0003nS-Ia for bug-guix@gnu.org; Sun, 22 Oct 2023 08:28:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#66472: Wrong =?UTF-8?Q?=E2=80=98glibc-utf8-locales=E2=80=99?= package used on GNU/Hurd Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sun, 22 Oct 2023 12:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66472 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 66472@debbugs.gnu.org, Josselin Poiret Received: via spool by 66472-submit@debbugs.gnu.org id=B66472.169797765814549 (code B ref 66472); Sun, 22 Oct 2023 12:28:01 +0000 Received: (at 66472) by debbugs.gnu.org; 22 Oct 2023 12:27:38 +0000 Received: from localhost ([127.0.0.1]:45605 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quXYP-0003mZ-2g for submit@debbugs.gnu.org; Sun, 22 Oct 2023 08:27:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quXYL-0003mF-T7 for 66472@debbugs.gnu.org; Sun, 22 Oct 2023 08:27:35 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quXXl-0006K7-2R; Sun, 22 Oct 2023 08:26:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=Fynsd5mxVCk59in0KOrr+fqI15T6Q//L+LX4AjX/JaY=; b=dZN6U7vkCZrHhlmW98Np C3n+FhSX/H1Ij2775nvDr/ud0IomMmn8A4ELqy2ps4SVIM00uP/hht9atnOkEVNNWZzRHnwVYbX1m 8LiMN+S+PET4dKZ/sDKnuD1TyGXGbCdsrUDwHxejVNMF7LeeD0YuUMREqPSDtLG0zIh2qPxHXRUo3 Xbfid7WMse7/YQiXdy7/qANA8ONX4nPc2b1PmS8C8vaWD5zbhdDgtWgzJeKJB0FeFMyJqYmubmUyq CgbGWeOL+IgrcrHaaUnXWkTOKWXATp+wR9SifU3G8x5o1GdB9P68wXZgDOn0rtH45sMLSgx7NJ9Ly nBPRcACw9XPJAA==; From: Janneke Nieuwenhuizen In-Reply-To: <87r0looxhs.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Sat, 21 Oct 2023 16:34:23 +0200") Organization: AvatarAcademy.nl References: <87wmvsq1ia.fsf@inria.fr> <87il7ckjz5.fsf@gnu.org> <87o7h1cda6.fsf@gnu.org> <871qdxj6o8.fsf@gnu.org> <87r0looxhs.fsf@gnu.org> X-Url: http://AvatarAcademy.nl Date: Sun, 22 Oct 2023 14:26:51 +0200 Message-ID: <87fs22g7w4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.80 X-Spam-Score: -3.80 X-Migadu-Queue-Id: EC3673A4F2 X-Migadu-Scanner: mx2.migadu.com X-TUID: LdzE09RVg9W+ --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: Hello, > Janneke Nieuwenhuizen skribis: > >> Ludovic Court=C3=A8s writes: >> >>> Anyway, in both cases the core issue remains: we=E2=80=99re building pa= ckages >>> with the wrong locale data. >>> >>> The mismatch comes from the fact that =E2=80=98glibc-utf8-locales=E2=80= =99 is a >>> system-independent package: you get 2.35 regardless of the system you= =E2=80=99re >>> targeting. >> >> Right. Is that easy, difficult, or impossible to change? > > We could define =E2=80=98glibc-utf8-locales=E2=80=99 with =E2=80=98define= /system-dependent=E2=80=99, as > we=E2=80=99ve done in commencement.scm. However, I don=E2=80=99t think t= hat=E2=80=99s feasible > because then every place that does: > > (module-ref (resolve-interface '(gnu packages base)) > 'glibc-utf8-locales) > > will suddenly be broken, and that=E2=80=99s not acceptable. Well, unless maybe in the same patch it could also be un-broken? > So I=E2=80=99m not sure what to do. Again I feel that maintaining two li= bc > variants is too costly. Time to upgrade in =E2=80=98core-updates=E2=80= =99? Yeah, that would work...until we really need another glibc update for the Hurd. I really don't know what's wise here. So...I've tried the attached to patches "how hard could it be?" (that's not using define/system-dependent just yet) but get --8<---------------cut here---------------start------------->8--- error: failed to load 'guix/self.scm': ice-9/eval.scm:293:34: Wrong type to apply: #> --8<---------------cut here---------------end--------------->8--- ...and now I feel stuck. Greetings, Janneke --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-Add-libc-locales-for-target-and-glibc-locales-hu.patch >From da6027537f2146bb0d62228de2ea15fb271027ea Mon Sep 17 00:00:00 2001 Message-ID: From: Janneke Nieuwenhuizen Date: Wed, 7 Jun 2023 19:19:01 +0200 Subject: [PATCH 1/2] gnu: Add libc-locales-for-target and glibc-locales/hurd. * gnu/packages/base.scm (glibc-locales/hurd): New variable (libc-locales-for-target): Use it in new procedure. (glibc-utf8-locales/hurd): New variable. (libc-utf8-locales-for-target): Use it in new procedure. --- gnu/packages/base.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 2d8e9143cd..5c0e056261 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -76,6 +76,8 @@ (define-module (gnu packages base) #:use-module (srfi srfi-26) #:export (glibc libc-for-target + libc-locales-for-target + libc-utf8-locales-for-target make-ld-wrapper libiconv-if-needed %final-inputs)) @@ -1521,6 +1523,31 @@ (define* (libc-for-target #:optional (_ glibc))) +(define-public glibc-locales/hurd + (make-glibc-locales glibc/hurd)) + +(define* (libc-locales-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (match target + ((? target-hurd?) + glibc-locales/hurd) + (_ + glibc-locales))) + +(define-public glibc-utf8-locales/hurd + (hidden-package + (make-glibc-utf8-locales glibc/hurd))) + +(define* (libc-utf8-locales-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (match target + ((? target-hurd?) + glibc-utf8-locales/hurd) + (_ + glibc-utf8-locales))) + (define-public tzdata (package (name "tzdata") base-commit: e6af40d7b46b5c9e397a38c62c885fb42ccd9d26 -- 2.41.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-DRAFT-Use-libc-utf8-locales-for-target.patch >From 345683fea1be7e6f186fe45b59198caa9ba36890 Mon Sep 17 00:00:00 2001 Message-ID: <345683fea1be7e6f186fe45b59198caa9ba36890.1697977363.git.janneke@gnu.org> In-Reply-To: References: From: Janneke Nieuwenhuizen Date: Sun, 22 Oct 2023 10:23:19 +0200 Subject: [PATCH 2/2] DRAFT Use libc-utf8-locales-for-target. --- gnu/home/services/ssh.scm | 4 ++-- gnu/installer.scm | 7 ++++--- gnu/packages/chromium.scm | 2 +- gnu/packages/gnome.scm | 4 ++-- gnu/packages/javascript.scm | 2 +- gnu/packages/package-management.scm | 4 ++-- gnu/packages/raspberry-pi.scm | 2 +- gnu/packages/suckless.scm | 2 +- gnu/services.scm | 2 +- gnu/services/base.scm | 7 +++++-- gnu/services/guix.scm | 23 +++++++++++++++-------- gnu/services/web.scm | 6 ++++-- gnu/system/image.scm | 12 ++++++++---- gnu/system/install.scm | 2 +- guix/profiles.scm | 27 ++++++++++++++++----------- guix/scripts/pack.scm | 5 +++-- guix/self.scm | 11 ++++++----- tests/pack.scm | 7 ++++--- tests/profiles.scm | 4 ++-- 19 files changed, 79 insertions(+), 54 deletions(-) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 34b1fe4658..c81c42263b 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -32,7 +32,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,7 +357,7 @@ (define* (file-join name files #:optional (delimiter " ")) ;; Support non-ASCII file names. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales + #+(file-append (libc-utf8-locales-for-target) "/lib/locale")) (setlocale LC_ALL "en_US.utf8") diff --git a/gnu/installer.scm b/gnu/installer.scm index d9b71e2ca8..db79c11530 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -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 diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 513e545938..bc49e24f0e 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -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 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2ffe8dfef2..f339aa115a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -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 @@ -9472,7 +9472,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 diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index e70aa7d7e1..2c7ff744ea 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -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") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a9bfc27bed..3cc9ee2f56 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -524,7 +524,7 @@ (define-public guix ("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 diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm index 80bfaf0896..5c25ed96da 100644 --- a/gnu/packages/raspberry-pi.scm +++ b/gnu/packages/raspberry-pi.scm @@ -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 diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 400832045f..714225c654 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -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 diff --git a/gnu/services.scm b/gnu/services.scm index ff153fbc7b..01d954fbc9 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -651,7 +651,7 @@ (define (cleanup-gexp _) ;; Force file names to be decoded as UTF-8. See ;; . (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target) "/lib/locale")) (setlocale LC_CTYPE "en_US.utf8") (delete-file-recursively "/tmp") (delete-file-recursively "/var/run") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 82c6940780..dc001fdef6 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -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 (guix-publish-shepherd-service config) ;; nars for packages that contain UTF-8 file names such ;; as 'nss-certs'. See . (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 diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index fe602efb99..389903451a 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -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 (nar-herder-shepherd-services config) #: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 (bffe-shepherd-services config) #: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")) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 818226a4f7..023b187cb0 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1498,7 +1498,8 @@ (define (anonip-shepherd-service config) '#$(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 diff --git a/gnu/system/image.scm b/gnu/system/image.scm index a990c4f861..addae6d0dc 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -466,7 +466,8 @@ (define* (system-disk-image image ;; 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) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (initializer image-root @@ -633,7 +634,8 @@ (define* (system-iso9660-image image ;; 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) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") @@ -737,7 +739,8 @@ (define* (system-docker-image image ;; 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) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar)) @@ -816,7 +819,8 @@ (define* (system-tarball-image image ;; 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) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (let ((image-root (string-append (getcwd) "/tmp-root")) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 28161de153..09aa30791c 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -454,7 +454,7 @@ (define* (%installation-services #:key (system (or (and=> (service gc-root-service-type (append (list bare-bones-os - glibc-utf8-locales + (libc-utf8-locales-for-target) texinfo guile-3.0) %default-locale-libcs))) diff --git a/guix/profiles.scm b/guix/profiles.scm index fea766879d..03afbe2479 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1000,8 +1000,9 @@ (define (info-dir-file manifest) (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,7 @@ (define (info-dir-file manifest) (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) "/lib/locale")) (mkdir-p (string-append #$output "/share/info")) (exit (every install-info @@ -1122,8 +1123,9 @@ (define (ca-certificate-bundle manifest) ;; See ;; 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)) @@ -1157,9 +1159,10 @@ (define (ca-certificate-bundle manifest) ;; 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) "/lib/locale/" #+(version-major+minor - (package-version glibc-utf8-locales)))) + (package-version + (libc-utf8-locales-for-target))))) (setlocale LC_ALL "en_US.utf8") (match (append-map ca-files '#$(manifest-inputs manifest)) @@ -1984,18 +1987,20 @@ (define* (profile-derivation manifest (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/" + #$(file-append (libc-utf8-locales-for-target) + "/lib/locale/" (version-major+minor - (package-version glibc-utf8-locales)))) + (package-version + (libc-utf8-locales-for-target))))) (setlocale LC_ALL "en_US.utf8"))) (define builder diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index bdbea49910..4523f3182b 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -137,7 +137,8 @@ (define (store-database items) ;; 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") (sql-schema #$schema) @@ -209,7 +210,7 @@ (define (set-utf8-locale profile) (profile-locales? profile)) #~(begin (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")) #~(setenv "GUIX_LOCPATH" "unset for tests"))) diff --git a/guix/self.scm b/guix/self.scm index a1f235659d..eed6809187 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -73,7 +73,7 @@ (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" . ,((ref 'base 'libc-utf8-locales-for-target))) ("graphviz" . ,(ref 'graphviz 'graphviz-minimal)) ("font-ghostscript" . ,(ref 'ghostscript 'font-ghostscript)) ("texinfo" . ,(ref 'texinfo 'texinfo))))) @@ -372,7 +372,7 @@ (define (translate-texi-manuals source) (find-files #$documentation-po ".*.po$")) (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target) "/lib/locale")) (setenv "PATH" #+(file-append gettext-minimal "/bin")) (setenv "LC_ALL" "en_US.UTF-8") (setlocale LC_ALL "en_US.UTF-8") @@ -484,7 +484,7 @@ (define (info-manual source) ;; Provide UTF-8 locales needed by the 'xspara.c' code in makeinfo. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target) "/lib/locale")) (for-each (lambda (texi) (match (string-split (basename texi) #\.) @@ -634,8 +634,9 @@ (define* (guix-command modules (string-append (if locpath (string-append locpath ":") "") - #$(file-append glibc-utf8-locales - "/lib/locale")))) + #$(file-append + (libc-utf8-locales-for-target) + "/lib/locale")))) (let ((guix-main (module-ref (resolve-interface '(guix ui)) 'guix-main))) diff --git a/tests/pack.scm b/tests/pack.scm index 8fdaed0168..ac78817a70 100644 --- a/tests/pack.scm +++ b/tests/pack.scm @@ -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 rpm-for-tests ;; 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) diff --git a/tests/profiles.scm b/tests/profiles.scm index 9ad03f2b24..57650bd505 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -441,7 +441,7 @@ (define glibc (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 @@ -460,7 +460,7 @@ (define glibc (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\"" -- 2.41.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com --=-=-=--