blob: bdd3f89bff687c03af5c81b44dd83e84a0e109ca [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
KDE_REQUIRED="optional"
CMAKE_REQUIRED="never"
GCONF_DEBUG="no" # debug managed by the ebuild
inherit eutils kde4-base gnome2
# gnome2 at the end to make it default
DESCRIPTION="H.323 and SIP VoIP softphone"
HOMEPAGE="http://www.ekiga.org/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ia64 ppc ppc64 ~sparc x86"
IUSE="avahi dbus debug doc eds gconf gnome gstreamer h323 kde kontact ldap
libnotify cpu_flags_x86_mmx nls pulseaudio +shm static v4l xcap xv"
RDEPEND=">=dev-libs/glib-2.24.0:2
>=dev-libs/boost-1.49
dev-libs/libxml2:2
>=net-libs/opal-3.10.9[sip,sound,video,debug=,h323?,xml]
>=net-libs/ptlib-2.10.9[ldap?,stun,v4l?,video,wav,debug=,dtmf,pulseaudio?,xml]
>=x11-libs/gtk+-2.20.0:2
>=x11-themes/gnome-icon-theme-3.0.0
avahi? ( >=net-dns/avahi-0.6[dbus] )
dbus? ( >=sys-apps/dbus-0.36
>=dev-libs/dbus-glib-0.36 )
eds? ( >=gnome-extra/evolution-data-server-1.2 )
gconf? ( >=gnome-base/gconf-2.6.0:2 )
gnome? ( || ( >=x11-libs/gtk+-2.20.0:2
( >=gnome-base/libgnome-2.14.0
>=gnome-base/libgnomeui-2.14.0 ) ) )
gstreamer? ( >=media-libs/gst-plugins-base-0.10.21.3:0.10 )
kde? ( kontact? ( $(add_kdebase_dep kdepimlibs) ) )
ldap? ( dev-libs/cyrus-sasl:2
net-nds/openldap )
libnotify? ( x11-libs/libnotify )
shm? ( x11-libs/libXext )
xcap? ( net-libs/libsoup:2.4 )
xv? ( x11-libs/libXv )"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
virtual/pkgconfig
sys-devel/gettext
doc? ( app-text/scrollkeeper
app-text/gnome-doc-utils
app-doc/doxygen )
v4l? ( sys-kernel/linux-headers )"
DOCS="AUTHORS ChangeLog FAQ MAINTAINERS NEWS README TODO"
# NOTES:
# having >=gtk+-2.14 is actually removing need of +gnome but it's clearer to
# represent it with || in gnome dep
# TODO: gnome2 eclass add --[dis|en]able-gtk-doc wich throws a QA warning
# a patch has been submitted, see bug 262491
# ptlib/opal needed features are not checked by ekiga, upstream bug 577249
# +doc is not installing dev doc (doxygen)
# UPSTREAM:
# contact ekiga team to be sure intltool and gettext are not nls deps
pkg_setup() {
forceconf=""
if use kde; then
kde4-base_pkg_setup
fi
if use kontact && ! use kde; then
ewarn "To enable kontact USE flag, you need kde USE flag to be enabled."
ewarn "If you need kontact support, please, re-emerge with kde enabled."
forceconf="${forceconf} --disable-kab"
fi
# dbus-service: always enable if dbus is enabled, no reason to disable it
# schemas-install: install gconf schemas
G2CONF="${G2CONF}
--disable-dependency-tracking
--disable-maintainer-mode
--enable-libtool-lock
$(use_enable avahi)
$(use_enable dbus)
$(use_enable dbus dbus_service)
$(use_enable debug gtk-debug)
$(use_enable debug opal-debug)
$(use_enable doc gdu)
$(use_enable eds)
$(use_enable gconf)
$(use_enable gconf schemas-install)
$(use_enable gstreamer)
$(use_enable h323)
$(use_enable kde)
$(use_enable kontact kab)
$(use_enable ldap)
$(use_enable libnotify notify)
$(use_enable cpu_flags_x86_mmx mmx)
$(use_enable nls)
$(use_enable shm)
$(use_enable static static-libs)
$(use_enable xcap)
$(use_enable xv)
${forceconf}"
}
src_prepare() {
gnome2_src_prepare
# remove call to gconftool-2 --shutdown, upstream bug 555976
# gnome-2 eclass is reloading schemas with SIGHUP
sed -i -e '/gconftool-2 --shutdown/d' Makefile.in || die "sed failed"
# V4L support is auto-enabled, want it to be a user choice
# do not contact upstream because that's a hack
# TODO: check if upstream has removed this hack
if ! use v4l; then
sed -i -e "s/V4L=\"enabled\"/V4L=\"disabled\"/" configure \
|| die "sed failed"
fi
# compatibility with kdeprefix, fix bug 283033
if use kde; then
sed -i -e "s:\tKDE_CFLAGS=\(.*\):\tKDE_CFLAGS=\"\1 -I${KDEDIR}/include\":" \
configure || die "sed failed"
sed -i -e "s:\(KDE_LIBS=.*\)\(-lkdeui\):\1-L${KDEDIR}/$(get_libdir) \2:" \
configure || die "sed failed"
fi
# Remove silly -D*_DISABLE_DEPRECATED CFLAGS
sed -e 's/-D[^\s\t]\+_DISABLE_DEPRECATED//g' -i configure || die
}
src_test() {
# must be explicit because kde4-base in exporting a src_test function
emake -j1 check || die "emake check failed"
}
src_install() {
gnome2_src_install
if use doc && use dbus; then
insinto "/usr/share/doc/${PF}/"
doins doc/using_dbus.html || die "doins failed"
fi
}
pkg_postinst() {
gnome2_pkg_postinst
if use kde; then
kde4-base_pkg_postinst
fi
if ! use gnome; then
ewarn "USE=-gnome is experimental, weirdness with UI and config keys can appear."
fi
if use gstreamer || use kde || use xcap || use kontact; then
ewarn "You have enabled gstreamer, kde, xcap or kontact USE flags."
ewarn "Those USE flags are considered experimental features."
fi
}
pkg_postrm() {
gnome2_pkg_postrm
if use kde; then
kde4-base_pkg_postrm
fi
}