sys-devel/gettext: Sync with Gentoo

It's from Gentoo commit 58ab985c8636cee604a043338fd782df7378c93c.
This commit is contained in:
Flatcar Buildbot 2023-11-27 07:14:32 +00:00 committed by Krzesimir Nowak
parent f8880f733c
commit dc4ea0f468
2 changed files with 191 additions and 0 deletions

View File

@ -4,5 +4,7 @@ DIST gettext-0.22.2.tar.xz 10238092 BLAKE2B 337597432af11ba082354e968fa7dd95aa6b
DIST gettext-0.22.2.tar.xz.sig 833 BLAKE2B 47a3480c6ec5b379e2262588a358e69560477c5e8cdc13d82f879bf1c2381c4b176060e6e1d482b0a9b17d497ff5e7c1642646489f3829c879340b939d51de5c SHA512 b40f233d64001b13ab5d5b85bc87424bc873cbbd6e59e797997ed39404325a5a2dc945f7b6a3dfc25becaff788d5dd644779bf505d5141bfa437882931dcf22c DIST gettext-0.22.2.tar.xz.sig 833 BLAKE2B 47a3480c6ec5b379e2262588a358e69560477c5e8cdc13d82f879bf1c2381c4b176060e6e1d482b0a9b17d497ff5e7c1642646489f3829c879340b939d51de5c SHA512 b40f233d64001b13ab5d5b85bc87424bc873cbbd6e59e797997ed39404325a5a2dc945f7b6a3dfc25becaff788d5dd644779bf505d5141bfa437882931dcf22c
DIST gettext-0.22.3.tar.xz 10236340 BLAKE2B 567945a9554f14729835b63587d0ae1e8c1a4538ec039243b525abe4bff9a30cd02d0ddb12f3475f27c6a2a0c6647e52201f2ea34ba60d1867c063c653718785 SHA512 ccfd17d664f02da58b91623845fde23b9763442cb988be979d814aff66d774db87ed7d8b27dcce84bf8f118d85d34f4782ce451c5d3cb5a9484161ba2c3f4209 DIST gettext-0.22.3.tar.xz 10236340 BLAKE2B 567945a9554f14729835b63587d0ae1e8c1a4538ec039243b525abe4bff9a30cd02d0ddb12f3475f27c6a2a0c6647e52201f2ea34ba60d1867c063c653718785 SHA512 ccfd17d664f02da58b91623845fde23b9763442cb988be979d814aff66d774db87ed7d8b27dcce84bf8f118d85d34f4782ce451c5d3cb5a9484161ba2c3f4209
DIST gettext-0.22.3.tar.xz.sig 833 BLAKE2B a329a9b6d9bc8e7dfc4bda748624649f1a4d66fbe5ab4e61038e0e931d5838448bfd93a093b5f4fff8e86f446683ca660f47d8bfd2a0dc27f52f575daaa116ef SHA512 fd3fdbd78e5f86dd1e5d149cac7e7f1ee6c553e1c703bb141906116cb6e8603042128aa64a9dfc06c51841c5748c532219337735911e55c7c99306099fd5d719 DIST gettext-0.22.3.tar.xz.sig 833 BLAKE2B a329a9b6d9bc8e7dfc4bda748624649f1a4d66fbe5ab4e61038e0e931d5838448bfd93a093b5f4fff8e86f446683ca660f47d8bfd2a0dc27f52f575daaa116ef SHA512 fd3fdbd78e5f86dd1e5d149cac7e7f1ee6c553e1c703bb141906116cb6e8603042128aa64a9dfc06c51841c5748c532219337735911e55c7c99306099fd5d719
DIST gettext-0.22.4.tar.xz 10255384 BLAKE2B 3f93aa5aef8e40d2e01acaa5aeed11efefd0de43ea26d084a0b9e743019685f7584d8e1bf05c1fd5772a5576d21ee1f052b81366f52c7827b6d14bd4d9890edc SHA512 0f3620b1621b85b3df9e372885c2f040c8a91ec0b2d4e16978459a8a2a152318a0e6f5fefb8d971bad80c437e7ee8ac8c24edc4de0ab86e729528b8a2ac62c51
DIST gettext-0.22.4.tar.xz.sig 833 BLAKE2B fbb00b53c807934a11263c120861971fffebbd39689eda1fae0fb956476e69c3fb6799440cbf3acfcf43ecea2c134ea4dadb95becbac98badb43e546f3c8e9fb SHA512 a774c98de643b1ea3df645e451878652c2baa5cd786642aa457e6d5f5c44787cb1231eb15ad4390acdf314822633acaffffaa853eb69cbbc72c3b79b547a8854
DIST gettext-0.22.tar.xz 10008808 BLAKE2B e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 SHA512 c6368344aa4e0f6fd7c4a93023a5f7b377c7bb97b8ea688fd54f4c385c069d9ff27611d8763b1aed6328b6d3c4db7b34bd89bfbf6525ecaef11eb58434a4d4fa DIST gettext-0.22.tar.xz 10008808 BLAKE2B e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 SHA512 c6368344aa4e0f6fd7c4a93023a5f7b377c7bb97b8ea688fd54f4c385c069d9ff27611d8763b1aed6328b6d3c4db7b34bd89bfbf6525ecaef11eb58434a4d4fa
DIST gettext-0.22.tar.xz.sig 833 BLAKE2B d1718f02100abc2c7c67e5c6a49000baee5244030fcef33f099fac255562211332b0c7838d329e2cdd2c99c5b4e5d4bfed6da81cdddd86a4adf9f24f626c8704 SHA512 2d4f0ea68150aa9f7da315545bd782f0c74d581ec89f60ca5138d069cc6ef0296f85df6e05f0c7f030dc8660a8db32529d237497473f6cef7c72034adcc58a9b DIST gettext-0.22.tar.xz.sig 833 BLAKE2B d1718f02100abc2c7c67e5c6a49000baee5244030fcef33f099fac255562211332b0c7838d329e2cdd2c99c5b4e5d4bfed6da81cdddd86a4adf9f24f626c8704 SHA512 2d4f0ea68150aa9f7da315545bd782f0c74d581ec89f60ca5138d069cc6ef0296f85df6e05f0c7f030dc8660a8db32529d237497473f6cef7c72034adcc58a9b

View File

@ -0,0 +1,189 @@
# Copyright 1999-2023 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 ~ia64 ~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. #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 )
"
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"
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.21.1-java-autoconf.patch changes
# gettext-{runtime,tools}/configure.ac and the corresponding
# configure scripts. Avoid regenerating other autotools output.
#touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
# Makefile.am adds a dependency on gettext-{runtime,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
}