Subject: [PATCH 2/3] services: guix: Move GUIX_LOCPATH handling to packages.

From: Christopher Baines <[email-masked]>
Date: Wed, 13 Dec 2023 12:48:48 +0000

I think this might be better than handling it in the service. I'm seeing
locale issues on the hurd which I hope this will address.

* gnu/packages/package-management.scm (guix-build-coordinator,
guix-build-coordinator/agent-only):
* gnu/services/guix.scm (guix-build-coordinator-shepherd-services,
guix-build-coordinator-agent-shepherd-services):

Change-Id: I07ca424f434854176326a19177dc5573d53b59c2
---
 gnu/packages/package-management.scm |  7 ++++++-
 gnu/services/guix.scm               | 10 ++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 30216f518a..e73c142236 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1570,6 +1570,9 @@ (define-public guix-build-coordinator
                             ,@(or (and=> (assoc-ref inputs "sqitch")
                                          list)
                                   '())))
+                         `("GUIX_LOCPATH" ":" prefix
+                           (,(string-append (assoc-ref inputs "glibc-utf8-locales")
+                                            "/lib/locale")))
                          `("GUILE_LOAD_PATH" ":" prefix
                            (,scm ,(string-join
                                    (map (lambda (input)
@@ -1608,6 +1611,7 @@ (define-public guix-build-coordinator
        (list (first (assoc-ref (package-native-inputs guix) "guile"))
              sqlite
              bash-minimal
+             (libc-utf8-locales-for-target)
              sqitch))
       (propagated-inputs
        (list guile-prometheus
@@ -1647,7 +1651,8 @@ (define-public guix-build-coordinator/agent-only
            (first (assoc-ref (package-native-inputs guix) "guile"))))
     (inputs
      (list (first (assoc-ref (package-native-inputs guix) "guile"))
-           bash-minimal))
+           bash-minimal
+           (libc-utf8-locales-for-target)))
     (propagated-inputs
      (list guile-prometheus
            guile-gcrypt
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index ff6cce507e..17599193e3 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -342,10 +342,7 @@ (define (guix-build-coordinator-shepherd-services config)
                      ;; Allow time for migrations to run
                      #:pid-file-timeout 60
                      #:environment-variables
-                     `(,(string-append
-                         "GUIX_LOCPATH="
-                         #$(libc-utf8-locales-for-target) "/lib/locale")
-                       "LC_ALL=en_US.utf8"
+                     `("LC_ALL=en_US.utf8"
                        "PATH=/run/current-system/profile/bin" ; for hooks
                        #$@extra-environment-variables)
                      #:log-file "/var/log/guix-build-coordinator/coordinator.log")
@@ -470,10 +467,7 @@ (define (guix-build-coordinator-agent-shepherd-services config)
                             (or systems '())))
               #:user #$user
               #:environment-variables
-              `(,(string-append
-                  "GUIX_LOCPATH="
-                  #$(libc-utf8-locales-for-target) "/lib/locale")
-                ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
+              `(;; 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")
               #:log-file "/var/log/guix-build-coordinator/agent.log"))))
-- 
2.41.0