Subject: [bug#70280] [PATCH 3/5] locale: Shrink ‘%default-locale-definitions’ from 34 to 10 locales.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 8 Apr 2024 16:24:33 +0200

This reduces the default set of locales from 92 MiB to 28 MiB.

* gnu/system/locale.scm (%default-locale-definitions): Reduce to 10
locales.

Change-Id: I3c092604301d69db591957bcfd62a062c3ac5ab0
---
 gnu/system/locale.scm | 56 ++++++++++++-------------------------------
 1 file changed, 15 insertions(+), 41 deletions(-)

diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 4ea82e24d5..00eb902702 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -153,9 +153,10 @@ (define %default-locale-libcs
       (list glibc)))
 
 (define %default-locale-definitions
-  ;; Arbitrary set of locales that are built by default.  They are here mostly
-  ;; to facilitate first-time use to some people, while others may have to add
-  ;; a specific <locale-definition>.
+  ;; Arbitrary set of locales that are built by default.  They come as a
+  ;; "bonus" in addition to that specified in the 'locale' field of the
+  ;; operating system, for the user's convenience, so they shouldn't take too
+  ;; much space.
   (letrec-syntax ((utf8-locale (syntax-rules ()
                                  ((_ name*)
                                   (locale-definition
@@ -167,44 +168,17 @@ (define %default-locale-definitions
                   (utf8-locales (syntax-rules ()
                                   ((_ name ...)
                                    (list (utf8-locale name) ...)))))
-    ;; Add "en_US.UTF-8" for compatibility with Guix 0.8.
-    (cons (locale-definition
-           (name "en_US.UTF-8")
-           (source "en_US")
-           (charset "UTF-8"))
-          (utf8-locales "ca_ES"
-                        "cs_CZ"
-                        "da_DK"
-                        "de_DE"
-                        "el_GR"
-                        "en_AU"
-                        "en_CA"
-                        "en_GB"
-                        "en_US"
-                        "es_AR"
-                        "es_CL"
-                        "es_ES"
-                        "es_MX"
-                        "fi_FI"
-                        "fr_BE"
-                        "fr_CA"
-                        "fr_CH"
-                        "fr_FR"
-                        "ga_IE"
-                        "it_IT"
-                        "ja_JP"
-                        "ko_KR"
-                        "nb_NO"
-                        "nl_NL"
-                        "pl_PL"
-                        "pt_PT"
-                        "ro_RO"
-                        "ru_RU"
-                        "sv_SE"
-                        "tr_TR"
-                        "uk_UA"
-                        "vi_VN"
-                        "zh_CN"))))
+    ;; The six UN official languages, with at most two variants per language.
+    (utf8-locales "ar_DZ"
+                  "ar_JO"
+                  "en_GB"
+                  "en_US"
+                  "es_AR"
+                  "es_ES"
+                  "fr_CA"
+                  "fr_FR"
+                  "ru_RU"
+                  "zh_CN")))
 
 
 ;;;
-- 
2.41.0