sys-devel/gettext: add 0.23.1

Closes: https://bugs.gentoo.org/948149
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-02-09 06:07:17 +00:00
parent 4d64755ca9
commit efa79765d6
2 changed files with 201 additions and 0 deletions

View File

@@ -4,5 +4,7 @@ DIST gettext-0.22.4.tar.xz 10255384 BLAKE2B 3f93aa5aef8e40d2e01acaa5aeed11efefd0
DIST gettext-0.22.4.tar.xz.sig 833 BLAKE2B fbb00b53c807934a11263c120861971fffebbd39689eda1fae0fb956476e69c3fb6799440cbf3acfcf43ecea2c134ea4dadb95becbac98badb43e546f3c8e9fb SHA512 a774c98de643b1ea3df645e451878652c2baa5cd786642aa457e6d5f5c44787cb1231eb15ad4390acdf314822633acaffffaa853eb69cbbc72c3b79b547a8854
DIST gettext-0.22.5.tar.xz 10270724 BLAKE2B 18c383518f5a78b5c04cf76de976524da2a87a892a30d6386778bb4c7dd526ffc3f14f484906c5d3a513b7caf76ea560e53962b325e552182d6940055d798f24 SHA512 a60999bb9d09441f138214d87acb7e59aab81e765bb9253a77c54902681c5de164a5a04de2a9778dfb479dbdefaab2d5de1fbaf6095c555c43e7e9fd7a1c09bd
DIST gettext-0.22.5.tar.xz.sig 833 BLAKE2B bb3e5ced34ab109f498347a3567103fe3491f69addb4a5ce25bf854fae1a11340eef1a9826b369d2416b53e5f7065aeebdb1609615f064cf7fb4151e82a5b4e5 SHA512 87f1df69206702be928b09a59a19ae4c23072cbc78ea16e76bfc4c929de76a3c0bb8e4eb2c3100c6e7b3b51d23e3b0e484c7e1d576ba7e25fd887934dc9ed8f7
DIST gettext-0.23.1.tar.xz 11038556 BLAKE2B 08d10340f3d855a87a96594c6f2dcf72925394f02e86235090f8d272e0a27ce32e57a0fbaed61aaf61d7328ff30be076dccaecaa13832d8db3ec0a51786780b9 SHA512 d75908f73eabe36c01d72d342ca694dbefad5f43da54f0ccb43bfd0518baff5becc8f50e787f21fadb7c29b3123638e4559334ea4f8e48a97107e8c5e22453b6
DIST gettext-0.23.1.tar.xz.sig 833 BLAKE2B 7ab3c5b76825fcd71371f25f0cc3d79704c5ae405f153917901f583f5780f3707f622522b2bac89dbf32a7bf281216ad7469608af490ad6072f12c81e472200a SHA512 8aa2ba38d863d15a91b526b8b22d5aa54e07bc9cf716a551338d4f7f4230288bfa1234d4628e28fcdb4dc4050786a233a194197ca247d98c939e4d06bca4c230
DIST gettext-0.23.tar.xz 11053572 BLAKE2B 208e5a73ed021c22357b1a1f0324dd7c9fa14b458b610c6f2fbd85f6541dd2bc23179c63dcd43000689482d8a6337f5255f501581d67ee2338ef3d50ec5e9c2e SHA512 1de09c0a83b1b4bb810abacbaf7c3e0fedbfbddea1cf7c89df3838c5f0a14cf58d686eb5876cfae302acb31c93beefb61a12c8a889a998fd235798699dc2c155
DIST gettext-0.23.tar.xz.sig 833 BLAKE2B 5da93144e3d2eb745729b3f2d68e85ad508214b62694a22da7d37c6a3c9eaacd0d44339564b6373690dce29d9140a8af31ccea9e61726d2651ecc8234405b681 SHA512 25a6a2d1d9eb406b2be036b01f709a0badb84b70e23908c51fcbc1e26836510748f9623a075622271962d37bb859d4553755c6ed9832c1f39742ae1179b9292a

View File

@@ -0,0 +1,199 @@
# 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 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).
#
# Note: expat lacks a subslot because it is dynamically loaded at runtime. We
# would depend on older subslots if they were available (based on the ABIs that
# are explicitly handled), but expat doesn't currently use subslots.
DEPEND="
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
>=dev-libs/libxml2-2.9.3:=
dev-libs/expat
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 )
"
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"
QA_CONFIG_IMPL_DECL_SKIP=(
# bug #898570
unreachable
MIN
alignof
static_assert
)
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
elibtoolize
if use elibc_musl || use elibc_Darwin; then
eapply "${FILESDIR}"/${PN}-0.21-musl-omit_setlocale_lock.patch
fi
}
multilib_src_configure() {
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
$(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
}