* [bug#67507] [PATCH] packages: Use glibc-utf8-locales/hurd in %standard-patch-inputs. @ 2023-11-28 11:33 Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Christopher Baines @ 2023-11-28 11:33 UTC (permalink / raw) To: 67507 Cc: Christopher Baines, Josselin Poiret, Ludovic Courtès, Mathieu Othacehe, Ricardo Wurmus, Simon Tournier, Tobias Geerinckx-Rice When targeting the hurd. This is a follow up to 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64 that prevents an infinite loop when trying to compute the derivation for guix for the hurd. * guix/packages.scm (%standard-patch-inputs): Use glibc-utf8-locales/hurd when targeting the hurd. Change-Id: I8cdc2d9c28677000290ca1b31f580c4d3043f1ef --- guix/packages.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index e2e82692ad..f4aa0e78fa 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -866,7 +866,10 @@ (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" ,(ref '(gnu packages base) + (if (target-hurd?) + 'glibc-utf8-locales/hurd + 'glibc-utf8-locales)))))) (define (default-guile) "Return the default Guile package used to run the build code of base-commit: 62376e3eb67644454bc655bed56be4be965bd13e -- 2.41.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-11-28 11:33 [bug#67507] [PATCH] packages: Use glibc-utf8-locales/hurd in %standard-patch-inputs Christopher Baines @ 2023-11-29 15:44 ` Ludovic Courtès 2023-11-29 17:39 ` Janneke Nieuwenhuizen 2023-12-01 18:42 ` Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 1/2] gnu: Add ‘libc-locales-for-target’ and related Ludovic Courtès 2023-11-29 15:44 ` [bug#67507] [PATCH v2 2/2] gnu: Use ‘libc-utf8-locales-for-target’ Ludovic Courtès 2 siblings, 2 replies; 11+ messages in thread From: Ludovic Courtès @ 2023-11-29 15:44 UTC (permalink / raw) To: 67507; +Cc: Ludovic Courtès, Janneke Nieuwenhuizen Hello! This is an updated version of Janneke's patches in <https://issues.guix.gnu.org/66472> combined with Christopher's patch from <https://issues.guix.gnu.org/67507>. Team work! This should fix the infamous dependency cycle introduced in 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64 *and* ensure the right version of glibc locale data is used throughout. One thing that sucks is that, anytime we were doing: #~(… #+glibc-utf8-locales …) we now have to do: #~(… #+(libc-locales-for-target (%current-system)) …) to explicitly request the native libc locales. I verified things like this: ./pre-inst-env guix build coreutils --target=i586-pc-gnu ./pre-inst-env guix build findutils -s i586-gnu --no-grafts make check-system TESTS=childhurd and also, after adding #:system "i586-gnu" to the ‘build’ call in ‘build-aux/compile-as-derivation.scm’ as Chris suggested on IRC: make as-derivation I didn’t let it run to completion because that triggers a lot of expensive builds, but it no longer eats all the memory doing nothing as was the case since 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64. Thanks, Ludo’. Janneke Nieuwenhuizen (2): gnu: Add ‘libc-locales-for-target’ and related. gnu: Use ‘libc-utf8-locales-for-target’. gnu/home/services/ssh.scm | 8 ++++--- gnu/installer.scm | 7 +++--- gnu/packages/base.scm | 19 +++++++++++++++ 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 | 4 +++- gnu/services/base.scm | 7 ++++-- gnu/services/guix.scm | 23 +++++++++++------- gnu/services/web.scm | 6 +++-- gnu/system/image.scm | 13 ++++++---- gnu/system/install.scm | 2 +- guix/packages.scm | 6 ++++- guix/profiles.scm | 37 +++++++++++++++++------------ guix/scripts/pack.scm | 8 +++++-- guix/self.scm | 5 +++- tests/pack.scm | 7 +++--- tests/profiles.scm | 4 ++-- 21 files changed, 116 insertions(+), 56 deletions(-) base-commit: f3173bb901c0eee6c71d066cffab115d27052fc1 -- 2.41.0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès @ 2023-11-29 17:39 ` Janneke Nieuwenhuizen 2023-11-30 21:43 ` Ludovic Courtès 2023-12-01 18:42 ` Christopher Baines 1 sibling, 1 reply; 11+ messages in thread From: Janneke Nieuwenhuizen @ 2023-11-29 17:39 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 67507 Ludovic Courtès writes: Hi! This looks great...but I've added your patches to the bottom of hurd-team, and also added a HACK commit with --8<---------------cut here---------------start------------->8--- diff --git a/build-aux/compile-as-derivation.scm b/build-aux/compile-as-derivation.scm index d945a8c79c..3bc4509f7a 100644 --- a/build-aux/compile-as-derivation.scm +++ b/build-aux/compile-as-derivation.scm @@ -51,7 +51,8 @@ (mlet* %store-monad ((source (interned-file source "guix-source" #:select? git? #:recursive? #t)) - (drv (build source #:pull-version 1))) + (drv (build source #:pull-version 1 + #:system "i586-gnu"))) (mbegin %store-monad (show-what-to-build* (list drv)) (built-derivations (list drv)) --8<---------------cut here---------------end--------------->8--- ...but running `make as-derivation' gives --8<---------------cut here---------------start------------->8--- $ make as-derivation Building Guix in Guix... warning: 'nix-server-socket' is deprecated, use 'store-connection-socket' instead warning: 'nix-server-major-version' is deprecated, use 'store-connection-major-version' instead warning: 'nix-server-minor-version' is deprecated, use 'store-connection-minor-version' instead Computing Guix derivation for 'i586-gnu'... |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' \normalized load on machine 'kluit.dezyne.org' is 0.91 waiting for locks or build slots... |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' \normalized load on machine 'kluit.dezyne.org' is 0.64 \guix offload: sending 0 store items (0 MiB) to 'kluit.dezyne.org'... offloading '/gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv' to 'kluit.dezyne.org'... @ build-remote /gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv kluit.dezyne.org retrieving 1 store item from 'kluit.dezyne.org'... -importing file or directory '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2.37'... guix offload: error: corrupt input while restoring '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2.37' from #<input-output: channel (open) 7f8c392faee0> Backtrace: cannot build derivation `/gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.drv': 1 dependencies couldn't be built 16 (primitive-load "/gnu/store/9glf45m6x8icvia8421jz5gapxkgr3zi-compute-guix-derivation") In ice-9/eval.scm: 155:9 15 (_ _) 159:9 14 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?)) In ice-9/boot-9.scm: 152:2 13 (with-fluid* _ _ _) 152:2 12 (with-fluid* _ _ _) In ./guix/store.scm: 2168:24 11 (run-with-store #<store-connection 256.99 7faed7dee280> #<procedure 7faec76a3d20 at ./guix/self.scm:13?> ?) In ./guix/self.scm: 1354:2 10 (_ #<store-connection 256.99 7faed7dee280>) In ./guix/packages.scm: 2033:17 9 (_ #<store-connection 256.99 7faed7dee280>) In ./guix/store.scm: 2168:24 8 (run-with-store #<store-connection 256.99 7faed7dee280> #<procedure 7faec76bfe40 at ./guix/store.scm:1?> ?) 1996:8 7 (_ #<store-connection 256.99 7faed7dee280>) 2040:38 6 (_ #<store-connection 256.99 7faec95b7aa0>) In ./guix/grafts.scm: 323:16 5 (graft-derivation #<store-connection 256.99 7faec95b7aa0> #<derivation /gnu/store/2d6gh47cnnsv8zf5dvzn?> ?) 285:4 4 (_ #<vlist ()>) 173:4 3 (non-self-references #<store-connection 256.99 7faec95b7aa0> #<derivation /gnu/store/2d6gh47cnnsv8zf5d?> ?) 175:20 2 (_ #t) In ./guix/store.scm: 1417:15 1 (_ #<store-connection 256.99 7faec95b7aa0> ("/gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.?") ?) 1417:15 0 (loop #f) ./guix/store.scm:1417:15: In procedure loop: ERROR: 1. &store-protocol-error: message: "build of `/gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.drv' failed" status: 1 error: You found a bug: the program '/gnu/store/9glf45m6x8icvia8421jz5gapxkgr3zi-compute-guix-derivation' failed to compute the derivation for Guix (version: "20231129.17"; system: "i586-gnu"; host version: "1.4.0-13.e863274"; pull-version: 1). Please report the COMPLETE output above by email to <bug-guix@gnu.org>. make: *** [Makefile:7125: as-derivation] Error 1 [2]18:23:55 janneke@drakenpad:~/src/guix/hurd-team [env] --8<---------------cut here---------------end--------------->8--- What am I missing? (Thanks a lot for looking into this and working on my patches!) Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-11-29 17:39 ` Janneke Nieuwenhuizen @ 2023-11-30 21:43 ` Ludovic Courtès 2023-12-01 19:49 ` Janneke Nieuwenhuizen 0 siblings, 1 reply; 11+ messages in thread From: Ludovic Courtès @ 2023-11-30 21:43 UTC (permalink / raw) To: Janneke Nieuwenhuizen; +Cc: 67507 Hello! Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > $ make as-derivation > Building Guix in Guix... > warning: 'nix-server-socket' is deprecated, use 'store-connection-socket' instead > warning: 'nix-server-major-version' is deprecated, use 'store-connection-major-version' instead > warning: 'nix-server-minor-version' is deprecated, use 'store-connection-minor-version' instead > Computing Guix derivation for 'i586-gnu'... |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' > \normalized load on machine 'kluit.dezyne.org' is 0.91 > waiting for locks or build slots... > |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' > \normalized load on machine 'kluit.dezyne.org' is 0.64 > \guix offload: sending 0 store items (0 MiB) to 'kluit.dezyne.org'... > offloading '/gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv' to 'kluit.dezyne.org'... > @ build-remote /gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv kluit.dezyne.org > retrieving 1 store item from 'kluit.dezyne.org'... > -importing file or directory '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2.37'... > guix offload: error: corrupt input while restoring '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2. [...] > 1. &store-protocol-error: > message: "build of `/gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.drv' failed" > status: 1 This looks like an offloading issue. What happens if you do this beforehand: guix build /gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.drv ? (Note that I tested on ‘master’ though, so I’m not sure if there are relevant differences between the two branches; I guess I should know better…) Thanks for testing! Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-11-30 21:43 ` Ludovic Courtès @ 2023-12-01 19:49 ` Janneke Nieuwenhuizen 2023-12-02 11:39 ` bug#67507: " Ludovic Courtès 0 siblings, 1 reply; 11+ messages in thread From: Janneke Nieuwenhuizen @ 2023-12-01 19:49 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 67507 Ludovic Courtès writes: Hi! > Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > >> $ make as-derivation >> Building Guix in Guix... >> warning: 'nix-server-socket' is deprecated, use 'store-connection-socket' instead >> warning: 'nix-server-major-version' is deprecated, use 'store-connection-major-version' instead >> warning: 'nix-server-minor-version' is deprecated, use 'store-connection-minor-version' instead >> Computing Guix derivation for 'i586-gnu'... |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' >> \normalized load on machine 'kluit.dezyne.org' is 0.91 >> waiting for locks or build slots... >> |process 7189 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0' >> \normalized load on machine 'kluit.dezyne.org' is 0.64 >> \guix offload: sending 0 store items (0 MiB) to 'kluit.dezyne.org'... >> offloading '/gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv' to 'kluit.dezyne.org'... >> @ build-remote /gnu/store/3hc9fardc4pwmcjh6x5x6mi1yicvy861-glibc-utf8-locales-2.37.drv kluit.dezyne.org >> retrieving 1 store item from 'kluit.dezyne.org'... >> -importing file or directory '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2.37'... >> guix offload: error: corrupt input while restoring '/gnu/store/30knn5niz8j43aqly8qy4k20755n92kv-glibc-utf8-locales-2. > [...] > >> 1. &store-protocol-error: >> message: "build of `/gnu/store/2d6gh47cnnsv8zf5dvznlsszai4ry5qc-guile-3.0.9.drv' failed" >> status: 1 > > This looks like an offloading issue. Yes, somehow I didn't have the correct chilhurd signging-key registered. > (Note that I tested on ‘master’ though, so I’m not sure if there are > relevant differences between the two branches; I guess I should know > better…) > > Thanks for testing! So, I created a new VM (needed to create yet another guix package update commit on hurd-team to avoid the circular dependency thing), and (with my curl fix from yesterday), now "guix shell -D guix" works again; and without any glibc-2.35 afaics (there's only one x86_64-linux glibc-2.35 in the hurd's store, I guess that's to be expected). I also tested on hurd-team using the `make as-derivation' trick with #:system "i586-gnu" in compile-as-derivation.scm, which now fails with --8<---------------cut here---------------start------------->8--- offloading '/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' to 'kluit.dezyne.org'... @ build-remote /gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv kluit.dezyne.org Backtrace: In ice-9/boot-9.scm: 160: 10 [catch #t #<catch-closure 1ba1510> ...] In unknown file: ?: 9 [apply-smob/1 #<catch-closure 1ba1510>] In ice-9/boot-9.scm: 66: 8 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 7 [eval # #] In ice-9/boot-9.scm: 2412: 6 [save-module-excursion #<procedure 1bb2c00 at ice-9/boot-9.scm:4084:3 ()>] 4089: 5 [#<procedure 1bb2c00 at ice-9/boot-9.scm:4084:3 ()>] 1734: 4 [%start-stack load-stack ...] 1739: 3 [#<procedure 1bbb930 ()>] In unknown file: ?: 2 [primitive-load "/gnu/store/dljmqd3db20j9z9bbqlha71p3jzj7cvk-bash-minimal-5.1.16-builder"] In ice-9/eval.scm: 432: 1 [eval # ()] In unknown file: ?: 0 [setlocale 6 "en_US.utf8"] ERROR: In procedure setlocale: ERROR: In procedure setlocale: Invalid argument builder for `/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' failed with exit code 1 derivation '/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' offloaded to 'kluit.dezyne.org' failed: build of `/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' failed --8<---------------cut here---------------end--------------->8--- Not sure where that comes from or if that's a problem Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#67507: [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-12-01 19:49 ` Janneke Nieuwenhuizen @ 2023-12-02 11:39 ` Ludovic Courtès 2023-12-02 14:38 ` [bug#67507] " Janneke Nieuwenhuizen 2023-12-04 19:34 ` itd 0 siblings, 2 replies; 11+ messages in thread From: Ludovic Courtès @ 2023-12-02 11:39 UTC (permalink / raw) To: Janneke Nieuwenhuizen, Christopher Baines; +Cc: 67507-done Hi, Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > So, I created a new VM (needed to create yet another guix package update > commit on hurd-team to avoid the circular dependency thing), and (with > my curl fix from yesterday), now "guix shell -D guix" works again; and > without any glibc-2.35 afaics (there's only one x86_64-linux glibc-2.35 > in the hurd's store, I guess that's to be expected). Good. > I also tested on hurd-team using the `make as-derivation' trick with > #:system "i586-gnu" in compile-as-derivation.scm, which now fails with > > offloading '/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' to 'kluit.dezyne.org'... > @ build-remote /gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv kluit.dezyne.org > Backtrace: > In ice-9/boot-9.scm: > 160: 10 [catch #t #<catch-closure 1ba1510> ...] > In unknown file: > ?: 9 [apply-smob/1 #<catch-closure 1ba1510>] > In ice-9/boot-9.scm: > 66: 8 [call-with-prompt prompt0 ...] > In ice-9/eval.scm: > 432: 7 [eval # #] > In ice-9/boot-9.scm: > 2412: 6 [save-module-excursion #<procedure 1bb2c00 at ice-9/boot-9.scm:4084:3 ()>] > 4089: 5 [#<procedure 1bb2c00 at ice-9/boot-9.scm:4084:3 ()>] > 1734: 4 [%start-stack load-stack ...] > 1739: 3 [#<procedure 1bbb930 ()>] > In unknown file: > ?: 2 [primitive-load "/gnu/store/dljmqd3db20j9z9bbqlha71p3jzj7cvk-bash-minimal-5.1.16-builder"] > In ice-9/eval.scm: > 432: 1 [eval # ()] > In unknown file: > ?: 0 [setlocale 6 "en_US.utf8"] > > ERROR: In procedure setlocale: > ERROR: In procedure setlocale: Invalid argument > builder for `/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' failed with exit code 1 It builds for me now on ‘master’: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build bash-minimal -s i586-gnu --no-grafts /gnu/store/0iw3v18ar8vy1yknnf84lv0jzmq6gjhm-bash-minimal-5.1.16-doc /gnu/store/1gsf6zrl3fmbrip98nsqpkjykfhahmvd-bash-minimal-5.1.16 $ git log |head -1 commit aeb494322ca9dec4a4d66a7d063239c8536bd538 --8<---------------cut here---------------end--------------->8--- \o/ Christopher Baines <mail@cbaines.net> skribis: > These changes look good to me. > > For the data service instances, it would be good to fix the infinite > loop issue sooner rather than later. For affected revisions, I think the > data service is effectively waiting until the relevant processes run out > of memory and crash, and this is slowing down processing revisions. Yeah. Pushed as b0715d7cd2a74bc231751f8afc9dffb2047501ac. Let’s do some more testing from here and see how it goes. Thanks! Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-12-02 11:39 ` bug#67507: " Ludovic Courtès @ 2023-12-02 14:38 ` Janneke Nieuwenhuizen 2023-12-04 19:34 ` itd 1 sibling, 0 replies; 11+ messages in thread From: Janneke Nieuwenhuizen @ 2023-12-02 14:38 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Christopher Baines, 67507-done Ludovic Courtès writes: Hi, > Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > >> I also tested on hurd-team using the `make as-derivation' trick with >> #:system "i586-gnu" in compile-as-derivation.scm, which now fails with [..] >> ERROR: In procedure setlocale: >> ERROR: In procedure setlocale: Invalid argument >> builder for `/gnu/store/qy6l0gjjpc40frz57fv08shpwj4pssfd-bash-minimal-5.1.16.drv' failed with exit code 1 > > It builds for me now on ‘master’: > > $ ./pre-inst-env guix build bash-minimal -s i586-gnu --no-grafts > /gnu/store/0iw3v18ar8vy1yknnf84lv0jzmq6gjhm-bash-minimal-5.1.16-doc > /gnu/store/1gsf6zrl3fmbrip98nsqpkjykfhahmvd-bash-minimal-5.1.16 > $ git log |head -1 > commit aeb494322ca9dec4a4d66a7d063239c8536bd538 > > \o/ Yeah, for me too; it's the grafting that seems to be implicit in `make as-derivation'...so maybe that's not a great way to test this? > Christopher Baines <mail@cbaines.net> skribis: > >> These changes look good to me. >> >> For the data service instances, it would be good to fix the infinite >> loop issue sooner rather than later. For affected revisions, I think the >> data service is effectively waiting until the relevant processes run out >> of memory and crash, and this is slowing down processing revisions. > > Yeah. > > Pushed as b0715d7cd2a74bc231751f8afc9dffb2047501ac. > > Let’s do some more testing from here and see how it goes. Great, thanks all! For `guix shell -D guix' to work with this (i.e., not hang resolving the circular dependency), I updated the guix package once again. Does hurd-packages need to be enabled again at https://ci.guix.gnu.org/? Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-12-02 11:39 ` bug#67507: " Ludovic Courtès 2023-12-02 14:38 ` [bug#67507] " Janneke Nieuwenhuizen @ 2023-12-04 19:34 ` itd 1 sibling, 0 replies; 11+ messages in thread From: itd @ 2023-12-04 19:34 UTC (permalink / raw) To: Ludovic Courtès, Janneke Nieuwenhuizen, Christopher Baines; +Cc: 67507 Dear all, Ludovic Courtès <ludo@gnu.org> writes: > Let’s do some more testing from here and see how it goes. there was some discussion on IRC which, I think, is related to this issue: - https://logs.guix.gnu.org/guix/2023-12-03.log#104632 - https://logs.guix.gnu.org/guix/2023-12-04.log#165604 In short, people observe issues such as: "package glibc-locales@2.37 does not support x86_64-linux". There is also #67586 describing this. I am sharing it in case it is related and with the hope that it helps. Best regards itd ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès 2023-11-29 17:39 ` Janneke Nieuwenhuizen @ 2023-12-01 18:42 ` Christopher Baines 1 sibling, 0 replies; 11+ messages in thread From: Christopher Baines @ 2023-12-01 18:42 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 67507 [-- Attachment #1: Type: text/plain, Size: 739 bytes --] Ludovic Courtès <ludo@gnu.org> writes: > This is an updated version of Janneke's patches > in <https://issues.guix.gnu.org/66472> combined with > Christopher's patch from <https://issues.guix.gnu.org/67507>. > Team work! > > This should fix the infamous dependency cycle introduced > in 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64 *and* ensure > the right version of glibc locale data is used throughout. These changes look good to me. For the data service instances, it would be good to fix the infinite loop issue sooner rather than later. For affected revisions, I think the data service is effectively waiting until the relevant processes run out of memory and crash, and this is slowing down processing revisions. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 1/2] gnu: Add ‘libc-locales-for-target’ and related. 2023-11-28 11:33 [bug#67507] [PATCH] packages: Use glibc-utf8-locales/hurd in %standard-patch-inputs Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès @ 2023-11-29 15:44 ` Ludovic Courtès 2023-11-29 15:44 ` [bug#67507] [PATCH v2 2/2] gnu: Use ‘libc-utf8-locales-for-target’ Ludovic Courtès 2 siblings, 0 replies; 11+ messages in thread From: Ludovic Courtès @ 2023-11-29 15:44 UTC (permalink / raw) To: 67507; +Cc: Ludovic Courtès, Janneke Nieuwenhuizen From: Janneke Nieuwenhuizen <janneke@gnu.org> Partly fixes <https://issues.guix.gnu.org/66472>. This is a followup to 95ea1277ae2ebd278bdb51a7887f5ba1116fbc64. * gnu/packages/base.scm (glibc-locales/hurd): New variable (libc-locales-for-target): Use it in new procedure. (libc-utf8-locales-for-target): New procedure. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I16e187fcc65a5d4a3b065066b45ef9e45d1875f6 --- gnu/packages/base.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 41aff0ca97..6b2e96dc9b 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)) @@ -1526,6 +1528,23 @@ (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)))) + (if (target-hurd? target) + glibc-locales/hurd + glibc-locales)) + +(define* (libc-utf8-locales-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (if (target-hurd? target) + glibc-utf8-locales/hurd + glibc-utf8-locales)) + (define-public tzdata (package (name "tzdata") -- 2.41.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#67507] [PATCH v2 2/2] gnu: Use ‘libc-utf8-locales-for-target’. 2023-11-28 11:33 [bug#67507] [PATCH] packages: Use glibc-utf8-locales/hurd in %standard-patch-inputs Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès 2023-11-29 15:44 ` [bug#67507] [PATCH v2 1/2] gnu: Add ‘libc-locales-for-target’ and related Ludovic Courtès @ 2023-11-29 15:44 ` Ludovic Courtès 2 siblings, 0 replies; 11+ messages in thread From: Ludovic Courtès @ 2023-11-29 15:44 UTC (permalink / raw) To: 67507; +Cc: Ludovic Courtès, Christopher Baines, Janneke Nieuwenhuizen From: Janneke Nieuwenhuizen <janneke@gnu.org> * 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 --- gnu/home/services/ssh.scm | 8 ++++--- 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 | 4 +++- gnu/services/base.scm | 7 ++++-- gnu/services/guix.scm | 23 +++++++++++------- gnu/services/web.scm | 6 +++-- gnu/system/image.scm | 13 ++++++---- gnu/system/install.scm | 2 +- guix/packages.scm | 6 ++++- guix/profiles.scm | 37 +++++++++++++++++------------ guix/scripts/pack.scm | 8 +++++-- guix/self.scm | 5 +++- tests/pack.scm | 7 +++--- tests/profiles.scm | 4 ++-- 20 files changed, 97 insertions(+), 56 deletions(-) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 34b1fe4658..295707d59f 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -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 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 0be935585d..7364655d25 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 @@ -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 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 756222318b..ba0bede493 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..23c3d8a9f4 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -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") 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 <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 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..b825892232 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -466,7 +466,9 @@ (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 + (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (initializer image-root @@ -633,7 +635,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 (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") @@ -737,7 +740,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 (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar)) @@ -816,7 +820,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 (%current-system)) + "/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..336d13bd07 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 system) texinfo guile-3.0) %default-locale-libcs))) diff --git a/guix/packages.scm b/guix/packages.scm index e2e82692ad..b768dddb5f 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -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 diff --git a/guix/profiles.scm b/guix/profiles.scm index 5d2fb8dc64..ce2f8337bf 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1000,8 +1000,9 @@ (define* (info-dir-file manifest #:optional system) (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* (info-dir-file manifest #:optional system) (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* (ca-certificate-bundle manifest #:optional system) ;; 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* (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/" - (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) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index bdbea49910..8071840de1 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 (%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"))) diff --git a/guix/self.scm b/guix/self.scm index a1f235659d..f378548959 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -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))))) 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 9c419ada93..ddd6d74f3b 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -463,7 +463,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 @@ -482,7 +482,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 ^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-12-04 19:36 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-11-28 11:33 [bug#67507] [PATCH] packages: Use glibc-utf8-locales/hurd in %standard-patch-inputs Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 0/2] Using the right locales on GNU/Hurd Ludovic Courtès 2023-11-29 17:39 ` Janneke Nieuwenhuizen 2023-11-30 21:43 ` Ludovic Courtès 2023-12-01 19:49 ` Janneke Nieuwenhuizen 2023-12-02 11:39 ` bug#67507: " Ludovic Courtès 2023-12-02 14:38 ` [bug#67507] " Janneke Nieuwenhuizen 2023-12-04 19:34 ` itd 2023-12-01 18:42 ` Christopher Baines 2023-11-29 15:44 ` [bug#67507] [PATCH v2 1/2] gnu: Add ‘libc-locales-for-target’ and related Ludovic Courtès 2023-11-29 15:44 ` [bug#67507] [PATCH v2 2/2] gnu: Use ‘libc-utf8-locales-for-target’ Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).