commit:     d9930ca68a2bd4e8e0c631e667897f401cb676df
Author:     Kerin Millar <kfm <AT> plushkava <DOT> net>
AuthorDate: Thu Oct 30 01:52:02 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 30 04:38:50 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9930ca6

sys-apps/locale-gen: add 3.9

Kerin Millar (19):
      Simplify the can_run() subroutine
      Validate the config strictly against the SUPPORTED file
      Produce short-form aliases for a subset of valid locales
      Disclose which locales are granted short-form aliases
      Compose the "Compiling locale" message in a neater way
      Jettison the @fields variable from parse_config()
      Use \K where replacing "UTF8" in $charmap
      Introduce the print_warning() helper subroutine
      Warn if a locale not incorporating a codeset is in effect
      Only check the effective locale for a --prefix of "/"
      Issue guidance tailored to either of systemd or openrc
      Check whether --prefix refers to / in a more reliable way
      Avoid the invocation of a shell in is_eq_file()
      Rename the @canonicals parameter to @names
      Shorten a comment in parse_entry()
      Drop a superfluous conditional from parse_entry()
      locale.gen.5: amend the EXAMPLES section
      Eliminate a postfix conditional in generate_archive()
      Bump $VERSION to 3.9

Bug: https://bugs.gentoo.org/963974
Signed-off-by: Kerin Millar <kfm <AT> plushkava.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/locale-gen/Manifest              |  1 +
 sys-apps/locale-gen/locale-gen-3.9.ebuild | 71 +++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+)

diff --git a/sys-apps/locale-gen/Manifest b/sys-apps/locale-gen/Manifest
index eba1c29c097e..2c6083bb469f 100644
--- a/sys-apps/locale-gen/Manifest
+++ b/sys-apps/locale-gen/Manifest
@@ -1,2 +1,3 @@
 DIST locale-gen-2.23.tar.bz2 7664 BLAKE2B 
a529b62fbb840c9352f06e8f5c80fc764425a2619dc69cc820f550a026d391788d5e2cfeeb46a8b5b9716da63340b4fce57a5b523edd4196ee1219c1200cb752
 SHA512 
c1245caadb04403c535a836f19bc410d0f04b5c0e297ea5be9852e6d71e08e528071ae769d63d31a677dda8fdd618b4c4d581ed525cf8786b82d8f37636db754
 DIST locale-gen-3.8.tar.bz2 17593 BLAKE2B 
0197096021286f47f4e289ee5c4cbf0220264b5784c101df567c0a5dc81a0a83999e8306e8ab72e47f4f35f92d0f7e7e40589ff3c74936e22c56e3b5a172fb15
 SHA512 
6e802283bce6a927ed020d3011a9bc4a81ef017d728a698fa6a8c74887895a87d225cdbe23cf18798a12f2e58beacfdd6ba5e3990d74ebafb4b2ba5986d35720
+DIST locale-gen-3.9.tar.bz2 17793 BLAKE2B 
982c6460a40ac29b9aa3f2bab42cfa7862510c715e13bb68b0b6c7f7910fd728862ed4cc2ce7a07bfe1888566a469c1264174a4f41306506d77edc7189957a7c
 SHA512 
8bdb5e7cb19d62284291d092b03e04f2c40b52cac542192afe5e3c28776a88f4452efdd6dd76a6719fe7b73edf37b916322db4d048c08fd7d03d6d3474fdd6fe

diff --git a/sys-apps/locale-gen/locale-gen-3.9.ebuild 
b/sys-apps/locale-gen/locale-gen-3.9.ebuild
new file mode 100644
index 000000000000..208756dc33aa
--- /dev/null
+++ b/sys-apps/locale-gen/locale-gen-3.9.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Generate locales based upon the config file /etc/locale.gen"
+HOMEPAGE="https://gitweb.gentoo.org/proj/locale-gen.git/";
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/locale-gen.git";
+       inherit git-r3
+else
+       
SRC_URI="https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/${P}.tar.bz2";
+
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+BDEPEND="
+       >=dev-lang/perl-5.36
+       dev-perl/File-Slurper
+"
+RDEPEND="
+       >=dev-lang/perl-5.36
+       !<sys-libs/glibc-2.37-r3
+"
+
+src_prepare() {
+       # EPREFIX is readonly.
+       local -x MY_EPREFIX=${EPREFIX}
+
+       eapply_user
+
+       perl -pi -e '$f //= ($. == 1 && s/^#!\h*\K/$ENV{MY_EPREFIX}/); END { 
exit !$f }' "${PN}" \
+       || die "Failed to prefixify ${PN}"
+}
+
+src_install() {
+       dosbin locale-gen
+       doman *.[0-8]
+       insinto /etc
+       {
+               cat <<-'EOF' &&
+               # This file defines which locales to incorporate into the glibc 
locale archive.
+               # See the locale.gen(5) and locale-gen(8) man pages for more 
details.
+
+               EOF
+               if [[ -e ${EROOT}/usr/share/i18n/SUPPORTED ]]; then
+                       # Run the interpreter by name so as not to have to 
prefixify.
+                       perl mkconfig "${EROOT}"
+               else
+                       ewarn "Skipping the incorporation of locale.gen 
examples because the SUPPORTED file is absent"
+               fi
+       } | newins - locale.gen
+       if (( PIPESTATUS[0] || PIPESTATUS[1] )); then
+               die "Failed to generate and/or install locale.gen"
+       fi
+       keepdir /usr/lib/locale
+}
+
+pkg_postinst() {
+       while read -r; do ewarn "${REPLY}"; done <<-'EOF'
+       As of version 3.9, locale-gen(8) only supports locale/charmap pairs 
that are
+       officially supported by glibc itself. For most users, there should be no
+       impact. Nevertheless, if running locale-gen(8) raises errors regarding
+       unsupported combinations, it will be necessary to modify its config 
file.
+       The locale.gen(5) man page explains how to determine which are 
supported.
+       EOF
+}

Reply via email to