diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest index d2a94fb89a..25236cd1b8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest @@ -10,3 +10,5 @@ DIST gettext-0.25.1.tar.xz 9930836 BLAKE2B 8a1e512b9bcfa196dcf138e80844766fe35d6 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 +DIST gettext-1.0.tar.xz 10721600 BLAKE2B 052bd847c8cdb963437613583256e430b52e27e5ebe29a04df6ac549552ab0f85a1e637b991ebb57e82805fb6d2d23f37c4b70d7f711dc086f57a3a32ba3f00e SHA512 fa657faf5685dae7121a9b0293d3308a3910a72b90943a7a493b88cf88e95f29c5758e1573320169fe9beac6f101ef76f4165a279a7f3294155d7a773e2fa09f +DIST gettext-1.0.tar.xz.sig 228 BLAKE2B 7716edc683b32b2af5476963d555e681285e8a750f66056badcfa2caa01c41655866a8ed0f7ad61914aee82cd70252cc36c4e19af6eea0a0a0ffdf07a20c4d4a SHA512 2673cbacea48b257702c1aed16ef6b685a43f3f8cc8c5bcce5531c70930d5aa47a09bf79d5e3c5261c9cccd7c72a8b74cc40ef33ba3363695df8153d7e4eb66b diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-1.0-fix-syntax-error.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-1.0-fix-syntax-error.patch new file mode 100644 index 0000000000..a29eff2e93 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-1.0-fix-syntax-error.patch @@ -0,0 +1,46 @@ +https://savannah.gnu.org/bugs/?67987 +- rebased Changelog entry +- duplicated hunk to match duplicated gnulib in tarball + +From: Bruno Haible +Date: Thu, 29 Jan 2026 19:04:32 +0100 +Subject: [PATCH] relocatable-prog-wrapper: Fix syntax error on Linux (regr. 2025-12-09). + +Reported by Erik Schnetter +at . + +* lib/progreloc.c (find_executable): Remove extraneous brace. + +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,10 @@ ++2026-01-29 Bruno Haible ++ ++ relocatable-prog-wrapper: Fix syntax error on Linux (regr. 2025-12-09). ++ Reported by Erik Schnetter ++ at . ++ * lib/progreloc.c (find_executable): Remove extraneous brace. ++ + 2026-01-29 Bruno Haible + + examples: Use infrastructure from gettext version 1.0. +--- a/gettext-tools/gnulib-lib/progreloc.c ++++ b/gettext-tools/gnulib-lib/progreloc.c +@@ -259,7 +259,6 @@ find_executable (const char *argv0) + char *link = xreadlink (buf); + if (link != NULL && link[0] != '[') + return link; +- } + if (executable_fd < 0) + executable_fd = open (buf, O_EXEC | O_CLOEXEC, 0); + } +--- a/gettext-runtime/gnulib-lib/progreloc.c ++++ b/gettext-runtime/gnulib-lib/progreloc.c +@@ -259,7 +259,6 @@ find_executable (const char *argv0) + char *link = xreadlink (buf); + if (link != NULL && link[0] != '[') + return link; +- } + if (executable_fd < 0) + executable_fd = open (buf, O_EXEC | O_CLOEXEC, 0); + } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild new file mode 100644 index 0000000000..5194846322 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2026 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 ~arm64-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 + "${FILESDIR}"/${PN}-1.0-fix-syntax-error.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.25-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/po-fetch + 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 +}