sys-devel/gettext: Bump to version 0.20
authorLars Wendler <polynomial-c@gentoo.org>
Thu, 9 May 2019 08:29:48 +0000 (10:29 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Thu, 9 May 2019 13:06:22 +0000 (15:06 +0200)
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
sys-devel/gettext/Manifest
sys-devel/gettext/gettext-0.20.ebuild [new file with mode: 0644]

index 83c6b66de3f815bda533452195a6b9ad428f7027..5a17d4f692d81e81eedac4ec678102867668b493 100644 (file)
@@ -1 +1,2 @@
 DIST gettext-0.19.8.1.tar.gz 19704011 BLAKE2B 17dc7aad338a26d71b818fea51e46a47dccf14744ee575ce86b591becaea402e36d64dc018e1a84113c356122ffef367cf2fa424e51ebc9720350040b4960091 SHA512 073042fa2dc48804c58e76f036130a669e19612c25427b0ab14d0b366b549a63751bf3af03bfd0745d7c4f72497a4b2aab26a3cc6de83189ce111679073878e1
+DIST gettext-0.20.tar.gz 23269355 BLAKE2B f3cfcaab7794a10262073d400ea0f8e21d26a2ec9c2b70cc5b493469142ab9d3bfebb3c08e5103f53afe6c48a820440f535151e7bae9a8bb40ca1259bafd0bb0 SHA512 7901039834775878e485544699b14168ec60417dc88a295a6495766cc7222e8972706959e97c3f225aec9c059868f0becdf7a74ecf826e9989b564955ab39063
diff --git a/sys-devel/gettext/gettext-0.20.ebuild b/sys-devel/gettext/gettext-0.20.ebuild
new file mode 100644 (file)
index 0000000..ed1c876
--- /dev/null
@@ -0,0 +1,154 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with dev-libs/libintl.
+
+EAPI=7
+
+inherit epunt-cxx mono-env libtool java-pkg-opt-2 multilib-minimal
+
+DESCRIPTION="GNU locale utilities"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+# 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"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+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.4:= )"
+RDEPEND="${DEPEND}
+       !git? ( cvs? ( dev-vcs/cvs ) )
+       git? ( dev-vcs/git )
+       java? ( >=virtual/jre-1.4 )"
+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
+)
+
+pkg_setup() {
+       mono-env_pkg_setup
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       java-pkg-opt-2_src_prepare
+
+       default
+
+       epunt_cxx
+       elibtoolize
+}
+
+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
+
+               $(use_enable acl)
+               $(use_enable cxx c++)
+               $(use_enable cxx libasprintf)
+               $(use_with git)
+               $(usex git --without-cvs $(use_with cvs))
+               $(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() {
+       default
+
+       if multilib_is_native_abi ; then
+               dosym msgfmt /usr/bin/gmsgfmt #43435
+               dobin gettext-tools/misc/gettextize
+       fi
+}
+
+multilib_src_install_all() {
+       if ! use nls ; then
+               rm -r "${ED}"/usr/share/locale || die
+       fi
+       if ! use static-libs ; then
+               find "${ED}" -type f -name "*.la" -delete || die
+       fi
+
+       rm -f "${ED}"/usr/share/locale/locale.alias "${ED}"/usr/lib/charset.alias
+
+       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}/javadoc2
+                       rm -r"${ED}"/usr/share/doc/${PF}/javadoc2 || die
+               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
+}