sys-devel/gettext: Sync with Gentoo

It's from Gentoo commit a3fcbde55ba3ab8a0faf9c28c72449c8dda0cb78.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-05-11 08:19:05 +00:00
parent 4499372521
commit d6808b63d5
3 changed files with 250 additions and 0 deletions

View File

@ -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

View File

@ -0,0 +1,46 @@
https://savannah.gnu.org/bugs/?67987
- rebased Changelog entry
- duplicated hunk to match duplicated gnulib in tarball
From: Bruno Haible <bruno@clisp.org>
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 <schnetter@gmail.com>
at <https://savannah.gnu.org/bugs/?67987>.
* lib/progreloc.c (find_executable): Remove extraneous brace.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2026-01-29 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Fix syntax error on Linux (regr. 2025-12-09).
+ Reported by Erik Schnetter <schnetter@gmail.com>
+ at <https://savannah.gnu.org/bugs/?67987>.
+ * lib/progreloc.c (find_executable): Remove extraneous brace.
+
2026-01-29 Bruno Haible <bruno@clisp.org>
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);
}

View File

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