diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-10-12 18:48:04 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-10-12 20:14:30 -0400 |
commit | 6f335eec6576a76ea4f308a59051099f42ae4821 (patch) | |
tree | 21e6c1482b3f7f9baf4c6ee34e692c7d6c025632 /sys-devel | |
parent | sys-devel/gettext: sort IUSE properly (diff) | |
download | gentoo-6f335eec6576a76ea4f308a59051099f42ae4821.tar.gz gentoo-6f335eec6576a76ea4f308a59051099f42ae4821.tar.bz2 gentoo-6f335eec6576a76ea4f308a59051099f42ae4821.zip |
sys-devel/gettext: bump EAPI to use subslots on libs #562584
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gettext/gettext-0.19.6-r1.ebuild | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/sys-devel/gettext/gettext-0.19.6-r1.ebuild b/sys-devel/gettext/gettext-0.19.6-r1.ebuild new file mode 100644 index 000000000000..1427822359c4 --- /dev/null +++ b/sys-devel/gettext/gettext-0.19.6-r1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils toolchain-funcs 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" + +LICENSE="GPL-3+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="acl -cvs +cxx doc emacs git java ncurses nls openmp static-libs elibc_glibc elibc_musl" + +# only runtime goes multilib +# 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}] + dev-libs/libxml2:= + 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 +) + +pkg_setup() { + mono-env_pkg_setup + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + java-pkg-opt-2_src_prepare + + epunt_cxx + elibtoolize +} + +multilib_src_configure() { + local myconf=( + # switches common to runtime and top-level + --cache-file="${BUILD_DIR}"/config.cache + --docdir="/usr/share/doc/${PF}" + + $(use_enable cxx libasprintf) + $(use_enable java) + $(use_enable static-libs static) + ) + + # Build with --without-included-gettext (on glibc systems) + if use elibc_glibc || use elibc_musl ; then + myconf+=( + --without-included-gettext + $(use_enable nls) + ) + else + myconf+=( + --with-included-gettext + --enable-nls + ) + fi + use cxx || export CXX=$(tc-getCC) + + local ECONF_SOURCE=${S} + if ! multilib_is_native_abi ; then + # for non-native ABIs, we build runtime only + ECONF_SOURCE+=/gettext-runtime + else + # remaining switches + myconf+=( + # 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 + + $(use_enable acl) + $(use_enable ncurses curses) + $(use_enable openmp) + $(use_with git) + $(usex git --without-cvs $(use_with cvs)) + ) + fi + + econf "${myconf[@]}" +} + +multilib_src_install() { + default + + if multilib_is_native_abi ; then + dosym msgfmt /usr/bin/gmsgfmt #43435 + dobin gettext-tools/misc/gettextize + + [[ ${USERLAND} == "BSD" ]] && gen_usr_ldscript -a intl + fi +} + +multilib_src_install_all() { + use nls || rm -r "${D}"/usr/share/locale + use static-libs || prune_libtool_files --all + + rm -f "${D}"/usr/share/locale/locale.alias "${D}"/usr/lib/charset.alias + + if use java ; then + java-pkg_dojar "${D}"/usr/share/${PN}/*.jar + rm -f "${D}"/usr/share/${PN}/*.jar + rm -f "${D}"/usr/share/${PN}/*.class + if use doc ; then + java-pkg_dojavadoc "${D}"/usr/share/doc/${PF}/javadoc2 + rm -rf "${D}"/usr/share/doc/${PF}/javadoc2 + fi + fi + + if use doc ; then + dohtml "${D}"/usr/share/doc/${PF}/*.html + else + rm -rf "${D}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1} + fi + rm -f "${D}"/usr/share/doc/${PF}/*.html + + dodoc AUTHORS ChangeLog NEWS README THANKS +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} |