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
+}