commit:     b027fd9f2d605679ab482bb26f99591357bdae7a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  5 14:30:00 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct  5 15:03:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b027fd9f

sys-devel/gettext: add 0.26

Bug: https://bugs.gentoo.org/957583
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/gettext/Manifest            |   2 +
 sys-devel/gettext/gettext-0.26.ebuild | 201 ++++++++++++++++++++++++++++++++++
 2 files changed, 203 insertions(+)

diff --git a/sys-devel/gettext/Manifest b/sys-devel/gettext/Manifest
index 7e5bafb16826..d2a94fb89af4 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -8,3 +8,5 @@ DIST gettext-0.23.2.tar.xz 11050476 BLAKE2B 
a59345e2164ef67bab6cb87593a51c6cdba7
 DIST gettext-0.23.2.tar.xz.sig 228 BLAKE2B 
a407f7fb586e300b6ba4032f9e5920864e1f3ba7dfc37fa3d6a48aa4e6e1eaa8238fc8f02ba6ee8e5e4eed9a0206eb61c52cc0f4121bc23d59fc00b3238accd7
 SHA512 
172f3fb3a7645a2259912d002e7700fa411a9be33b76d2eaacdafe1352cd8dcca23b335d6fbe8b31cbae18f1036be50e27ee7fd9bb2048a991238f99791f54a4
 DIST gettext-0.25.1.tar.xz 9930836 BLAKE2B 
8a1e512b9bcfa196dcf138e80844766fe35d6c08240e862ac9a728aee378c711e88f7145f9142e7178fa25b6556f1daa6d2de066714cbe26db64dd24fb3516ae
 SHA512 
321c890c2fa535a7ad7a0d4a9fdf08ecd679cfc91bae1a84d54454bcfa5cfc46240be03444c55c0ab9d5b5e1b7d3db2d22ff81d94f595d8c793e370caf4b5c94
 DIST gettext-0.25.1.tar.xz.sig 228 BLAKE2B 
613be788a4b7ebf1318103b1c2dd0bad0397e4f453de8cfc924915008e43c7c224a435710a3dc19f42ed6f42ff14d124ca04482d1a2ed6bc12dd39b950526685
 SHA512 
36efdfce828171f062b899a6655939a923294bef0fa664e1c39a519241cecfc09bcbd9471bcc9150e96446e83042cd5a4cc034f8f1f39d02c59bde3cede4417a
+DIST gettext-0.26.tar.xz 10061740 BLAKE2B 
b182e5fdb9fc46868dc39b512ef300c54c8e77a766f2d2de69289f84966d4205f494b3ecedfb30c6df581947172411ae7eb4ccc0bb1f180b67dd8a83803832a8
 SHA512 
544e41c9390695df1c21542842e9ca027a03cb7d4045d8cd759dec1a3dfb624aae900751b458bdb31d6454b37c40c474a952059b884555a03c7c95d6d0e687b1
+DIST gettext-0.26.tar.xz.sig 228 BLAKE2B 
80a960f92ccc7bdc20362fcf01f81aeacdca5d3fa22a02b560d20c097ae146f0f5b83db1b7bb40e34bf5c9ea582ed858183143f1a0de087e681ee32e09c55bc2
 SHA512 
509949861f0e2f9ff8d99f03d0effe8d5dfc60fd3fa50e24601554b6ca985f0e11c05cf6c61188aceb20cc27e7199f3e4424235d1a0fdcc2d7a0f89a796a06ee

diff --git a/sys-devel/gettext/gettext-0.26.ebuild 
b/sys-devel/gettext/gettext-0.26.ebuild
new file mode 100644
index 000000000000..16a4615dd335
--- /dev/null
+++ b/sys-devel/gettext/gettext-0.26.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with dev-libs/libintl.
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit flag-o-matic java-pkg-opt-2 libtool multilib-minimal verify-sig 
toolchain-funcs
+
+DESCRIPTION="GNU locale utilities"
+HOMEPAGE="https://www.gnu.org/software/gettext/";
+
+if [[ ${PV} == *_rc* ]] ; then
+       SRC_URI="
+               https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz
+               verify-sig? ( 
https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz.sig )
+       "
+       S="${WORKDIR}/${P/_/-}"
+else
+       SRC_URI="
+               mirror://gnu/${PN}/${P}.tar.xz
+               verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
+       "
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos 
~x64-macos ~x64-solaris"
+fi
+
+# Only libasprintf is under the LGPL (and libintl is in a sep package),
+# so put that license behind USE=cxx.
+LICENSE="GPL-3+ cxx? ( LGPL-2.1+ )"
+SLOT="0"
+IUSE="acl +cxx doc emacs git java ncurses nls openmp static-libs xattr"
+
+# Only runtime goes multilib
+#
+# Note: The version of libxml2 corresponds to the version bundled via gnulib.
+# If the build detects too old of a system version, it will end up falling back
+# to the bundled copy (bug #596918).
+DEPEND="
+       >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+       >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+       >=dev-libs/libxml2-2.9.3:=
+       acl? ( virtual/acl )
+       ncurses? ( sys-libs/ncurses:= )
+       java? ( >=virtual/jdk-1.8:* )
+       xattr? ( sys-apps/attr )
+"
+RDEPEND="
+       ${DEPEND}
+       git? ( dev-vcs/git )
+       java? ( >=virtual/jre-1.8:* )
+       nls? ( app-i18n/gnulib-l10n )
+"
+BDEPEND="
+       git? ( dev-vcs/git )
+       verify-sig? ( >=sec-keys/openpgp-keys-gettext-20250608 )
+"
+PDEPEND="emacs? ( app-emacs/po-mode )"
+
+MULTILIB_WRAPPED_HEADERS=(
+       # only installed for native ABI
+       /usr/include/gettext-po.h
+
+       /usr/include/autosprintf.h
+       /usr/include/textstyle.h
+       /usr/include/textstyle/stdbool.h
+       /usr/include/textstyle/version.h
+       /usr/include/textstyle/woe32dll.h
+)
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.21-CVE-2020-12825.patch
+)
+
+QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so"
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       java-pkg-opt-2_src_prepare
+
+       default
+
+       # gettext-0.23-no-nls.patch changes gettext-tools/configure.ac and the
+       # corresponding configure scripts. Avoid regenerating other autotools 
output.
+       #touch -c gettext-tools/{aclocal.m4,Makefile.in,config.h.in,configure} 
|| die
+       # Makefile.am adds a dependency on gettext-tools/configure.ac
+       #touch -c configure || die
+
+       # TOOD: Investigate why this fails
+       cat <<-EOF > gettext-tools/tests/autopoint-3 || die
+       #!/bin/sh
+       exit 77
+       EOF
+       chmod +x gettext-tools/tests/autopoint-3 || die
+
+       elibtoolize
+
+       if use elibc_musl || use elibc_Darwin; then
+               eapply "${FILESDIR}"/${PN}-0.21-musl-omit_setlocale_lock.patch
+       fi
+}
+
+multilib_src_configure() {
+       # see https://bugs.gentoo.org/955689
+       append-flags -Wno-error=format-security
+
+       local myconf=(
+               # switches common to runtime and top-level
+               --cache-file="${BUILD_DIR}"/config.cache
+               #--docdir="\$(datarootdir)/doc/${PF}"
+
+               # Emacs support is now in a separate package
+               --without-emacs
+               --without-lispdir
+               # glib depends on us so avoid circular deps
+               --with-included-glib
+               # libcroco depends on glib which ... ^^^
+               --with-included-libcroco
+               # this will _disable_ libunistring (since it is not bundled),
+               # see bug #326477
+               --with-included-libunistring
+               # Never build libintl since it's in dev-libs/libintl now.
+               --without-included-gettext
+               # Never build bundled copy of libxml2.
+               --without-included-libxml
+
+               --disable-csharp
+               --without-cvs
+
+               # TODO: needs help finding our libm2pim.so (finds 32-bit 
version)
+               --disable-modula2
+               # Tests try to access the network
+               --disable-go
+
+               $(use_enable acl)
+               $(use_enable cxx c++)
+               $(use_enable cxx libasprintf)
+               $(use_with git)
+               $(multilib_native_use_enable java)
+               $(use_enable ncurses curses)
+               $(use_enable nls)
+               $(use_enable openmp)
+               $(use_enable static-libs static)
+               $(use_enable xattr attr)
+       )
+
+       local ECONF_SOURCE="${S}"
+       if ! multilib_is_native_abi ; then
+               # for non-native ABIs, we build runtime only
+               ECONF_SOURCE+=/gettext-runtime
+       fi
+
+       econf "${myconf[@]}"
+}
+
+multilib_src_install() {
+       emake DESTDIR="${D}" install
+
+       if multilib_is_native_abi ; then
+               dosym msgfmt /usr/bin/gmsgfmt # bug #43435
+               dobin gettext-tools/misc/gettextize
+       fi
+
+       # 909041 never install libintl which upstream insists on building
+       rm -f "${ED}"/usr/$(get_libdir)/libintl.* "${ED}"/usr/include/libintl.h
+}
+
+multilib_src_install_all() {
+       find "${ED}" -type f -name "*.la" -delete || die
+
+       if use java ; then
+               java-pkg_dojar "${ED}"/usr/share/${PN}/*.jar
+               rm "${ED}"/usr/share/${PN}/*.jar || die
+               rm "${ED}"/usr/share/${PN}/*.class || die
+               if use doc ; then
+                       java-pkg_dojavadoc 
"${ED}"/usr/share/doc/${PF}/html/javadoc2
+               fi
+       fi
+
+       dodoc AUTHORS ChangeLog NEWS README THANKS
+
+       if use doc ; then
+               docinto html
+               dodoc "${ED}"/usr/share/doc/${PF}/*.html
+       else
+               rm -rf 
"${ED}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1}
+       fi
+       rm "${ED}"/usr/share/doc/${PF}/*.html || die
+}
+
+pkg_preinst() {
+       java-pkg-opt-2_pkg_preinst
+}

Reply via email to