summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-09-19 10:06:23 +0100
committerSam James <sam@gentoo.org>2023-09-19 10:06:28 +0100
commit976ecacaa07a4fc989395fa861ead100a11da207 (patch)
treec71ed89184c06c69fbd82ccab4c0730f5f069ed1 /sys-devel/gettext
parentdev-libs/libintl: add 0.22.1 (diff)
downloadgentoo-976ecacaa07a4fc989395fa861ead100a11da207.tar.gz
gentoo-976ecacaa07a4fc989395fa861ead100a11da207.tar.bz2
gentoo-976ecacaa07a4fc989395fa861ead100a11da207.zip
sys-devel/gettext: add 0.22.1
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-devel/gettext')
-rw-r--r--sys-devel/gettext/Manifest2
-rw-r--r--sys-devel/gettext/gettext-0.22.1.ebuild189
2 files changed, 191 insertions, 0 deletions
diff --git a/sys-devel/gettext/Manifest b/sys-devel/gettext/Manifest
index 546310d160dc..7b53d5d7aabc 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -1,4 +1,6 @@
DIST gettext-0.21.1.tar.xz 10054564 BLAKE2B e994924284b3fd5b3e3bf59d4bf43eb30c9b21cc213dc3b98616b4a9fc321c90911d94d314f323cfffd0d2c3e9371b5b8f7985b9a785adc61617dd042b6f4df5 SHA512 61e93bc9876effd3ca1c4e64ff6ba5bd84b24951ec2cc6f40a0e3248410e60f887552f29ca1f70541fb5524f6a4e8191fed288713c3e280e18922dd5bff1a2c9
DIST gettext-0.21.1.tar.xz.sig 833 BLAKE2B f673436d315e972f9e110a1b5c8d1b2f20a32fc1b7ce027fcd3bc2fe7a81af183fb8db744cbed1a8c3a6ce1a13d55e19a8e8829fc944960fbfc7efcd9aaed91c SHA512 fba912830c57d0616fb66cf81da0cb7a3ab1e27497c45daa63249d3c9f85182a4f42dfeb1591d8f31c2a340ba0c519f04fd2f05429d1cf26a3ea316d047993d0
+DIST gettext-0.22.1.tar.xz 10229080 BLAKE2B c64dcdc88d2d5db73b4e1779ccb4e0910355f169506b16d303a2db3b1a7ef83aa6e1866d20ce47f598874737d769098f371b18e947dc6b053f7a85d304ea1780 SHA512 03c5d7d791ac45d46d2e6d0fdbea0eaafc91fa7f067841124da7c4abd9e967f78c80608cd75aeeff7c1b6a944f4345a32cd1b465d5d5111be0ec92de475821c0
+DIST gettext-0.22.1.tar.xz.sig 833 BLAKE2B 069a25c0b11c4ef8ef43e28c13271484fc55d75ddef53c709c57b31e150984bfdd54891f047187f27993770165392bdf698c70498e5bdded4611f8db8dd5d0d4 SHA512 86b43852bc465a98b4fdd5ccd156f6666b57775ecfb0f8de12b653cf3c8f86ab8a21cf9094e8e7d1f07fc520d01f2cfd9d48c81ed31a173093ed5eaa684671d8
DIST gettext-0.22.tar.xz 10008808 BLAKE2B e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 SHA512 c6368344aa4e0f6fd7c4a93023a5f7b377c7bb97b8ea688fd54f4c385c069d9ff27611d8763b1aed6328b6d3c4db7b34bd89bfbf6525ecaef11eb58434a4d4fa
DIST gettext-0.22.tar.xz.sig 833 BLAKE2B d1718f02100abc2c7c67e5c6a49000baee5244030fcef33f099fac255562211332b0c7838d329e2cdd2c99c5b4e5d4bfed6da81cdddd86a4adf9f24f626c8704 SHA512 2d4f0ea68150aa9f7da315545bd782f0c74d581ec89f60ca5138d069cc6ef0296f85df6e05f0c7f030dc8660a8db32529d237497473f6cef7c72034adcc58a9b
diff --git a/sys-devel/gettext/gettext-0.22.1.ebuild b/sys-devel/gettext/gettext-0.22.1.ebuild
new file mode 100644
index 000000000000..3fc8822689b6
--- /dev/null
+++ b/sys-devel/gettext/gettext-0.22.1.ebuild
@@ -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="${BROOT}"/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
+}