summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-10-11 18:52:34 +0100
committerSam James <sam@gentoo.org>2022-10-11 18:53:26 +0100
commitb4ef2ad1464f8f68efc1f70dc78a52a51169f837 (patch)
tree979d5fee19ce801531b551747cfb5f52eee2849e /sys-devel/gettext
parentdev-lang/python: build CBUILD Python for cross in older versions (diff)
downloadgentoo-b4ef2ad1464f8f68efc1f70dc78a52a51169f837.tar.gz
gentoo-b4ef2ad1464f8f68efc1f70dc78a52a51169f837.tar.bz2
gentoo-b4ef2ad1464f8f68efc1f70dc78a52a51169f837.zip
sys-devel/gettext: add 0.21.1
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-devel/gettext')
-rw-r--r--sys-devel/gettext/Manifest3
-rw-r--r--sys-devel/gettext/files/gettext-0.21.1-java-autoconf.patch65
-rw-r--r--sys-devel/gettext/gettext-0.21.1.ebuild178
3 files changed, 246 insertions, 0 deletions
diff --git a/sys-devel/gettext/Manifest b/sys-devel/gettext/Manifest
index 653a9cf0788c..d394ca6c126b 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -1,2 +1,5 @@
+DIST gettext-0.21.1-java-autoconf-regenerate.patch.xz 156632 BLAKE2B d1177ec194525019a3a95ae279983c652346549705cba429bb3ce62e73acab9d6c6d5ebcc100d00e1aa9598a54ac7bc4edb17fa416e5c8ad873caead8280f92e SHA512 d46e2a90000831857164e002c01b93094aa8b99a9fde0b21b9bed0747f35c239da70b0dd58227b9559f756fbf8f5a66bf84c8e2f44e7e53c68964cbe033c29b2
+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.21.tar.xz 9714352 BLAKE2B e36418323c79f582d13777083b455ae76ccb29e41a8259a2f4d6d9f5d8e2ac7c8ecc4df1b1fa2e9838c819cb27345fe254772398bdb88b3315410866048f755a SHA512 f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf
DIST gettext-0.21.tar.xz.sig 819 BLAKE2B 22a6e5f6e8a6322e24db9c1f575754bccbf6c7cff7cd14cb51ae8f5cf17cd7b677d8ecfc6b876e1b6f8d62077d568cbf57930e1d8accc5306e6869d3c6560bf4 SHA512 67c9515ad5e11773a28599d517dd84131e4afd878d67e97f505cd024e290518ca9cffff7446c62f88b56aea2c7234d11811738e8e2a076b2159f24c2f6809703
diff --git a/sys-devel/gettext/files/gettext-0.21.1-java-autoconf.patch b/sys-devel/gettext/files/gettext-0.21.1-java-autoconf.patch
new file mode 100644
index 000000000000..4ba6f48efccd
--- /dev/null
+++ b/sys-devel/gettext/files/gettext-0.21.1-java-autoconf.patch
@@ -0,0 +1,65 @@
+From b8fc039e4266570f5af5ee1c2cd201369a766f1e Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 11 Oct 2022 01:54:44 +0200
+Subject: [PATCH] Avoid warnings during configure execution with
+ --disable-java.
+
+Reported by Sam James <sam@cmpct.info>
+in <https://savannah.gnu.org/bugs/?63193>.
+
+* gettext-runtime/configure.ac: Expand gt_JAVACOMP_DISABLED inline.
+* gettext-tools/configure.ac: Expand gt_JAVAEXEC_DISABLED and
+gt_JAVACOMP_DISABLED inline.
+--- a/gettext-runtime/configure.ac
++++ b/gettext-runtime/configure.ac
+@@ -42,7 +42,16 @@ AS_IF([test "$JAVA_CHOICE" != no], [
+ BUILDJAVA=no
+ fi
+ ], [
+- gt_JAVACOMP_DISABLED
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
++ AC_SUBST([CONF_JAVAC])
++ AC_SUBST([HAVE_JAVAC_ENVVAR])
++ AC_SUBST([HAVE_GCJ_C])
++ AC_SUBST([HAVE_JAVAC])
++ AC_SUBST([HAVE_JIKES])
+ JAR=
+ BUILDJAVA=no
+ ])
+--- a/gettext-tools/configure.ac
++++ b/gettext-tools/configure.ac
+@@ -43,8 +43,28 @@ AS_IF([test "$JAVA_CHOICE" != no], [
+ BUILDJAVA=no
+ fi
+ ], [
+- gt_JAVAEXEC_DISABLED
+- gt_JAVACOMP_DISABLED
++ CONF_JAVA=
++ HAVE_JAVA_ENVVAR=
++ HAVE_GIJ=
++ HAVE_JAVA=
++ HAVE_JRE=
++ HAVE_JVIEW=
++ AC_SUBST([CONF_JAVA])
++ AC_SUBST([HAVE_JAVA_ENVVAR])
++ AC_SUBST([HAVE_GIJ])
++ AC_SUBST([HAVE_JAVA])
++ AC_SUBST([HAVE_JRE])
++ AC_SUBST([HAVE_JVIEW])
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
++ AC_SUBST([CONF_JAVAC])
++ AC_SUBST([HAVE_JAVAC_ENVVAR])
++ AC_SUBST([HAVE_GCJ_C])
++ AC_SUBST([HAVE_JAVAC])
++ AC_SUBST([HAVE_JIKES])
+ JAR=
+ BUILDJAVA=no
+ ])
diff --git a/sys-devel/gettext/gettext-0.21.1.ebuild b/sys-devel/gettext/gettext-0.21.1.ebuild
new file mode 100644
index 000000000000..2783e6d936d3
--- /dev/null
+++ b/sys-devel/gettext/gettext-0.21.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2022 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
+
+if [[ ${PV} != 0.21.1 ]] ; then
+ die "Restore elibtoolize in src_prepare and delete src_unpack."
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gettext.asc
+inherit java-pkg-opt-2 multilib-minimal verify-sig
+
+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"
+ SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz.sig )"
+ S="${WORKDIR}/${P/_/-}"
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-java-autoconf-regenerate.patch.xz"
+ SRC_URI+=" 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+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 cvs +cxx doc emacs git java ncurses nls openmp static-libs"
+
+# 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:0= )
+ java? ( virtual/jdk:1.8 )"
+RDEPEND="${DEPEND}
+ !git? ( cvs? ( dev-vcs/cvs ) )
+ git? ( dev-vcs/git )
+ java? ( virtual/jre:1.8 )"
+BDEPEND="
+ !git? ( cvs? ( dev-vcs/cvs ) )
+ 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.19.7-disable-libintl.patch #564168
+ "${FILESDIR}"/${PN}-0.20-parallel_install.patch #685530
+ "${FILESDIR}"/${PN}-0.21_rc1-avoid_eautomake.patch
+ "${FILESDIR}"/${PN}-0.21-CVE-2020-12825.patch
+ "${FILESDIR}"/${P}-java-autoconf.patch
+ "${WORKDIR}"/${P}-java-autoconf-regenerate.patch
+)
+
+QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig ; then
+ verify-sig_verify_detached "${DISTDIR}"/gettext-0.21.1.tar.xz{,.sig}
+ fi
+
+ default
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ default
+ #elibtoolize
+
+ use elibc_musl && eapply "${FILESDIR}"/${PN}-0.21-musl-omit_setlocale_lock.patch
+}
+
+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
+
+ $(use_enable acl)
+ $(use_enable cxx c++)
+ $(use_enable cxx libasprintf)
+ $(use_with git)
+ $(usex git --without-cvs $(use_with cvs))
+ $(multilib_native_use_enable java)
+ $(use_enable ncurses curses)
+ $(use_enable nls)
+ $(use_enable openmp)
+ $(use_enable static-libs static)
+ )
+
+ 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 #43435
+ dobin gettext-tools/misc/gettextize
+ fi
+}
+
+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
+}