Subject: bug#73081: [PATCH] gnu: Add iso-codes/installer.

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 7 Sep 2024 00:01:17 +0200

* gnu/packages/iso-codes.scm (iso-codes/installer): New variable.
* gnu/installer.scm (compute-locale-step): Use it.

Fixes <https://issues.guix.gnu.org/73081>.
Change-Id: Ibc37b3972f6eda14886543b30a72d3b890455d07

Change-Id: Ia06b776e861742fb108a41317ed6df13afec9b6f
---
 gnu/installer.scm          |  6 +++---
 gnu/packages/iso-codes.scm | 26 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/gnu/installer.scm b/gnu/installer.scm
index 3792fc7e35..41ac07ab9e 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -146,7 +146,7 @@ (define* (compute-locale-step #:key
 
   (let* ((supported-locales #~(supported-locales->locales
                                #+(glibc-supported-locales)))
-         (iso-codes #~(string-append #$iso-codes "/share/iso-codes/json/"))
+         (iso-codes #~(string-append #$iso-codes/installer "/share/iso-codes/json/"))
          (iso639-3 #~(string-append #$iso-codes "iso_639-3.json"))
          (iso639-5 #~(string-append #$iso-codes "iso_639-5.json"))
          (iso3166 #~(string-append #$iso-codes "iso_3166-1.json"))
@@ -437,9 +437,9 @@ (define (installer-program)
             ;; (e.g., "French" is always displayed as "français", but
             ;; "Belgium" could be translated to Dutch, French, or German.)
             (bindtextdomain "iso_639-3"           ;languages
-                            #+(file-append iso-codes "/share/locale"))
+                            #+(file-append iso-codes/installer "/share/locale"))
             (bindtextdomain "iso_3166-1"          ;territories
-                            #+(file-append iso-codes "/share/locale"))
+                            #+(file-append iso-codes/installer "/share/locale"))
 
             ;; Likewise for XKB keyboard layout names.
             (bindtextdomain "xkeyboard-config"
diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm
index d2bace6a3c..17f093ab78 100644
--- a/gnu/packages/iso-codes.scm
+++ b/gnu/packages/iso-codes.scm
@@ -87,6 +87,32 @@ (define-public iso-codes
               (("(Taiwan), [^\"]*" _ name) name))))))
      (synopsis "Various ISO standards as used by GNU@tie{}Guix"))))
 
+(define-public iso-codes/installer
+  (hidden-package
+   (package
+     (inherit iso-codes/official)
+     (name "iso-codes")
+     (version "4.16.0")
+     (home-page "https://salsa.debian.org/iso-codes-team/iso-codes")
+     (source (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url home-page)
+                     (commit (string-append "v" version))))
+               (file-name (git-file-name name version))
+               (sha256
+                (base32
+                 "0rh2hiivd2hl864zar3pr3yxpkizj4jj4g6c9zjflls35jk4my3a"))
+               (modules '((guix build utils)))
+               (snippet
+                '(begin
+                   (substitute* (find-files "." "\\.po$")
+                     (("#.*Name for TWN,.*") "")
+                     (("^msgid \"Taiwan, .*") "# Guix doesn't use "))
+                   (substitute* "data/iso_3166-1.json"
+                     (("(Taiwan), [^\"]*" _ name) name))))))
+     (synopsis "Various ISO standards as used by GNU@tie{}Guix"))))
+
 (define-public python-iso639
   (package
     (name "python-iso639")

base-commit: 18d02443e1ec37779ee3cf63f9aaff1746bfdd8e
prerequisite-patch-id: 4ffb617d91dd5b9402dbbc4b283a10ddb2e346fa
prerequisite-patch-id: 71683bcfadbcfa4015533d7a9f350cc56ee0bcc9
prerequisite-patch-id: 791a04c394d72d0ebc43e256f36b87a328730021
prerequisite-patch-id: 0304eeb68533b569a1e97db280f9c3056fdbd18e
prerequisite-patch-id: 62bc2f225dc341e92ccd57e6e85e820781276325
prerequisite-patch-id: 80dddd088995777720d8bd9bfbbdc624bb73558e
prerequisite-patch-id: 17c1e3549ad480aa4898c41345f9fc42a31e36f8
prerequisite-patch-id: 101787b1a916da58bebc25c93c5119933dd5b342
prerequisite-patch-id: a17f97af2833018ba63ec532841ec365b88819d2
prerequisite-patch-id: d24e2e49818c64a7196123123f3799e2d6d68df6
prerequisite-patch-id: d77d6b930b595ddcf65f87eaa0017377009df33e
prerequisite-patch-id: a0e9a69a85d2ba39893ce272a4154d78fd70d436
prerequisite-patch-id: 6e95fccb5adca3aa9c525205dbf8a504d9fc3011
prerequisite-patch-id: 6fc64e51903b7dc549a57a2e476f04cba38064ca
prerequisite-patch-id: fc76be9d9a7c50b3c0929f1540cce53f6310ff3f
prerequisite-patch-id: 3645ebc0f7c660c7f9f4484aa5cc836a32dca88b
prerequisite-patch-id: 8f3115f73547fbda4c7ab8758d57093d89f5556f
prerequisite-patch-id: 2945b1975128021fa547990b34444d5425bd05b0
prerequisite-patch-id: efe0e637a1b92bca3438f8f322597f55e483e3cd
prerequisite-patch-id: 9a3cc330e771344f3d04bd1f8fd1b1f6e5092485
prerequisite-patch-id: 1d4b7f915798aaaa33ff1698c787a964d0520b6d
prerequisite-patch-id: 79674edf84a571c3fd9f5a3d86953690e1c9bc0e
prerequisite-patch-id: 14e78aa57aecec4f767a148df724589ff2e7fb47
prerequisite-patch-id: 7907c8d13571d434dcaf46d1236cba23ea9a3759
prerequisite-patch-id: 93e2ae209447710f140c0931a5bbd76e71639cea
prerequisite-patch-id: f3e23be6a18c939bb8f498438f025adf101d232e
prerequisite-patch-id: 07690aa820c880cd58808246e0968de89a085c67
-- 
2.45.2