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