diff options
author | Christopher Baines <mail@cbaines.net> | 2019-09-29 10:44:53 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-09-29 10:44:53 +0100 |
commit | 208122317aa87c4b168158eee36198c2b355825b (patch) | |
tree | f582f12f62726caeeb08914a36d62e871c4f523a /guix-data-service | |
parent | d236f05d0f7afc0f9908a0555f582ddd866439bf (diff) | |
download | data-service-208122317aa87c4b168158eee36198c2b355825b.tar data-service-208122317aa87c4b168158eee36198c2b355825b.tar.gz |
Try setting the en_US.UTF-8 locale, if the normalised fails
Older versions of the glibc-locales package just contain the UTF-8 variants,
not utf8.
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/jobs/load-new-guix-revision.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index 5df8700..0046cb4 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -2,6 +2,7 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (ice-9 hash-table) + #:use-module (rnrs exceptions) #:use-module (json) #:use-module (squee) #:use-module (guix monads) @@ -773,7 +774,24 @@ WHERE job_id = $1" (setenv "GUIX_LOCPATH" guix-locpath) ; restore GUIX_LOCPATH ;; Normalise the locale for the inferior process - (inferior-eval '(setlocale LC_ALL "en_US.utf8") inf) + (catch + 'system-error + (lambda () + (inferior-eval '(setlocale LC_ALL "en_US.utf8") inf)) + (lambda (key . args) + (simple-format (current-error-port) + "warning: failed to set locale to en_US.utf8: ~A ~A\n" + key args) + (display "trying to setlocale to en_US.UTF-8 instead\n" + (current-error-port)) + (with-exception-handler + (lambda (key . args) + (simple-format + (current-error-port) + "warning: failed to set locale to en_US.UTF-8: ~A ~A\n" + key args)) + (lambda () + (inferior-eval '(setlocale LC_ALL "en_US.UTF-8") inf))))) (inferior-eval '(use-modules (srfi srfi-1) (srfi srfi-34) |