summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir Lamouri <volkmar@gentoo.org>2009-04-29 09:58:35 +0000
committerMounir Lamouri <volkmar@gentoo.org>2009-04-29 09:58:35 +0000
commit22a0be8ef3a55f212bb42cbf7dad591099e5b0bc (patch)
tree6e12f6ea9fa8866efd0b31031ec237af5a3795c9 /net-voip
parentnet-libs/ortp: removing, linphone-2.1.1-r1 makes it useless (diff)
downloadvoip-22a0be8ef3a55f212bb42cbf7dad591099e5b0bc.tar.gz
voip-22a0be8ef3a55f212bb42cbf7dad591099e5b0bc.tar.bz2
voip-22a0be8ef3a55f212bb42cbf7dad591099e5b0bc.zip
move ekiga from net-im to net-voip
svn path=/trunk/; revision=853
Diffstat (limited to 'net-voip')
-rw-r--r--net-voip/ekiga/ChangeLog37
-rw-r--r--net-voip/ekiga/Manifest12
-rw-r--r--net-voip/ekiga/ekiga-3.0.2.ebuild148
-rw-r--r--net-voip/ekiga/ekiga-3.2.0-r2.ebuild197
-rw-r--r--net-voip/ekiga/files/ekiga-3.0.2-ptracing.patch148
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.0-configure.patch329
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.0-preferences.patch24
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.0-ptracing.patch137
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.0-stun.patch19
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.0-xcap.patch77
-rw-r--r--net-voip/ekiga/metadata.xml13
11 files changed, 1141 insertions, 0 deletions
diff --git a/net-voip/ekiga/ChangeLog b/net-voip/ekiga/ChangeLog
new file mode 100644
index 0000000..11e651e
--- /dev/null
+++ b/net-voip/ekiga/ChangeLog
@@ -0,0 +1,37 @@
+# ChangeLog for net-voip/ekiga
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 18 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> -ekiga-3.2.0-r1.ebuild,
+ +ekiga-3.2.0-r2.ebuild, +ekiga-3.2.0-stun.patch,
+ +ekiga-3.2.0-preferences.patch:
+ Fix stun bug. Fix preferences bug. Add ~amd64 keyword.
+
+ 18 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> ekiga-3.2.0-r1.ebuild,
+ ekiga-3.2.0-configure.patch:
+ Fixing kde-4 support
+
+ 17 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> ekiga-3.2.0-r1.ebuild:
+ Remove kde-3 support and update kde dependencies.
+
+ 16 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> -ekiga-3.2.0.ebuild,
+ +ekiga-3.2.0-r1.ebuild, metadata.xml:
+ Add gstreamer support, fix cyrus-sasl dep, add a warning about breaking kde
+ USE flag. Bump to -r1.
+
+*ekiga-3.2.0 (29 Mar 2009)
+
+ 29 Mar 2009; Mounir Lamouri (volkmar) <mounir.lamouri@gmail.com>
+ +ekiga-3.2.0.ebuild:
+ Version bump to 3.2.0
+
+ 18 Mar 2009; Mounir Lamouri (volkmar) <mounir.lamouri@gmail.com>
+ ekiga-3.0.2:
+ Add ~x86 keyword
+
+*ekiga-3.0.2 (18 Mar 2009)
+
+ 18 Mar 2009; Mounir Lamouri (volkmar) <mounir.lamouri@gmail.com>
+ +ekiga-3.0.2.ebuild:
+ New ekiga ebuild, see bug 238554
+
diff --git a/net-voip/ekiga/Manifest b/net-voip/ekiga/Manifest
new file mode 100644
index 0000000..e235adb
--- /dev/null
+++ b/net-voip/ekiga/Manifest
@@ -0,0 +1,12 @@
+AUX ekiga-3.0.2-ptracing.patch 5708 RMD160 1031c2a8fa5b2ade6ceb513a56e9b5ae95a60809 SHA1 419c06ac2058943bea9fa21f96b231cc11b9fdba SHA256 1a83b04db2ab039c616ccf1b4f1071290b08d64a4929643d5147da53d353d3fe
+AUX ekiga-3.2.0-configure.patch 11122 RMD160 9f879bf47f989f71a3c6d0e34a68ccc07e3c8d27 SHA1 7247a0fa274844b3e7a169dca62782d3b1c07b89 SHA256 76872ab7779dc34d922613aefa8eaa52cc8a9f37b35daa06a77091ab4ba92c98
+AUX ekiga-3.2.0-preferences.patch 1066 RMD160 9815e6d34c96a9fef53e8de1b5ea298751046835 SHA1 d907efac2658f99eee6d2d2c7d8aad048f7a8ba6 SHA256 536af6033d2e8d65e92c2e2255c0b0baabc5b1692a98f767cf79e96b8a10fc37
+AUX ekiga-3.2.0-ptracing.patch 5073 RMD160 bad220709a9238347f2ed219a4ffe0ee9f5e1d0a SHA1 3050a2c4c2dc04b2ade582652df9fe8ea0c6e5e3 SHA256 78070f8e94c457d872979da177f612b1609e533ecbe943e2f13e863c67d8ffe8
+AUX ekiga-3.2.0-stun.patch 564 RMD160 2032f1cd65cc4e3ac11b16e932ac1a0a57d693a0 SHA1 8312a37736b13ded772523e7766d6827ff658620 SHA256 c0b34a292b59da8b0227d6fcc2b725adb0283f342d31d0d00f84243fdaaa11ad
+AUX ekiga-3.2.0-xcap.patch 2640 RMD160 c112e0a93c5dd121f83368ccf3dcf6f78bdd7eb6 SHA1 761ca9e87085e9cae194e47267ee4ed4b48cfd5b SHA256 e5284d49e703e43256f2a136159598c2f088d4e12698e158ae1b27ef357a26f2
+DIST ekiga-3.0.2.tar.bz2 7142789 RMD160 997b890f5a18ae89020f7511db977f5ae0561ba2 SHA1 a89e2b493a1fcc518ffa2af36f6ffb2955bc2090 SHA256 df17dea4e6eb4c67ba3949e03fdc665840d9848c124126e765a510146f1e638e
+DIST ekiga-3.2.0.tar.bz2 7679645 RMD160 f31e94dbe03038e39fb5b50bd71372992c13ae8b SHA1 6a8d6f203cd982cbfb37822b2a96f176176cd763 SHA256 998b50e3920546cb43cd281d519394a2db23f5bf10223cac49120296407b3c6d
+EBUILD ekiga-3.0.2.ebuild 4700 RMD160 de289cb1ea6f334be16c435ee0e534d2078febf4 SHA1 2245015dddd99a3461c43cba12fac58cc92a9226 SHA256 23ae2dbc5186a110089301f6bc51c51f2197ba7c3c2a499356da2b55bd9cfacd
+EBUILD ekiga-3.2.0-r2.ebuild 6406 RMD160 15bddbd920186abb82a3c9a73cc4fc17bd6e6cb3 SHA1 58fe220f827d717b8628a9afe23f84c28250eb80 SHA256 918a7c729b4805547c1551251c4ceca6d7e20b1277f0dcfea3e1d1a7230d5da6
+MISC ChangeLog 1200 RMD160 678a2e3e9ddf233002b3e284cf962c2cabc5f7ee SHA1 6e9a992282d5bb2d344526f804a409f5b411246e SHA256 f530d7d5575e8240b6e369b7146ae17d81b55aaa96da062bfb7fda073e8e4898
+MISC metadata.xml 528 RMD160 e925e497011180300d392e98206ff24e4b06911b SHA1 cf734d7d2b7c55c01e5ce3779e4bd3c89ffcad35 SHA256 b9895d5d6170742d1d26a135bab40a97c3aa1f4941c96d6018a3daead65bf12a
diff --git a/net-voip/ekiga/ekiga-3.0.2.ebuild b/net-voip/ekiga/ekiga-3.0.2.ebuild
new file mode 100644
index 0000000..cab1880
--- /dev/null
+++ b/net-voip/ekiga/ekiga-3.0.2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils gnome2
+
+DESCRIPTION="H.323 and SIP VoIP softphone"
+HOMEPAGE="http://www.ekiga.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~ppc ~x86"
+IUSE="avahi dbus debug doc eds gconf gnome +h323 ldap libnotify mmx nls +shm
++sip static v4l xv"
+
+RDEPEND=">=dev-libs/glib-2.8.0:2
+ dev-libs/libsigc++:2
+ dev-libs/libxml2:2
+ =net-libs/ptlib-2.4*[debug=]
+ =net-libs/opal-3.4*[debug=,h323?,sip?,wav]
+ >=x11-libs/gtk+-2.12.0:2
+ sys-devel/gettext
+ 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? ( >=gnome-base/libgnome-2.14.0
+ >=gnome-base/libgnomeui-2.14.0 )
+ ldap? ( net-nds/openldap )
+ libnotify? ( x11-libs/libnotify )
+ shm? ( x11-libs/libXext )
+ xv? ( x11-libs/libXv )"
+DEPEND="${RDEPEND}
+ >=sys-devel/make-3.81
+ >=dev-util/pkgconfig-0.20
+ >=dev-util/intltool-0.35
+ doc? ( app-text/scrollkeeper
+ app-text/gnome-doc-utils )
+ v4l? ( sys-kernel/linux-headers )"
+
+DOCS="AUTHORS ChangeLog FAQ NEWS README TODO"
+
+# NOTES:
+#
+# make 3.80 is breaking installation phase, need make 3.81 at least
+# gettext is required for glib and intltool so not directly but painless to add
+# ekiga doesn't work with opal-3.5* and ptlib-2.5*
+
+pkg_setup() {
+ # dbus-service: always enable if dbus is enabled, no reason to disable it
+ # scrollkeeper: updates scrollkeeper database
+ # schemas-install: install gconf schemas
+ G2CONF="${G2CONF}
+ --disable-dependency-tracking
+ --enable-fast-install
+ --disable-maintainer-mode
+ --enable-libtool-lock
+ $(use_enable avahi)
+ $(use_enable dbus)
+ $(use_enable dbus dbus_service)
+ $(use_enable debug)
+ $(use_enable doc gdu)
+ $(use_enable doc scrollkeeper)
+ $(use_enable eds)
+ $(use_enable gconf)
+ $(use_enable gconf schemas-install)
+ $(use_enable gnome)
+ $(use_enable ldap)
+ $(use_enable libnotify notify)
+ $(use_enable nls)
+ $(use_enable static static-libs)
+ $(use_enable xv)"
+}
+
+src_prepare() {
+ # remove call to gconftool-2 --shutdown
+ # upstream has been contacted, see bug 555976 in their bugtracker
+ # TODO: ekiga team don't agree with this patch
+ sed -i -e '/gconftool-2 --shutdown/d' Makefile.in \
+ || die "patching Makefile.in failed"
+
+ # fix ekiga-helper dbus service .in file
+ # has been fixed by upstream, see bug 555974 in their bug tracker
+ # TODO: check for fix in new releases
+ sed -i -e 's/@PACKAGE_NAME@/ekiga/'\
+ src/components/org.ekiga.Helper.service.in \
+ || die "patching src/components/org.ekiga.Helper.service.in failed"
+
+ # fix compilation issues when PTRACING is disabled in ptlib
+ # upstream has been contacted, see bug 575433 in their bugtracker
+ epatch "${FILESDIR}"/${P}-ptracing.patch
+
+ # mmx is automatically enabled for some arch, want it to be a user choice
+ # upstream has been contacted, see bug 575831 in their bugtracker
+ if use mmx; then
+ sed -i -e "s/use_x86_asm=no/use_x86_asm=yes/" configure \
+ || die "patching configure failed"
+ else
+ sed -i -e "s/use_x86_asm=yes/use_x86_asm=no/" configure \
+ || die "patching configure failed"
+ fi
+
+ # SIP is automatically enabled with opal[sip], want it to be a user choice
+ # upstream has been contacted, see bug 575832 in their bugtracker
+ if ! use sip; then
+ sed -i -e "s/SIP=\"yes\"/SIP=\"no\"/" configure \
+ || die "patching configure failed"
+ sed -i -e \
+ "s:SIP=\`\$PKG_CONFIG --variable=OPAL_SIP opal\`:SIP=\"no\":" \
+ configure || die "patching configure failed"
+ fi
+
+ # H323 is automatically enabled with opal[h323], want it to be a user choice
+ # upstream has been contacted, see bug 575833 in their bugtracker
+ if ! use h323; then
+ sed -i -e "s/H323=\"yes\"/H323=\"no\"/" configure \
+ || die "patching configure failed"
+ sed -i -e \
+ "s:H323=\`\$PKG_CONFIG --variable=OPAL_H323 opal\`:H323=\"no\":" \
+ configure || die "patching configure failed"
+ fi
+
+ # SHM support from libXext is auto-enabled, want it to be a user choice
+ # upstream has been contacted, see bug 575835 in their bugtracker
+ if ! use shm; then
+ sed -i -e "s/with_shm=\"yes\"/with_shm=\"no\"/" configure \
+ || die "patching configure failed"
+ fi
+
+ # 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 "patching configure failed"
+ fi
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ if ! use gnome; then
+ ewarn "USE=-gnome is experimental, some weirdness with the UI and"
+ ewarn "config keys should appear."
+ fi
+}
diff --git a/net-voip/ekiga/ekiga-3.2.0-r2.ebuild b/net-voip/ekiga/ekiga-3.2.0-r2.ebuild
new file mode 100644
index 0000000..8b7ec97
--- /dev/null
+++ b/net-voip/ekiga/ekiga-3.2.0-r2.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils gnome2
+
+DESCRIPTION="H.323 and SIP VoIP softphone"
+HOMEPAGE="http://www.ekiga.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="avahi dbus debug doc eds gconf gnome gstreamer +h323 kde kontact ldap libnotify mmx nls +shm +sip static v4l xcap xv"
+
+RDEPEND=">=dev-libs/glib-2.8.0:2
+ dev-libs/libsigc++:2
+ dev-libs/libxml2:2
+ >=net-libs/opal-3.6.1[audio,sip,video,debug=,h323?]
+ >=net-libs/ptlib-2.6.1[stun,video,wav,debug=]
+ sys-devel/gettext
+ >=x11-libs/gtk+-2.12.0:2
+ 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.14: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? ( kde-base/kdelibs:4.2
+ x11-libs/qt-core:4
+ kontact? ( kde-base/kdepimlibs:4.2 ) )
+ ldap? ( dev-libs/cyrus-sasl:2
+ net-nds/openldap[sasl] )
+ libnotify? ( x11-libs/libnotify
+ debug? ( >=x11-libs/libnotify-0.4.5 ) )
+ shm? ( x11-libs/libXext )
+ xcap? ( net-libs/libsoup:2.4 )
+ xv? ( x11-libs/libXv )"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.35
+ >=dev-util/pkgconfig-0.20
+ >=sys-devel/make-3.81
+ doc? ( app-text/scrollkeeper
+ app-text/gnome-doc-utils )
+ v4l? ( sys-kernel/linux-headers )"
+
+DOCS="AUTHORS ChangeLog FAQ MAINTAINERS NEWS README TODO"
+
+# debug is managed by the ebuild
+GCONF_DEBUG="no"
+
+# NOTES:
+# make 3.80 is breaking installation phase, need make 3.81 at least
+# 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, see bug 577249 (upstream)
+# opal[sip] should not be needed, it's an ekiga bug, see bug 577248 (upstream)
+# there is a bug in libnotify-0.4.4 fixed in 0.4.5 wich is thrown in debug
+# default src_test is working (with make check)
+
+pkg_setup() {
+ if use kontact && ! use kde; then
+ eerror "You need to enable kde if you want to enable kontact"
+ eerror "Please, re-emerge with disabling kontact or enabling kde"
+ die
+ fi
+
+ # update scrollkeeper database if doc has been enabled
+ if use doc; then
+ SCROLLKEEPER_UPDATE=1
+ else
+ SCROLLKEEPER_UPDATE=0
+ fi
+
+ # dbus-service: always enable if dbus is enabled, no reason to disable it
+ # scrollkeeper: updates scrollkeeper database
+ # schemas-install: install gconf schemas
+ G2CONF="${G2CONF}
+ --disable-dependency-tracking
+ --enable-fast-install
+ --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 doc scrollkeeper)
+ $(use_enable eds)
+ $(use_enable gconf)
+ $(use_enable gconf schemas-install)
+ $(use_enable gnome)
+ $(use_enable gstreamer)
+ $(use_enable kde)
+ $(use_enable kontact kab)
+ $(use_enable ldap)
+ $(use_enable libnotify notify)
+ $(use_enable nls)
+ $(use_enable static static-libs)
+ $(use_enable xcap)
+ $(use_enable xv)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # configure has many mistakes with this release
+ # upstream has been contacted, see bug 577080 in their bugtracker
+ # this patch is also fixing kde-4 support, see upstream bug 577878
+ # fixing configure instead of configure.ac prevents eautoreconf
+ epatch "${FILESDIR}"/${P}-configure.patch
+
+ # remove call to gconftool-2 --shutdown
+ # upstream has been contacted, see bug 555976 in their bugtracker
+ # gnome-2 eclass is reloading schemas with SIGHUP
+ sed -i -e '/gconftool-2 --shutdown/d' Makefile.in \
+ || die "patching Makefile.in failed"
+
+ # fix compilation issues when PTRACING is disabled in ptlib
+ # upstream has been contacted, see bug 575433 in their bugtracker
+ epatch "${FILESDIR}"/${P}-ptracing.patch
+
+ # fix segfault when accessing to preferences window in debug mode
+ # backporting patch from upstream repository, see upstream bug 577629
+ epatch "${FILESDIR}"/${P}-preferences.patch
+
+ # fix stun bug which makes ekiga.net unavailable
+ # see upstream bug 578883
+ epatch "${FILESDIR}"/${P}-stun.patch
+
+ # compilation breaks with xcap enabled
+ # backporting patch from upstream repository
+ if use xcap; then
+ epatch "${FILESDIR}"/${P}-xcap.patch
+ fi
+
+ # mmx is automatically enabled for some arch, want it to be a user choice
+ # upstream has been contacted, see bug 575831 in their bugtracker
+ if use mmx; then
+ sed -i -e "s/use_x86_asm=no/use_x86_asm=yes/" configure \
+ || die "patching configure failed"
+ else
+ sed -i -e "s/use_x86_asm=yes/use_x86_asm=no/" configure \
+ || die "patching configure failed"
+ fi
+
+ # SIP is automatically enabled with opal[sip], want it to be a user choice
+ # upstream has been contacted, see bug 575832 in their bugtracker
+ if ! use sip; then
+ sed -i -e "s/SIP=\"yes\"/SIP=\"no\"/" configure \
+ || die "patching configure failed"
+ sed -i -e \
+ "s:SIP=\`\$PKG_CONFIG --variable=OPAL_SIP opal\`:SIP=\"no\":" \
+ configure || die "patching configure failed"
+ fi
+
+ # H323 is automatically enabled with opal[h323], want it to be a user choice
+ # upstream has been contacted, see bug 575833 in their bugtracker
+ if ! use h323; then
+ sed -i -e "s/H323=\"yes\"/H323=\"no\"/" configure \
+ || die "patching configure failed"
+ sed -i -e \
+ "s:H323=\`\$PKG_CONFIG --variable=OPAL_H323 opal\`:H323=\"no\":" \
+ configure || die "patching configure failed"
+ fi
+
+ # SHM support from libXext is auto-enabled, want it to be a user choice
+ # upstream has been contacted, see bug 575835 in their bugtracker
+ if ! use shm; then
+ sed -i -e "s/with_shm=\"yes\"/with_shm=\"no\"/" configure \
+ || die "patching configure failed"
+ fi
+
+ # 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 "patching configure failed"
+ fi
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ if ! use gnome; then
+ ewarn "USE=-gnome is experimental, some weirdness with the UI and"
+ ewarn "config keys can appear."
+ fi
+}
diff --git a/net-voip/ekiga/files/ekiga-3.0.2-ptracing.patch b/net-voip/ekiga/files/ekiga-3.0.2-ptracing.patch
new file mode 100644
index 0000000..089a0be
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.0.2-ptracing.patch
@@ -0,0 +1,148 @@
+diff -ru ekiga-3.0.2-old/lib/engine/audioinput/skel/audioinput-core.cpp ekiga-3.0.2/lib/engine/audioinput/skel/audioinput-core.cpp
+--- ekiga-3.0.2-old/lib/engine/audioinput/skel/audioinput-core.cpp 2009-01-12 14:52:58.000000000 -0500
++++ ekiga-3.0.2/lib/engine/audioinput/skel/audioinput-core.cpp 2009-03-14 13:54:09.000000000 -0400
+@@ -198,14 +198,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<AudioInputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "AudioInputCore\tDetected Device: " << *iter);
+- }
+- }
+-
++#if PTRACING
++ for (std::vector<AudioInputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "AudioInputCore\tDetected Device: " << *iter);
++ }
++#endif // PTRACING
+ }
+
+ void AudioInputCore::set_device(const AudioInputDevice & device)
+diff -ru ekiga-3.0.2-old/lib/engine/audiooutput/skel/audiooutput-core.cpp ekiga-3.0.2/lib/engine/audiooutput/skel/audiooutput-core.cpp
+--- ekiga-3.0.2-old/lib/engine/audiooutput/skel/audiooutput-core.cpp 2009-01-12 14:52:58.000000000 -0500
++++ ekiga-3.0.2/lib/engine/audiooutput/skel/audiooutput-core.cpp 2009-03-14 13:53:59.000000000 -0400
+@@ -151,14 +151,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<AudioOutputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "AudioOutputCore\tDetected Device: " << *iter);
+- }
+- }
+-
++#if PTRACING
++ for (std::vector<AudioOutputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "AudioOutputCore\tDetected Device: " << *iter);
++ }
++#endif // PTRACING
+ }
+
+ void AudioOutputCore::set_device(AudioOutputPS ps, const AudioOutputDevice & device)
+diff -ru ekiga-3.0.2-old/lib/engine/videoinput/skel/videoinput-core.cpp ekiga-3.0.2/lib/engine/videoinput/skel/videoinput-core.cpp
+--- ekiga-3.0.2-old/lib/engine/videoinput/skel/videoinput-core.cpp 2009-01-12 14:52:59.000000000 -0500
++++ ekiga-3.0.2/lib/engine/videoinput/skel/videoinput-core.cpp 2009-03-14 13:54:35.000000000 -0400
+@@ -201,13 +201,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<VideoInputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "VidInputCore\tDetected Device: " << *iter);
+- }
+- }
++#if PTRACING
++ for (std::vector<VideoInputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "VidInputCore\tDetected Device: " << *iter);
++ }
++#endif
+ }
+
+ void VideoInputCore::set_device(const VideoInputDevice & device, int channel, VideoInputFormat format)
+diff -ru ekiga-3.0.2-old/lib/gui/xvwindow.cpp ekiga-3.0.2/lib/gui/xvwindow.cpp
+--- ekiga-3.0.2-old/lib/gui/xvwindow.cpp 2009-01-12 14:52:58.000000000 -0500
++++ ekiga-3.0.2/lib/gui/xvwindow.cpp 2009-03-14 13:56:05.000000000 -0400
+@@ -409,8 +409,9 @@
+ continue;
+ }
+
+- if (PTrace::CanTrace (4))
+- DumpCapabilities (candidateXVPort);
++#if PTRACING
++ DumpCapabilities (candidateXVPort);
++#endif // PTRACING
+
+ // Check if the Port supports YV12/YUV colorspace
+ supportsYV12 = false;
+@@ -684,16 +685,16 @@
+ }
+ }
+
+- if ( (_useShm) && (PTrace::CanTrace (4)) ) {
+- int j = 0;
+- PTRACE(4, "XVideo\tCreated XvImage (" << _XVImage[i]->width << "x" << _XVImage[i]->height
+- << ", data size: " << _XVImage[i]->data_size << ", num_planes: " << _XVImage[i]->num_planes);
+-
+- for (j = 0 ; j < _XVImage[i]->num_planes ; j++)
+- PTRACE(4, "XVideo\t Plane " << j << ": pitch=" << _XVImage[i]->pitches [j] << ", offset=" << _XVImage[i]->offsets [j]);
+- }
+-
+- if (_useShm) {
++#if PTRACING
++ int j = 0;
++ PTRACE(4, "XVideo\tCreated XvImage (" << _XVImage[i]->width << "x" << _XVImage[i]->height
++ << ", data size: " << _XVImage[i]->data_size << ", num_planes: " << _XVImage[i]->num_planes);
++
++ for (j = 0 ; j < _XVImage[i]->num_planes ; j++)
++ PTRACE(4, "XVideo\t Plane " << j << ": pitch=" << _XVImage[i]->pitches [j] << ", offset=" << _XVImage[i]->offsets [j]);
++#endif // PTRACING
++
++ if (_useShm) {
+ _XShmInfo[i].shmid = shmget (IPC_PRIVATE, _XVImage[i]->data_size, IPC_CREAT | 0777);
+ if (_XShmInfo[i].shmid < 0) {
+ XFree (_XVImage[i]);
+diff -ru ekiga-3.0.2-old/lib/gui/xwindow.cpp ekiga-3.0.2/lib/gui/xwindow.cpp
+--- ekiga-3.0.2-old/lib/gui/xwindow.cpp 2009-01-12 14:52:57.000000000 -0500
++++ ekiga-3.0.2/lib/gui/xwindow.cpp 2009-03-14 13:56:50.000000000 -0400
+@@ -200,8 +200,9 @@
+ PTRACE(4, "X11\tInitiasing new X11 window with " << windowWidth << "x" << windowHeight << " at " << x << "," << y);
+ XLockDisplay (_display);
+
+- if (PTrace::CanTrace (4))
+- DumpVisuals();
++#if PTRACING
++ DumpVisuals();
++#endif // PTRACING
+
+ if (!CreateAtomsAndWindow(gc, x, y, windowWidth, windowHeight)) {
+ XUnlockDisplay(_display);
+diff -ru ekiga-3.0.2-old/src/gui/main.cpp ekiga-3.0.2/src/gui/main.cpp
+--- ekiga-3.0.2-old/src/gui/main.cpp 2009-01-12 14:56:04.000000000 -0500
++++ ekiga-3.0.2/src/gui/main.cpp 2009-03-14 12:47:03.000000000 -0400
+@@ -4713,10 +4713,13 @@
+ /* Ekiga initialisation */
+ static GnomeMeeting instance;
+
++#if PTRACING
+ if (debug_level != 0)
+ PTrace::Initialise (PMAX (PMIN (5, debug_level), 0), NULL,
+ PTrace::Timestamp | PTrace::Thread
+ | PTrace::Blocks | PTrace::DateAndTime);
++#endif // PTRACING
++
+ #ifdef EKIGA_REVISION
+ PTRACE(1, "Ekiga SVN revision: " << EKIGA_REVISION);
+ #endif
diff --git a/net-voip/ekiga/files/ekiga-3.2.0-configure.patch b/net-voip/ekiga/files/ekiga-3.2.0-configure.patch
new file mode 100644
index 0000000..702c8fe
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.0-configure.patch
@@ -0,0 +1,329 @@
+--- configure.old 2009-03-29 14:53:29.000000000 -0400
++++ configure 2009-04-17 21:52:44.000000000 -0400
+@@ -1129,6 +1129,8 @@
+ AVAHI_LIBS
+ GSTREAMER_CFLAGS
+ GSTREAMER_LIBS
++KDE_CFLAGS
++KDE_LIBS
+ SOUP_CFLAGS
+ SOUP_LIBS
+ PTLIB_CFLAGS
+@@ -1863,6 +1865,8 @@
+ C compiler flags for GSTREAMER, overriding pkg-config
+ GSTREAMER_LIBS
+ linker flags for GSTREAMER, overriding pkg-config
++ KDE_CFLAGS C compiler flags for KDE, overriding pkg-config
++ KDE_LIBS linker flags for KDE, overriding pkg-config
+ SOUP_CFLAGS C compiler flags for SOUP, overriding pkg-config
+ SOUP_LIBS linker flags for SOUP, overriding pkg-config
+ PTLIB_CFLAGS
+@@ -5399,7 +5403,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 5402 "configure"' > conftest.$ac_ext
++ echo '#line 5406 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -8003,11 +8007,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8006: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8010: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8010: \$? = $ac_status" >&5
++ echo "$as_me:8014: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -8293,11 +8297,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8296: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8300: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8300: \$? = $ac_status" >&5
++ echo "$as_me:8304: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -8397,11 +8401,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8400: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8404: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:8404: \$? = $ac_status" >&5
++ echo "$as_me:8408: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -10810,7 +10814,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 10813 "configure"
++#line 10817 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10910,7 +10914,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 10913 "configure"
++#line 10917 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13319,11 +13323,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13322: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13326: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:13326: \$? = $ac_status" >&5
++ echo "$as_me:13330: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -13423,11 +13427,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13426: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13430: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:13430: \$? = $ac_status" >&5
++ echo "$as_me:13434: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -15021,11 +15025,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15024: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15028: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15028: \$? = $ac_status" >&5
++ echo "$as_me:15032: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -15125,11 +15129,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15128: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15132: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:15132: \$? = $ac_status" >&5
++ echo "$as_me:15136: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -17353,11 +17357,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17356: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:17360: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:17360: \$? = $ac_status" >&5
++ echo "$as_me:17364: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -17643,11 +17647,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17646: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:17650: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:17650: \$? = $ac_status" >&5
++ echo "$as_me:17654: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -17747,11 +17751,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17750: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:17754: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:17754: \$? = $ac_status" >&5
++ echo "$as_me:17758: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -25071,7 +25075,9 @@
+
+ # Check whether --enable-gstreamer was given.
+ if test "${enable_gstreamer+set}" = set; then
+- enableval=$enable_gstreamer; enable_gstreamer=yes
++ enableval=$enable_gstreamer;
++else
++ enable_gstreamer=yes
+ fi
+
+
+@@ -25220,14 +25226,85 @@
+
+ # Check whether --enable-kde was given.
+ if test "${enable_kde+set}" = set; then
+- enableval=$enable_kde; enable_kde=yes
++ enableval=$enable_kde;
++else
++ enable_kde=yes
+ fi
+
+
+ if test "x$enable_kde" = "xyes"; then
+- found_kde=yes
+- KDE_CFLAGS="-I/usr/include/qt4"
+- KDE_LIBS="-lQtCore"
++
++pkg_failed=no
++{ $as_echo "$as_me:$LINENO: checking for KDE" >&5
++$as_echo_n "checking for KDE... " >&6; }
++
++if test -n "$PKG_CONFIG"; then
++ if test -n "$KDE_CFLAGS"; then
++ pkg_cv_KDE_CFLAGS="$KDE_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtCore\"") >&5
++ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_KDE_CFLAGS=`$PKG_CONFIG --cflags "QtCore" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++if test -n "$PKG_CONFIG"; then
++ if test -n "$KDE_LIBS"; then
++ pkg_cv_KDE_LIBS="$KDE_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtCore\"") >&5
++ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_KDE_LIBS=`$PKG_CONFIG --libs "QtCore" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++
++
++
++if test $pkg_failed = yes; then
++
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ KDE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtCore"`
++ else
++ KDE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtCore"`
++ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$KDE_PKG_ERRORS" >&5
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++ found_kde=no
++elif test $pkg_failed = untried; then
++ found_kde=no
++else
++ KDE_CFLAGS=$pkg_cv_KDE_CFLAGS
++ KDE_LIBS=$pkg_cv_KDE_LIBS
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++ found_kde=yes
++fi
++
+ CPPFLAGS_save="$CPPFLAGS"
+ LIBS_save="$LIBS"
+ CPPFLAGS="$CPPFLAGS $KDE_CFLAGS"
+@@ -25379,6 +25456,9 @@
+ { (exit 1); exit 1; }; }
+ fi
+
++ KDE_LIBS="$KDE_LIBS -lkdeui"
++
++
+
+ KDE="enabled"
+
+@@ -25401,7 +25481,9 @@
+
+ # Check whether --enable-kab was given.
+ if test "${enable_kab+set}" = set; then
+- enableval=$enable_kab; enable_kab=yes
++ enableval=$enable_kab;
++else
++ enable_kab=yes
+ fi
+
+
+@@ -25414,7 +25496,7 @@
+ fi
+ found_kab=yes
+ KAB_CFLAGS="-I/usr/include/qt4"
+- KAB_LIBS="-lQtCore -lkabc"
++ KAB_LIBS="-lkabc"
+ CPPFLAGS_save="$CPPFLAGS"
+ LIBS_save="$LIBS"
+ CPPFLAGS="$CPPFLAGS $KAB_CFLAGS"
+@@ -25588,7 +25670,9 @@
+
+ # Check whether --enable-xcap was given.
+ if test "${enable_xcap+set}" = set; then
+- enableval=$enable_xcap; enable_xcap=yes
++ enableval=$enable_xcap;
++else
++ enable_xcap=yes
+ fi
+
+
diff --git a/net-voip/ekiga/files/ekiga-3.2.0-preferences.patch b/net-voip/ekiga/files/ekiga-3.2.0-preferences.patch
new file mode 100644
index 0000000..60cd4e5
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.0-preferences.patch
@@ -0,0 +1,24 @@
+diff -ur ekiga-3.2.0-old/src/gui/assistant.cpp ekiga-3.2.0/src/gui/assistant.cpp
+--- ekiga-3.2.0-old/src/gui/assistant.cpp 2009-03-07 12:09:14.000000000 +0100
++++ ekiga-3.2.0/src/gui/assistant.cpp 2009-04-10 17:31:01.000000000 +0200
+@@ -1299,7 +1299,7 @@
+ gchar **array = NULL;
+ unsigned i;
+
+- array = (gchar**) malloc (sizeof(gchar*) * (list.size() + 1));
++ array = (gchar**) g_malloc (sizeof(gchar*) * (list.size() + 1));
+ for (i = 0; i < list.size(); i++)
+ array[i] = (gchar*) list[i].c_str();
+ array[i] = NULL;
+diff -ur ekiga-3.2.0-old/src/gui/preferences.cpp ekiga-3.2.0/src/gui/preferences.cpp
+--- ekiga-3.2.0-old/src/gui/preferences.cpp 2009-01-07 11:02:09.000000000 +0100
++++ ekiga-3.2.0/src/gui/preferences.cpp 2009-04-16 14:28:08.000000000 +0200
+@@ -862,7 +862,7 @@
+ gchar **array = NULL;
+ unsigned i;
+
+- array = (gchar**) malloc (sizeof(gchar*) * (list.size() + 1));
++ array = (gchar**) g_malloc (sizeof(gchar*) * (list.size() + 1));
+ for (i = 0; i < list.size(); i++)
+ array[i] = (gchar*) list[i].c_str();
+ array[i] = NULL;
diff --git a/net-voip/ekiga/files/ekiga-3.2.0-ptracing.patch b/net-voip/ekiga/files/ekiga-3.2.0-ptracing.patch
new file mode 100644
index 0000000..5b3c566
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.0-ptracing.patch
@@ -0,0 +1,137 @@
+diff -ru ekiga-3.2.0-old/lib/engine/audioinput/audioinput-core.cpp ekiga-3.2.0/lib/engine/audioinput/audioinput-core.cpp
+--- ekiga-3.2.0-old/lib/engine/audioinput/audioinput-core.cpp 2009-01-07 05:02:11.000000000 -0500
++++ ekiga-3.2.0/lib/engine/audioinput/audioinput-core.cpp 2009-03-28 12:58:37.000000000 -0400
+@@ -197,13 +197,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<AudioInputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "AudioInputCore\tDetected Device: " << *iter);
+- }
+- }
++#if PTRACING
++ for (std::vector<AudioInputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "AudioInputCore\tDetected Device: " << *iter);
++ }
++#endif // PTRACING
+
+ }
+
+diff -ru ekiga-3.2.0-old/lib/engine/audiooutput/audiooutput-core.cpp ekiga-3.2.0/lib/engine/audiooutput/audiooutput-core.cpp
+--- ekiga-3.2.0-old/lib/engine/audiooutput/audiooutput-core.cpp 2009-01-07 05:02:11.000000000 -0500
++++ ekiga-3.2.0/lib/engine/audiooutput/audiooutput-core.cpp 2009-03-28 12:59:58.000000000 -0400
+@@ -151,13 +151,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<AudioOutputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "AudioOutputCore\tDetected Device: " << *iter);
+- }
+- }
++#if PTRACING
++ for (std::vector<AudioOutputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "AudioOutputCore\tDetected Device: " << *iter);
++ }
++#endif // PTRACING
+
+ }
+
+diff -ru ekiga-3.2.0-old/lib/engine/videoinput/videoinput-core.cpp ekiga-3.2.0/lib/engine/videoinput/videoinput-core.cpp
+--- ekiga-3.2.0-old/lib/engine/videoinput/videoinput-core.cpp 2009-03-01 17:47:10.000000000 -0500
++++ ekiga-3.2.0/lib/engine/videoinput/videoinput-core.cpp 2009-03-28 12:57:34.000000000 -0400
+@@ -207,13 +207,13 @@
+ iter++)
+ (*iter)->get_devices (devices);
+
+- if (PTrace::CanTrace(4)) {
+- for (std::vector<VideoInputDevice>::iterator iter = devices.begin ();
+- iter != devices.end ();
+- iter++) {
+- PTRACE(4, "VidInputCore\tDetected Device: " << *iter);
+- }
+- }
++#if PTRACING
++ for (std::vector<VideoInputDevice>::iterator iter = devices.begin ();
++ iter != devices.end ();
++ iter++) {
++ PTRACE(4, "VidInputCore\tDetected Device: " << *iter);
++ }
++#endif // PTRACING
+ }
+
+ void VideoInputCore::set_device(const VideoInputDevice & device, int channel, VideoInputFormat format)
+diff -ru ekiga-3.2.0-old/lib/gui/xvwindow.cpp ekiga-3.2.0/lib/gui/xvwindow.cpp
+--- ekiga-3.2.0-old/lib/gui/xvwindow.cpp 2009-01-07 05:02:11.000000000 -0500
++++ ekiga-3.2.0/lib/gui/xvwindow.cpp 2009-03-28 12:50:33.000000000 -0400
+@@ -409,8 +409,9 @@
+ continue;
+ }
+
+- if (PTrace::CanTrace (4))
+- DumpCapabilities (candidateXVPort);
++#if PTRACING
++ DumpCapabilities (candidateXVPort);
++#endif // PTRACING
+
+ // Check if the Port supports YV12/YUV colorspace
+ supportsYV12 = false;
+@@ -684,7 +685,8 @@
+ }
+ }
+
+- if ( (_useShm) && (PTrace::CanTrace (4)) ) {
++#if PTRACING
++ if ( (_useShm) ) {
+ int j = 0;
+ PTRACE(4, "XVideo\tCreated XvImage (" << _XVImage[i]->width << "x" << _XVImage[i]->height
+ << ", data size: " << _XVImage[i]->data_size << ", num_planes: " << _XVImage[i]->num_planes);
+@@ -692,6 +694,7 @@
+ for (j = 0 ; j < _XVImage[i]->num_planes ; j++)
+ PTRACE(4, "XVideo\t Plane " << j << ": pitch=" << _XVImage[i]->pitches [j] << ", offset=" << _XVImage[i]->offsets [j]);
+ }
++#endif // PTRACING
+
+ if (_useShm) {
+ _XShmInfo[i].shmid = shmget (IPC_PRIVATE, _XVImage[i]->data_size, IPC_CREAT | 0777);
+diff -ru ekiga-3.2.0-old/lib/gui/xwindow.cpp ekiga-3.2.0/lib/gui/xwindow.cpp
+--- ekiga-3.2.0-old/lib/gui/xwindow.cpp 2009-01-07 05:02:11.000000000 -0500
++++ ekiga-3.2.0/lib/gui/xwindow.cpp 2009-03-28 12:47:40.000000000 -0400
+@@ -200,8 +200,9 @@
+ PTRACE(4, "X11\tInitiasing new X11 window with " << windowWidth << "x" << windowHeight << " at " << x << "," << y);
+ XLockDisplay (_display);
+
+- if (PTrace::CanTrace (4))
+- DumpVisuals();
++#if PTRACING
++ DumpVisuals();
++#endif // PTRACING
+
+ if (!CreateAtomsAndWindow(gc, x, y, windowWidth, windowHeight)) {
+ XUnlockDisplay(_display);
+diff -ru ekiga-3.2.0-old/src/gui/main.cpp ekiga-3.2.0/src/gui/main.cpp
+--- ekiga-3.2.0-old/src/gui/main.cpp 2009-03-03 16:48:37.000000000 -0500
++++ ekiga-3.2.0/src/gui/main.cpp 2009-03-28 13:16:24.000000000 -0400
+@@ -4453,10 +4453,13 @@
+ /* Ekiga initialisation */
+ static GnomeMeeting instance;
+
++#if PTRACING
+ if (debug_level != 0)
+ PTrace::Initialise (PMAX (PMIN (5, debug_level), 0), NULL,
+ PTrace::Timestamp | PTrace::Thread
+ | PTrace::Blocks | PTrace::DateAndTime);
++#endif // PTRACING
++
+ #ifdef EKIGA_REVISION
+ PTRACE(1, "Ekiga SVN revision: " << EKIGA_REVISION);
+ #endif
diff --git a/net-voip/ekiga/files/ekiga-3.2.0-stun.patch b/net-voip/ekiga/files/ekiga-3.2.0-stun.patch
new file mode 100644
index 0000000..b569155
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.0-stun.patch
@@ -0,0 +1,19 @@
+--- lib/engine/components/opal/opal-call-manager.cpp.old 2009-04-17 23:32:21.000000000 -0400
++++ lib/engine/components/opal/opal-call-manager.cpp 2009-04-17 23:32:49.000000000 -0400
+@@ -116,7 +116,7 @@
+ forward_on_no_answer = false;
+ forward_on_busy = false;
+ unconditional_forward = false;
+- stun_enabled = false;
++ stun_enabled = true;
+
+ // Create video devices
+ PVideoDevice::OpenArgs video = GetVideoOutputDevice();
+@@ -496,6 +496,7 @@
+ void CallManager::set_stun_server (const std::string & server)
+ {
+ stun_server = server;
++ start();
+ }
+
+
diff --git a/net-voip/ekiga/files/ekiga-3.2.0-xcap.patch b/net-voip/ekiga/files/ekiga-3.2.0-xcap.patch
new file mode 100644
index 0000000..756fc79
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.0-xcap.patch
@@ -0,0 +1,77 @@
+--- trunk/lib/engine/components/resource-list/rl-entry-ref.cpp 2009/01/05 17:10:55 7516
++++ trunk/lib/engine/components/resource-list/rl-entry-ref.cpp 2009/03/17 20:28:41 7784
+@@ -37,6 +37,8 @@
+
+ #include "config.h"
+
++#include <glib/gi18n-lib.h>
++
+ #include "rl-entry-ref.h"
+
+ #include "presence-core.h"
+@@ -131,8 +133,7 @@
+ sigc::mem_fun (this, &RL::EntryRef::refresh));
+
+ if ( !uri.empty ())
+- populated =
+- presence_core->populate_presentity_menu (*this, uri, builder)
++ populated = presence_core->populate_presentity_menu (gmref_ptr<Ekiga::Presentity> (this), uri, builder)
+ || populated;
+
+ return populated;
+--- trunk/lib/engine/components/resource-list/rl-entry.cpp 2009/01/05 17:10:55 7516
++++ trunk/lib/engine/components/resource-list/rl-entry.cpp 2009/03/17 20:28:41 7784
+@@ -37,6 +37,8 @@
+
+ #include "config.h"
+
++#include <glib/gi18n-lib.h>
++
+ #include "rl-entry.h"
+
+ #include "presence-core.h"
+@@ -144,8 +146,7 @@
+ sigc::mem_fun (this, &RL::Entry::refresh));
+
+ if ( !uri.empty ())
+- populated =
+- presence_core->populate_presentity_menu (*this, uri, builder)
++ populated = presence_core->populate_presentity_menu (gmref_ptr<Ekiga::Presentity> (this), uri, builder)
+ || populated;
+
+ return populated;
+--- trunk/lib/engine/components/resource-list/rl-list.cpp 2009/01/05 17:10:55 7516
++++ trunk/lib/engine/components/resource-list/rl-list.cpp 2009/03/17 20:28:41 7784
+@@ -38,6 +38,7 @@
+ #include "config.h"
+
+ #include <glib.h>
++#include <glib/gi18n-lib.h>
+
+ #include "rl-list.h"
+
+@@ -320,8 +321,9 @@
+ && child->name != NULL
+ && xmlStrEqual (BAD_CAST "list", child->name)) {
+
+- gmref_ptr<List> list = new List (core, path,
+- list_pos, display_name, child);
++ gmref_ptr<List> list = gmref_ptr<List> (new List (core, path,
++ list_pos, display_name,
++ child));
+ list->entry_added.connect (entry_added.make_slot ());
+ list->entry_updated.connect (entry_updated.make_slot ());
+ list->entry_removed.connect (entry_removed.make_slot ());
+@@ -336,8 +338,10 @@
+ && child->name != NULL
+ && xmlStrEqual (BAD_CAST "entry", child->name)) {
+
+- gmref_ptr<Entry> entry = new Entry (core, path,
+- entry_pos, display_name, child);
++ gmref_ptr<Entry> entry = gmref_ptr<Entry> (new Entry (core, path,
++ entry_pos,
++ display_name,
++ child));
+ std::list<sigc::connection> conns;
+ conns.push_back (entry->updated.connect (sigc::bind (entry_updated.make_slot (), entry)));
+ conns.push_back (entry->removed.connect (sigc::bind (entry_removed.make_slot (), entry)));
diff --git a/net-voip/ekiga/metadata.xml b/net-voip/ekiga/metadata.xml
new file mode 100644
index 0000000..df6c079
--- /dev/null
+++ b/net-voip/ekiga/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>voip</herd>
+<use>
+ <flag name="gconf">Enable GConf support</flag>
+ <flag name="h323">Enable H.323 protocol</flag>
+ <flag name="shm">Enable the Shared Memory Extension from libXext</flag>
+ <flag name="sip">Enable Session Initiation Protocol</flag>
+ <flag name="static">Statically link to opal and ptlib</flag>
+ <flag name="xcap">Enable XML Configuration Access Protocal</flag>
+</use>
+</pkgmetadata>