Subject: Re: bug#73081: installer crash: iso-codes is too old

From: Ludovic Courtès <[email-masked]>
Date: Mon, 09 Sep 2024 20:35:43 +0200

Hi,

Ricardo Wurmus <[email-masked]> skribis:

> * 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

[...]

> +(define-public iso-codes/installer
> +  (hidden-package
> +   (package
> +     (inherit iso-codes/official)

Maybe rename ‘iso-codes’ to ‘iso-codes/pinned’, rename users, and have:

  (define-public iso-codes
    (package
      (inherit iso-codes/pinned)
      …))

?

> +     (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))))))

Maybe (origin (inherit (package-source iso-codes/pinned)) …) to avoid
duplicating the snippet?

Apart from that, it LGTM, thanks!

Ludo’.