blob: e0a0742348c0d909753969a41ed59d7ab832694e [file] [log] [blame]
# 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)
}