| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/gettext-0.18.3.2.ebuild,v 1.15 2014/06/18 20:47:33 mgorny Exp $ |
| |
| EAPI="4" |
| |
| inherit flag-o-matic eutils multilib toolchain-funcs mono-env libtool java-pkg-opt-2 multilib-minimal |
| |
| DESCRIPTION="GNU locale utilities" |
| HOMEPAGE="http://www.gnu.org/software/gettext/" |
| SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" |
| |
| LICENSE="GPL-3 LGPL-2" |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="acl -cvs doc emacs git java nls +cxx ncurses openmp static-libs elibc_glibc" |
| |
| # only runtime goes multilib |
| DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] |
| dev-libs/libxml2 |
| dev-libs/expat |
| acl? ( virtual/acl ) |
| ncurses? ( sys-libs/ncurses ) |
| java? ( >=virtual/jdk-1.4 )" |
| RDEPEND="${DEPEND} |
| !git? ( cvs? ( dev-vcs/cvs ) ) |
| git? ( dev-vcs/git ) |
| java? ( >=virtual/jre-1.4 ) |
| abi_x86_32? ( |
| !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] |
| !<=app-emulation/emul-linux-x86-baselibs-20131008-r11 |
| )" |
| PDEPEND="emacs? ( app-emacs/po-mode )" |
| |
| MULTILIB_WRAPPED_HEADERS=( |
| # only installed for native ABI |
| /usr/include/gettext-po.h |
| ) |
| |
| 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 ; then |
| myconf+=( |
| --without-included-gettext |
| $(use_enable nls) |
| ) |
| else |
| myconf+=( |
| --with-included-gettext |
| --enable-nls |
| ) |
| fi |
| use cxx || export CXX=$(tc-getCC) |
| |
| # Should be able to drop this hack in next release. #333887 |
| tc-is-cross-compiler && export gl_cv_func_working_acl_get_file=yes |
| |
| 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() { |
| # older gettext's sometimes installed libintl ... |
| # need to keep the linked version or the system |
| # could die (things like sed link against it :/) |
| preserve_old_lib /{,usr/}$(get_libdir)/libintl$(get_libname 7) |
| |
| java-pkg-opt-2_pkg_preinst |
| } |
| |
| pkg_postinst() { |
| preserve_old_lib_notify /{,usr/}$(get_libdir)/libintl$(get_libname 7) |
| } |