summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-voip')
-rw-r--r--net-voip/ekiga/Manifest2
-rw-r--r--net-voip/ekiga/ekiga-4.0.0-r1.ebuild176
-rw-r--r--net-voip/ekiga/ekiga-4.0.1.ebuild176
-rw-r--r--net-voip/ekiga/files/ekiga-1.99.0-configure.patch25
-rw-r--r--net-voip/ekiga/files/ekiga-2.0.12-gdu.patch111
-rw-r--r--net-voip/ekiga/files/ekiga-3.2.7-libnotify-0.7.patch62
-rw-r--r--net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff95
-rw-r--r--net-voip/ekiga/files/ekiga-eggtrayicon-update.diff535
-rw-r--r--net-voip/ekiga/files/not-gnome.patch13
-rw-r--r--net-voip/ekiga/metadata.xml15
-rw-r--r--net-voip/gnugk/Manifest1
-rw-r--r--net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch53
-rw-r--r--net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch11
-rw-r--r--net-voip/gnugk/files/gnugk-3.4-ptrace.patch414
-rw-r--r--net-voip/gnugk/files/gnugk.confd12
-rwxr-xr-xnet-voip/gnugk/files/gnugk.rc621
-rw-r--r--net-voip/gnugk/gnugk-3.4.ebuild125
-rw-r--r--net-voip/gnugk/metadata.xml13
-rw-r--r--net-voip/homer/Manifest3
-rw-r--r--net-voip/homer/files/homer-0.24.1-libav-9.patch101
-rw-r--r--net-voip/homer/files/homer-0.25-ffmpeg-avstream.patch24
-rw-r--r--net-voip/homer/homer-0.24.1-r1.ebuild67
-rw-r--r--net-voip/homer/homer-0.25-r1.ebuild80
-rw-r--r--net-voip/homer/homer-9999.ebuild73
-rw-r--r--net-voip/homer/metadata.xml14
-rw-r--r--net-voip/linphone/Manifest3
-rw-r--r--net-voip/linphone/files/linphone-3.5.2-automake-1.13.patch19
-rw-r--r--net-voip/linphone/files/linphone-3.5.2-nls.patch15
-rw-r--r--net-voip/linphone/files/linphone-3.6.1-nls.patch19
-rw-r--r--net-voip/linphone/linphone-3.5.2.ebuild112
-rw-r--r--net-voip/linphone/linphone-3.6.1.ebuild117
-rw-r--r--net-voip/linphone/metadata.xml17
-rw-r--r--net-voip/metadata.xml12
-rw-r--r--net-voip/openmcu/Manifest1
-rw-r--r--net-voip/openmcu/files/openmcu-2.2.1-deque.patch10
-rw-r--r--net-voip/openmcu/files/openmcu-2.2.1-path.patch48
-rw-r--r--net-voip/openmcu/files/openmcu.confd6
-rw-r--r--net-voip/openmcu/files/openmcu.ini13
-rw-r--r--net-voip/openmcu/files/openmcu.rc621
-rw-r--r--net-voip/openmcu/metadata.xml10
-rw-r--r--net-voip/openmcu/openmcu-2.2.5.ebuild73
-rw-r--r--net-voip/telepathy-gabble/Manifest1
-rw-r--r--net-voip/telepathy-gabble/metadata.xml9
-rw-r--r--net-voip/telepathy-gabble/telepathy-gabble-0.18.3.ebuild72
-rw-r--r--net-voip/telepathy-haze/Manifest1
-rw-r--r--net-voip/telepathy-haze/metadata.xml9
-rw-r--r--net-voip/telepathy-haze/telepathy-haze-0.8.0.ebuild31
-rw-r--r--net-voip/telepathy-rakia/Manifest1
-rw-r--r--net-voip/telepathy-rakia/metadata.xml5
-rw-r--r--net-voip/telepathy-rakia/telepathy-rakia-0.8.0.ebuild38
-rw-r--r--net-voip/telepathy-salut/Manifest1
-rw-r--r--net-voip/telepathy-salut/files/telepathy-salut-0.5.0-uninitialized.patch13
-rw-r--r--net-voip/telepathy-salut/files/telepathy-salut-0.6.0-glib-gtypes.h.patch22
-rw-r--r--net-voip/telepathy-salut/metadata.xml13
-rw-r--r--net-voip/telepathy-salut/telepathy-salut-0.8.1.ebuild63
-rw-r--r--net-voip/vidyodesktop/Manifest4
-rw-r--r--net-voip/vidyodesktop/metadata.xml11
-rw-r--r--net-voip/vidyodesktop/vidyodesktop-3.3.0.027-r1.ebuild67
-rw-r--r--net-voip/vidyodesktop/vidyodesktop-3.3.0.127.ebuild72
-rw-r--r--net-voip/yate/Manifest1
-rw-r--r--net-voip/yate/files/dont-mess-with-cflags.patch15
-rw-r--r--net-voip/yate/files/yate.confd10
-rw-r--r--net-voip/yate/files/yate.initd34
-rwxr-xr-xnet-voip/yate/files/yate.rc620
-rw-r--r--net-voip/yate/metadata.xml25
-rw-r--r--net-voip/yate/yate-5.4.0.ebuild91
-rw-r--r--net-voip/yate/yate-9999.ebuild90
67 files changed, 3437 insertions, 0 deletions
diff --git a/net-voip/ekiga/Manifest b/net-voip/ekiga/Manifest
new file mode 100644
index 000000000000..89cedeefebb7
--- /dev/null
+++ b/net-voip/ekiga/Manifest
@@ -0,0 +1,2 @@
+DIST ekiga-4.0.0.tar.xz 8332828 SHA256 69c544fb0f2e9cb425b9dae131b01e256ad20fd597f1faf0c28f5930b0f1d998 SHA512 0760b4ba2b037bb829809a92d67a6281c85746286fc2393cfaaf7a84520acac11e68b18d2c5bb98e0eeec70171a991b3bba1ca7dd7d275a29cea97b52fab960f WHIRLPOOL ea3f92433755bb2cec2a075c65074082b6cc684ef41117fd1c8ff0545446e85c09a3e6d3311e3489fef66528f10fe6d254b396f1eeadfa753d05806f57f738d8
+DIST ekiga-4.0.1.tar.xz 8339364 SHA256 5f4f491c9496cf65ba057a9345d6bb0278f4eca07bcda5baeecf50bfcd9a4a3b SHA512 3c4dd5eab6e91434da4bbfe5728ac5943ed5ae89b8b2241fb59abb3e41bcd08ba187b5d60c9d839b1010edd7fc97b53cc6db57a6eec40ba81757a772febd2217 WHIRLPOOL 10f60d34b110f0bd77631725bcd7be2badaa88e7278c466a5d2f2944a7ad6226d4466cf6f1f2f3fdea3a3ea925b02216052124dfc5ca416439ba60db22a809ed
diff --git a/net-voip/ekiga/ekiga-4.0.0-r1.ebuild b/net-voip/ekiga/ekiga-4.0.0-r1.ebuild
new file mode 100644
index 000000000000..e970548ab4c8
--- /dev/null
+++ b/net-voip/ekiga/ekiga-4.0.0-r1.ebuild
@@ -0,0 +1,176 @@
+# 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
+}
diff --git a/net-voip/ekiga/ekiga-4.0.1.ebuild b/net-voip/ekiga/ekiga-4.0.1.ebuild
new file mode 100644
index 000000000000..8d503bdce223
--- /dev/null
+++ b/net-voip/ekiga/ekiga-4.0.1.ebuild
@@ -0,0 +1,176 @@
+# 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
+}
diff --git a/net-voip/ekiga/files/ekiga-1.99.0-configure.patch b/net-voip/ekiga/files/ekiga-1.99.0-configure.patch
new file mode 100644
index 000000000000..a523a53b243c
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-1.99.0-configure.patch
@@ -0,0 +1,25 @@
+--- gnomemeeting-1.2.1/configure.orig 2005-04-11 17:24:31.000000000 +0000
++++ gnomemeeting-1.2.1/configure 2005-04-11 17:25:34.000000000 +0000
+@@ -20815,15 +20815,17 @@
+ if test x"${disable_gnome}" = xyes ; then
+
+
+-if false; then
+- GCONF_SCHEMAS_INSTALL_TRUE=
+- GCONF_SCHEMAS_INSTALL_FALSE='#'
+-else
++#if false; then
++# GCONF_SCHEMAS_INSTALL_TRUE=
++# GCONF_SCHEMAS_INSTALL_FALSE='#'
++#else
+ GCONF_SCHEMAS_INSTALL_TRUE='#'
+ GCONF_SCHEMAS_INSTALL_FALSE=
+-fi
++#fi
+
+ else
++ GCONF_SCHEMAS_INSTALL_TRUE=
++ GCONF_SCHEMAS_INSTALL_FALSE='#'
+
+ if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
+ GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
diff --git a/net-voip/ekiga/files/ekiga-2.0.12-gdu.patch b/net-voip/ekiga/files/ekiga-2.0.12-gdu.patch
new file mode 100644
index 000000000000..2f6d8b47568f
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-2.0.12-gdu.patch
@@ -0,0 +1,111 @@
+--- configure.in 2008-03-12 21:20:29.925476633 +0000
++++ configure.in 2008-03-12 21:22:29.000000000 +0000
+@@ -60,8 +60,8 @@
+ if test ${enable_gnome} = yes && test ${enable_doc} = yes; then
+ GNOME_DOC_INIT
+ else
+-ENABLE_SK_TRUE="#"
+-ENABLE_SK_FALSE=""
++dnl Do not care if GDU is not found
++GNOME_DOC_INIT(,,[:])
+ fi
+
+ AM_CONDITIONAL(DISABLE_DOC, test ${enable_doc} = no)
+--- configure 2008-03-21 00:47:35.000000000 +0100
++++ configure 2008-03-21 00:47:48.000000000 +0100
+@@ -2968,8 +2966,93 @@
+
+
+ else
+-ENABLE_SK_TRUE="#"
+-ENABLE_SK_FALSE=""
++
++gdu_cv_version_required=0.3.2
++
++if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnome-doc-utils >= \$gdu_cv_version_required\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gnome-doc-utils >= $gdu_cv_version_required") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ gdu_cv_have_gdu=yes
++else
++ gdu_cv_have_gdu=no
++fi
++
++if test "$gdu_cv_have_gdu" = "yes"; then
++ :
++else
++ :
++fi
++
++
++
++# Check whether --with-help-dir was given.
++if test "${with_help_dir+set}" = set; then
++ withval=$with_help_dir;
++else
++ with_help_dir='${datadir}/gnome/help'
++fi
++
++HELP_DIR="$with_help_dir"
++
++
++
++# Check whether --with-omf-dir was given.
++if test "${with_omf_dir+set}" = set; then
++ withval=$with_omf_dir;
++else
++ with_omf_dir='${datadir}/omf'
++fi
++
++OMF_DIR="$with_omf_dir"
++
++
++
++# Check whether --with-help-formats was given.
++if test "${with_help_formats+set}" = set; then
++ withval=$with_help_formats;
++else
++ with_help_formats=''
++fi
++
++DOC_USER_FORMATS="$with_help_formats"
++
++
++# Check whether --enable-scrollkeeper was given.
++if test "${enable_scrollkeeper+set}" = set; then
++ enableval=$enable_scrollkeeper;
++else
++ enable_scrollkeeper=yes
++fi
++
++
++
++if test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"; then
++ ENABLE_SK_TRUE=
++ ENABLE_SK_FALSE='#'
++else
++ ENABLE_SK_TRUE='#'
++ ENABLE_SK_FALSE=
++fi
++
++
++DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
++
++
++
++
++if test "$gdu_cv_have_gdu" = "yes"; then
++ HAVE_GNOME_DOC_UTILS_TRUE=
++ HAVE_GNOME_DOC_UTILS_FALSE='#'
++else
++ HAVE_GNOME_DOC_UTILS_TRUE='#'
++ HAVE_GNOME_DOC_UTILS_FALSE=
++fi
++
++
++
+ fi
+
+
diff --git a/net-voip/ekiga/files/ekiga-3.2.7-libnotify-0.7.patch b/net-voip/ekiga/files/ekiga-3.2.7-libnotify-0.7.patch
new file mode 100644
index 000000000000..c09fbb0f95fc
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-3.2.7-libnotify-0.7.patch
@@ -0,0 +1,62 @@
+--- lib/engine/components/libnotify/libnotify-main.cpp
++++ lib/engine/components/libnotify/libnotify-main.cpp
+@@ -40,6 +40,10 @@
+
+ #include <libnotify/notify.h>
+
++#ifndef NOTIFY_CHECK_VERSION
++#define NOTIFY_CHECK_VERSION(x,y,z) 0
++#endif
++
+ #include "services.h"
+ #include "notification-core.h"
+
+@@ -158,7 +162,12 @@
+
+ notif = notify_notification_new (notification->get_title ().c_str (),
+ notification->get_body ().c_str (),
+- urgency, NULL);
++ urgency
++#if NOTIFY_CHECK_VERSION (0, 7, 0)
++ );
++#else
++ , NULL);
++#endif
+
+ g_signal_connect (notif, "closed",
+ G_CALLBACK (on_notif_closed), notification.get ());
+--- src/gui/main.cpp
++++ src/gui/main.cpp
+@@ -84,6 +84,9 @@
+
+ #ifdef HAVE_NOTIFY
+ #include <libnotify/notify.h>
++#ifndef NOTIFY_CHECK_VERSION
++#define NOTIFY_CHECK_VERSION(x,y,z) 0
++#endif
+ #endif
+
+ #if defined(P_FREEBSD) || defined (P_MACOSX)
+@@ -2820,12 +2823,21 @@
+
+ body = g_strdup_printf ("%s\n%s\n%s", uri, app, account);
+
+- notify = notify_notification_new (title, body, GM_ICON_LOGO, NULL);
++ notify = notify_notification_new (title, body, GM_ICON_LOGO
++#if NOTIFY_CHECK_VERSION (0, 7, 0)
++ );
++#else
++ , NULL);
++#endif
+ notify_notification_add_action (notify, "accept", _("Accept"), notify_action_cb, mw, NULL);
+ notify_notification_add_action (notify, "reject", _("Reject"), notify_action_cb, mw, NULL);
+ notify_notification_set_timeout (notify, NOTIFY_EXPIRES_NEVER);
+ notify_notification_set_urgency (notify, NOTIFY_URGENCY_CRITICAL);
++#if NOTIFY_CHECK_VERSION (0, 7, 0)
++ // notify_notification_attach_to_status_icon was removed
++#else
+ notify_notification_attach_to_status_icon (notify, statusicon);
++#endif
+ if (!notify_notification_show (notify, NULL)) {
+ ekiga_main_window_incoming_call_dialog_show (mw, call);
+ }
diff --git a/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff b/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff
new file mode 100644
index 000000000000..f165c63e36b2
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff
@@ -0,0 +1,95 @@
+Index: eggtrayicon.c
+===================================================================
+RCS file: /cvs/gnome/libegg/libegg/tray/eggtrayicon.c,v
+retrieving revision 1.8
+diff -u -r1.8 eggtrayicon.c
+--- lib/gui/gmtray/eggtrayicon.c 16 Jun 2005 13:27:40 -0000 1.8
++++ lib/gui/gmtray/eggtrayicon.c 22 Feb 2006 21:35:25 -0000
+@@ -67,6 +67,9 @@
+ static void egg_tray_icon_realize (GtkWidget *widget);
+ static void egg_tray_icon_unrealize (GtkWidget *widget);
+
++static void egg_tray_icon_add (GtkContainer *container,
++ GtkWidget *widget);
++
+ #ifdef GDK_WINDOWING_X11
+ static void egg_tray_icon_update_manager_window (EggTrayIcon *icon,
+ gboolean dock_if_realized);
+@@ -113,6 +116,7 @@
+ {
+ GObjectClass *gobject_class = (GObjectClass *)klass;
+ GtkWidgetClass *widget_class = (GtkWidgetClass *)klass;
++ GtkContainerClass *container_class = (GtkContainerClass *)klass;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+@@ -121,6 +125,8 @@
+ widget_class->realize = egg_tray_icon_realize;
+ widget_class->unrealize = egg_tray_icon_unrealize;
+
++ container_class->add = egg_tray_icon_add;
++
+ g_object_class_install_property (gobject_class,
+ PROP_ORIENTATION,
+ g_param_spec_enum ("orientation",
+@@ -367,6 +373,36 @@
+
+ #endif
+
++static gboolean
++transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
++{
++ gdk_window_clear_area (widget->window, event->area.x, event->area.y,
++ event->area.width, event->area.height);
++ return FALSE;
++}
++
++static void
++make_transparent_again (GtkWidget *widget, GtkStyle *previous_style,
++ gpointer user_data)
++{
++ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++}
++
++static void
++make_transparent (GtkWidget *widget, gpointer user_data)
++{
++ if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
++ return;
++
++ gtk_widget_set_app_paintable (widget, TRUE);
++ gtk_widget_set_double_buffered (widget, FALSE);
++ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++ g_signal_connect (widget, "expose_event",
++ G_CALLBACK (transparent_expose_event), NULL);
++ g_signal_connect_after (widget, "style_set",
++ G_CALLBACK (make_transparent_again), NULL);
++}
++
+ static void
+ egg_tray_icon_realize (GtkWidget *widget)
+ {
+@@ -381,6 +417,8 @@
+ if (GTK_WIDGET_CLASS (parent_class)->realize)
+ GTK_WIDGET_CLASS (parent_class)->realize (widget);
+
++ make_transparent (widget, NULL);
++
+ screen = gtk_widget_get_screen (widget);
+ display = gdk_screen_get_display (screen);
+ xdisplay = gdk_x11_display_get_xdisplay (display);
+@@ -411,6 +449,14 @@
+ gdk_window_add_filter (root_window,
+ egg_tray_icon_manager_filter, icon);
+ #endif
++}
++
++static void
++egg_tray_icon_add (GtkContainer *container, GtkWidget *widget)
++{
++ g_signal_connect (widget, "realize",
++ G_CALLBACK (make_transparent), NULL);
++ GTK_CONTAINER_CLASS (parent_class)->add (container, widget);
+ }
+
+ EggTrayIcon *
diff --git a/net-voip/ekiga/files/ekiga-eggtrayicon-update.diff b/net-voip/ekiga/files/ekiga-eggtrayicon-update.diff
new file mode 100644
index 000000000000..a7dcb286afa7
--- /dev/null
+++ b/net-voip/ekiga/files/ekiga-eggtrayicon-update.diff
@@ -0,0 +1,535 @@
+--- lib/gui/gmtray/eggtrayicon.c 2006-01-07 09:25:47.000000000 +0100
++++ lib/gui/gmtray/eggtrayicon.c 2006-06-03 01:00:21.000000000 +0200
+@@ -18,22 +18,60 @@
+ * Boston, MA 02111-1307, USA.
+ */
+
++#include <config.h>
+ #include <string.h>
+-#ifndef WIN32
++#include <libintl.h>
++
++#include "eggtrayicon.h"
++
++#include <gdkconfig.h>
++#if defined (GDK_WINDOWING_X11)
+ #include <gdk/gdkx.h>
++#include <X11/Xatom.h>
++#elif defined (GDK_WINDOWING_WIN32)
++#include <gdk/gdkwin32.h>
++#endif
++
++#ifndef EGG_COMPILATION
++#ifndef _
++#define _(x) dgettext (GETTEXT_PACKAGE, x)
++#define N_(x) x
++#endif
++#else
++#define _(x) x
++#define N_(x) x
+ #endif
+-#include "eggtrayicon.h"
+
+ #define SYSTEM_TRAY_REQUEST_DOCK 0
+ #define SYSTEM_TRAY_BEGIN_MESSAGE 1
+ #define SYSTEM_TRAY_CANCEL_MESSAGE 2
++
++#define SYSTEM_TRAY_ORIENTATION_HORZ 0
++#define SYSTEM_TRAY_ORIENTATION_VERT 1
++
++enum {
++ PROP_0,
++ PROP_ORIENTATION
++};
+
+ static GtkPlugClass *parent_class = NULL;
+
+ static void egg_tray_icon_init (EggTrayIcon *icon);
+ static void egg_tray_icon_class_init (EggTrayIconClass *klass);
+
+-static void egg_tray_icon_update_manager_window (EggTrayIcon *icon);
++static void egg_tray_icon_get_property (GObject *object,
++ guint prop_id,
++ GValue *value,
++ GParamSpec *pspec);
++
++static void egg_tray_icon_realize (GtkWidget *widget);
++static void egg_tray_icon_unrealize (GtkWidget *widget);
++
++#ifdef GDK_WINDOWING_X11
++static void egg_tray_icon_update_manager_window (EggTrayIcon *icon,
++ gboolean dock_if_realized);
++static void egg_tray_icon_manager_window_destroyed (EggTrayIcon *icon);
++#endif
+
+ GType
+ egg_tray_icon_get_type (void)
+@@ -65,6 +103,7 @@
+ egg_tray_icon_init (EggTrayIcon *icon)
+ {
+ icon->stamp = 1;
++ icon->orientation = GTK_ORIENTATION_HORIZONTAL;
+
+ gtk_widget_add_events (GTK_WIDGET (icon), GDK_PROPERTY_CHANGE_MASK);
+ }
+@@ -72,7 +111,105 @@
+ static void
+ egg_tray_icon_class_init (EggTrayIconClass *klass)
+ {
++ GObjectClass *gobject_class = (GObjectClass *)klass;
++ GtkWidgetClass *widget_class = (GtkWidgetClass *)klass;
++
+ parent_class = g_type_class_peek_parent (klass);
++
++ gobject_class->get_property = egg_tray_icon_get_property;
++
++ widget_class->realize = egg_tray_icon_realize;
++ widget_class->unrealize = egg_tray_icon_unrealize;
++
++ g_object_class_install_property (gobject_class,
++ PROP_ORIENTATION,
++ g_param_spec_enum ("orientation",
++ _("Orientation"),
++ _("The orientation of the tray."),
++ GTK_TYPE_ORIENTATION,
++ GTK_ORIENTATION_HORIZONTAL,
++ G_PARAM_READABLE));
++
++#if defined (GDK_WINDOWING_X11)
++ /* Nothing */
++#elif defined (GDK_WINDOWING_WIN32)
++ g_warning ("Port eggtrayicon to Win32");
++#else
++ g_warning ("Port eggtrayicon to this GTK+ backend");
++#endif
++}
++
++static void
++egg_tray_icon_get_property (GObject *object,
++ guint prop_id,
++ GValue *value,
++ GParamSpec *pspec)
++{
++ EggTrayIcon *icon = EGG_TRAY_ICON (object);
++
++ switch (prop_id)
++ {
++ case PROP_ORIENTATION:
++ g_value_set_enum (value, icon->orientation);
++ break;
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ break;
++ }
++}
++
++#ifdef GDK_WINDOWING_X11
++
++static void
++egg_tray_icon_get_orientation_property (EggTrayIcon *icon)
++{
++ Display *xdisplay;
++ Atom type;
++ int format;
++ union {
++ gulong *prop;
++ guchar *prop_ch;
++ } prop = { NULL };
++ gulong nitems;
++ gulong bytes_after;
++ int error, result;
++
++ g_assert (icon->manager_window != None);
++
++ xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon)));
++
++ gdk_error_trap_push ();
++ type = None;
++ result = XGetWindowProperty (xdisplay,
++ icon->manager_window,
++ icon->orientation_atom,
++ 0, G_MAXLONG, FALSE,
++ XA_CARDINAL,
++ &type, &format, &nitems,
++ &bytes_after, &(prop.prop_ch));
++ error = gdk_error_trap_pop ();
++
++ if (error || result != Success)
++ return;
++
++ if (type == XA_CARDINAL)
++ {
++ GtkOrientation orientation;
++
++ orientation = (prop.prop [0] == SYSTEM_TRAY_ORIENTATION_HORZ) ?
++ GTK_ORIENTATION_HORIZONTAL :
++ GTK_ORIENTATION_VERTICAL;
++
++ if (icon->orientation != orientation)
++ {
++ icon->orientation = orientation;
++
++ g_object_notify (G_OBJECT (icon), "orientation");
++ }
++ }
++
++ if (prop.prop)
++ XFree (prop.prop);
+ }
+
+ static GdkFilterReturn
+@@ -85,19 +222,53 @@
+ xev->xclient.message_type == icon->manager_atom &&
+ xev->xclient.data.l[1] == icon->selection_atom)
+ {
+- egg_tray_icon_update_manager_window (icon);
++ egg_tray_icon_update_manager_window (icon, TRUE);
+ }
+ else if (xev->xany.window == icon->manager_window)
+ {
++ if (xev->xany.type == PropertyNotify &&
++ xev->xproperty.atom == icon->orientation_atom)
++ {
++ egg_tray_icon_get_orientation_property (icon);
++ }
+ if (xev->xany.type == DestroyNotify)
+ {
+- egg_tray_icon_update_manager_window (icon);
++ egg_tray_icon_manager_window_destroyed (icon);
+ }
+ }
+-
+ return GDK_FILTER_CONTINUE;
+ }
+
++#endif
++
++static void
++egg_tray_icon_unrealize (GtkWidget *widget)
++{
++#ifdef GDK_WINDOWING_X11
++ EggTrayIcon *icon = EGG_TRAY_ICON (widget);
++ GdkWindow *root_window;
++
++ if (icon->manager_window != None)
++ {
++ GdkWindow *gdkwin;
++
++ gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget),
++ icon->manager_window);
++
++ gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon);
++ }
++
++ root_window = gdk_screen_get_root_window (gtk_widget_get_screen (widget));
++
++ gdk_window_remove_filter (root_window, egg_tray_icon_manager_filter, icon);
++
++ if (GTK_WIDGET_CLASS (parent_class)->unrealize)
++ (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
++#endif
++}
++
++#ifdef GDK_WINDOWING_X11
++
+ static void
+ egg_tray_icon_send_manager_message (EggTrayIcon *icon,
+ long message,
+@@ -119,11 +290,7 @@
+ ev.data.l[3] = data2;
+ ev.data.l[4] = data3;
+
+-#if HAVE_GTK_MULTIHEAD
+ display = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon)));
+-#else
+- display = gdk_display;
+-#endif
+
+ gdk_error_trap_push ();
+ XSendEvent (display,
+@@ -143,29 +310,15 @@
+ }
+
+ static void
+-egg_tray_icon_update_manager_window (EggTrayIcon *icon)
++egg_tray_icon_update_manager_window (EggTrayIcon *icon,
++ gboolean dock_if_realized)
+ {
+ Display *xdisplay;
+
+-#if HAVE_GTK_MULTIHEAD
+- xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon)));
+-#else
+- xdisplay = gdk_display;
+-#endif
+-
+ if (icon->manager_window != None)
+- {
+- GdkWindow *gdkwin;
++ return;
+
+-#if HAVE_GTK_MULTIHEAD
+- gdkwin = gdk_window_lookup_for_display (display,
+- icon->manager_window);
+-#else
+- gdkwin = gdk_window_lookup (icon->manager_window);
+-#endif
+-
+- gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon);
+- }
++ xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon)));
+
+ XGrabServer (xdisplay);
+
+@@ -174,7 +327,7 @@
+
+ if (icon->manager_window != None)
+ XSelectInput (xdisplay,
+- icon->manager_window, StructureNotifyMask);
++ icon->manager_window, StructureNotifyMask|PropertyChangeMask);
+
+ XUngrabServer (xdisplay);
+ XFlush (xdisplay);
+@@ -183,87 +336,95 @@
+ {
+ GdkWindow *gdkwin;
+
+-#if HAVE_GTK_MULTIHEAD
+ gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)),
+ icon->manager_window);
+-#else
+- gdkwin = gdk_window_lookup (icon->manager_window);
+-#endif
+
+ gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon);
+
+- /* Send a request that we'd like to dock */
+- egg_tray_icon_send_dock_request (icon);
++ if (dock_if_realized && GTK_WIDGET_REALIZED (icon))
++ egg_tray_icon_send_dock_request (icon);
++
++ egg_tray_icon_get_orientation_property (icon);
+ }
+ }
+
+-EggTrayIcon *
+-egg_tray_icon_new_for_xscreen (Screen *xscreen, const char *name)
++static void
++egg_tray_icon_manager_window_destroyed (EggTrayIcon *icon)
+ {
+- EggTrayIcon *icon;
++ GdkWindow *gdkwin;
++
++ g_return_if_fail (icon->manager_window != None);
++
++ gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)),
++ icon->manager_window);
++
++ gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon);
++
++ icon->manager_window = None;
++
++ egg_tray_icon_update_manager_window (icon, TRUE);
++}
++
++#endif
++
++static void
++egg_tray_icon_realize (GtkWidget *widget)
++{
++#ifdef GDK_WINDOWING_X11
++ EggTrayIcon *icon = EGG_TRAY_ICON (widget);
++ GdkScreen *screen;
++ GdkDisplay *display;
++ Display *xdisplay;
+ char buffer[256];
+ GdkWindow *root_window;
+
+- g_return_val_if_fail (xscreen != NULL, NULL);
+-
+- icon = g_object_new (EGG_TYPE_TRAY_ICON, NULL);
+- gtk_window_set_title (GTK_WINDOW (icon), name);
++ if (GTK_WIDGET_CLASS (parent_class)->realize)
++ GTK_WIDGET_CLASS (parent_class)->realize (widget);
+
+-#if HAVE_GTK_MULTIHEAD
+- gtk_plug_construct_for_display (GTK_PLUG (icon),
+- gdk_screen_get_display (screen), 0);
+-#else
+- gtk_plug_construct (GTK_PLUG (icon), 0);
+-#endif
+-
+- gtk_widget_realize (GTK_WIDGET (icon));
++ screen = gtk_widget_get_screen (widget);
++ display = gdk_screen_get_display (screen);
++ xdisplay = gdk_x11_display_get_xdisplay (display);
+
+ /* Now see if there's a manager window around */
+ g_snprintf (buffer, sizeof (buffer),
+ "_NET_SYSTEM_TRAY_S%d",
+- XScreenNumberOfScreen (xscreen));
+-
+- icon->selection_atom = XInternAtom (DisplayOfScreen (xscreen),
+- buffer, False);
++ gdk_screen_get_number (screen));
++
++ icon->selection_atom = XInternAtom (xdisplay, buffer, False);
+
+- icon->manager_atom = XInternAtom (DisplayOfScreen (xscreen),
+- "MANAGER", False);
++ icon->manager_atom = XInternAtom (xdisplay, "MANAGER", False);
+
+- icon->system_tray_opcode_atom = XInternAtom (DisplayOfScreen (xscreen),
+- "_NET_SYSTEM_TRAY_OPCODE", False);
++ icon->system_tray_opcode_atom = XInternAtom (xdisplay,
++ "_NET_SYSTEM_TRAY_OPCODE",
++ False);
++
++ icon->orientation_atom = XInternAtom (xdisplay,
++ "_NET_SYSTEM_TRAY_ORIENTATION",
++ False);
+
+- egg_tray_icon_update_manager_window (icon);
++ egg_tray_icon_update_manager_window (icon, FALSE);
++ egg_tray_icon_send_dock_request (icon);
+
+-#if HAVE_GTK_MULTIHEAD
+ root_window = gdk_screen_get_root_window (screen);
+-#else
+- root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ());
+-#endif
+
+ /* Add a root window filter so that we get changes on MANAGER */
+ gdk_window_add_filter (root_window,
+ egg_tray_icon_manager_filter, icon);
+-
+- return icon;
++#endif
+ }
+
+-#if HAVE_GTK_MULTIHEAD
+ EggTrayIcon *
+ egg_tray_icon_new_for_screen (GdkScreen *screen, const char *name)
+ {
+- EggTrayIcon *icon;
+- char buffer[256];
+-
+ g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
+
+- return egg_tray_icon_new_for_xscreen (GDK_SCREEN_XSCREEN (screen), name);
++ return g_object_new (EGG_TYPE_TRAY_ICON, "screen", screen, "title", name, NULL);
+ }
+-#endif
+
+ EggTrayIcon*
+ egg_tray_icon_new (const gchar *name)
+ {
+- return egg_tray_icon_new_for_xscreen (DefaultScreenOfDisplay (gdk_display), name);
++ return g_object_new (EGG_TYPE_TRAY_ICON, "title", name, NULL);
+ }
+
+ guint
+@@ -278,14 +439,17 @@
+ g_return_val_if_fail (timeout >= 0, 0);
+ g_return_val_if_fail (message != NULL, 0);
+
++#ifdef GDK_WINDOWING_X11
+ if (icon->manager_window == None)
+ return 0;
++#endif
+
+ if (len < 0)
+ len = strlen (message);
+
+ stamp = icon->stamp++;
+
++#ifdef GDK_WINDOWING_X11
+ /* Get ready to send the message */
+ egg_tray_icon_send_manager_message (icon, SYSTEM_TRAY_BEGIN_MESSAGE,
+ (Window)gtk_plug_get_id (GTK_PLUG (icon)),
+@@ -298,11 +462,7 @@
+ XClientMessageEvent ev;
+ Display *xdisplay;
+
+-#if HAVE_GTK_MULTIHEAD
+ xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon)));
+-#else
+- xdisplay = gdk_display;
+-#endif
+
+ ev.type = ClientMessage;
+ ev.window = (Window)gtk_plug_get_id (GTK_PLUG (icon));
+@@ -326,6 +486,7 @@
+ XSync (xdisplay, False);
+ }
+ gdk_error_trap_pop ();
++#endif
+
+ return stamp;
+ }
+@@ -336,8 +497,17 @@
+ {
+ g_return_if_fail (EGG_IS_TRAY_ICON (icon));
+ g_return_if_fail (id > 0);
+-
++#ifdef GDK_WINDOWING_X11
+ egg_tray_icon_send_manager_message (icon, SYSTEM_TRAY_CANCEL_MESSAGE,
+ (Window)gtk_plug_get_id (GTK_PLUG (icon)),
+ id, 0, 0);
++#endif
++}
++
++GtkOrientation
++egg_tray_icon_get_orientation (EggTrayIcon *icon)
++{
++ g_return_val_if_fail (EGG_IS_TRAY_ICON (icon), GTK_ORIENTATION_HORIZONTAL);
++
++ return icon->orientation;
+ }
+--- lib/gui/gmtray/eggtrayicon.h 2006-01-07 09:25:47.000000000 +0100
++++ lib/gui/gmtray/eggtrayicon.h 2006-06-03 01:00:42.000000000 +0200
+@@ -22,7 +22,9 @@
+ #define __EGG_TRAY_ICON_H__
+
+ #include <gtk/gtkplug.h>
++#ifdef GDK_WINDOWING_X11
+ #include <gdk/gdkx.h>
++#endif
+
+ G_BEGIN_DECLS
+
+@@ -42,10 +44,14 @@
+
+ guint stamp;
+
++#ifdef GDK_WINDOWING_X11
+ Atom selection_atom;
+ Atom manager_atom;
+ Atom system_tray_opcode_atom;
++ Atom orientation_atom;
+ Window manager_window;
++#endif
++ GtkOrientation orientation;
+ };
+
+ struct _EggTrayIconClass
+@@ -55,10 +61,8 @@
+
+ GType egg_tray_icon_get_type (void);
+
+-#if EGG_TRAY_ENABLE_MULTIHEAD
+ EggTrayIcon *egg_tray_icon_new_for_screen (GdkScreen *screen,
+ const gchar *name);
+-#endif
+
+ EggTrayIcon *egg_tray_icon_new (const gchar *name);
+
+@@ -69,7 +73,7 @@
+ void egg_tray_icon_cancel_message (EggTrayIcon *icon,
+ guint id);
+
+-
++GtkOrientation egg_tray_icon_get_orientation (EggTrayIcon *icon);
+
+ G_END_DECLS
+
diff --git a/net-voip/ekiga/files/not-gnome.patch b/net-voip/ekiga/files/not-gnome.patch
new file mode 100644
index 000000000000..79fe60104c36
--- /dev/null
+++ b/net-voip/ekiga/files/not-gnome.patch
@@ -0,0 +1,13 @@
+Index: ekiga-2.0.11/lib/gmconf/gmconf-glib.c
+===================================================================
+--- ekiga-2.0.11.orig/lib/gmconf/gmconf-glib.c
++++ ekiga-2.0.11/lib/gmconf/gmconf-glib.c
+@@ -1473,7 +1473,7 @@ gm_conf_destroy (const gchar *namespac)
+ }
+
+ gboolean
+-gm_conf_is_key_writable (gchar *key)
++gm_conf_is_key_writable (const gchar *key)
+ {
+ g_return_val_if_fail (key != NULL, FALSE);
+
diff --git a/net-voip/ekiga/metadata.xml b/net-voip/ekiga/metadata.xml
new file mode 100644
index 000000000000..de676811fdb8
--- /dev/null
+++ b/net-voip/ekiga/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <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="static">Statically link to opal and ptlib</flag>
+ <flag name="xcap">Enable XML Configuration Access Protocal</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/net-voip/gnugk/Manifest b/net-voip/gnugk/Manifest
new file mode 100644
index 000000000000..0bc6dae336ac
--- /dev/null
+++ b/net-voip/gnugk/Manifest
@@ -0,0 +1 @@
+DIST gnugk-3.4.tar.gz 1110806 SHA256 7640f338260534b17dbb3fedaa3715b50dac8704f3552f604bd84d723bc71a6b SHA512 ae13bee0d7a69024fae9562919491e47b19bbcc13cc5c5fe74743fa036511bb324d1aac77e9bafce09642d55704ad22d110516b6c4ad8e69d8abfe35c250a628 WHIRLPOOL 218fa010b67de0249ae17b37aa493de38f96c4c53217239786943b832d6cf46c28b15f5d672d666efad5e58a5a838ecf3dc804cfe8da51a39901aba52cc0c05b
diff --git a/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch b/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch
new file mode 100644
index 000000000000..3a3088e47a07
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch
@@ -0,0 +1,53 @@
+diff -ur a/configure.in b/configure.in
+--- a/configure.in 2013-01-14 23:56:02.000000000 +0100
++++ b/configure.in 2013-03-05 21:24:02.639204755 +0100
+@@ -203,16 +203,16 @@
+ AC_CHECK_FILE(${OPENH323MAKEDIR}/openh323buildopts.h, HAS_OPENH323_VERSIONFILE=1)
+ if test "${HAS_OPENH323_VERSIONFILE:-unset}" != "unset"; then
+ OPENH323_VERSION_FILE=${OPENH323MAKEDIR}/openh323buildopts.h
+- OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MAJOR | cut -f3 -d' '`
+- OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MINOR | cut -f3 -d' '`
+- OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_BUILD | cut -f3 -d' '`
++ OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MAJOR | cut -f3 -d' '`
++ OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MINOR | cut -f3 -d' '`
++ OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_BUILD | cut -f3 -d' '`
+ else
+ AC_CHECK_FILE(${OPENH323MAKEDIR}/../../include/openh323/openh323buildopts.h, HAS_OPENH323_VERSIONFILE=1)
+ if test "${HAS_OPENH323_VERSIONFILE:-unset}" != "unset"; then
+ OPENH323_VERSION_FILE=${OPENH323MAKEDIR}/../../include/openh323/openh323buildopts.h
+- OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MAJOR | cut -f2 -d' '`
+- OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MINOR | cut -f2 -d' '`
+- OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep "OPENH323_BUILD " | cut -f2 -d' '`
++ OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MAJOR | cut -f3 -d' '`
++ OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MINOR | cut -f3 -d' '`
++ OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep -m1 "OPENH323_BUILD " | cut -f3 -d' '`
+ fi
+ fi
+ fi
+@@ -269,7 +269,7 @@
+ [ h46017="${enableval}" ], [h46017="yes"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46017}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
+@@ -301,7 +301,7 @@
+ [ h46018="${enableval}" ], [h46018="no"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46018}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
+@@ -332,7 +332,7 @@
+ [ h46023="${enableval}" ], [h46023="yes"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46023}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
diff --git a/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch b/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch
new file mode 100644
index 000000000000..e803ef09a933
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch
@@ -0,0 +1,11 @@
+diff -ur a/lua.cxx b/lua.cxx
+--- a/lua.cxx 2012-12-28 21:35:42.000000000 +0100
++++ b/lua.cxx 2013-03-05 22:08:21.823141158 +0100
+@@ -20,6 +20,7 @@
+ #include "Routing.h"
+ #include "gk_const.h"
+ #include "snmp.h"
++#include "Toolkit.h"
+
+ #include <lua.hpp>
+
diff --git a/net-voip/gnugk/files/gnugk-3.4-ptrace.patch b/net-voip/gnugk/files/gnugk-3.4-ptrace.patch
new file mode 100644
index 000000000000..872de059d178
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.4-ptrace.patch
@@ -0,0 +1,414 @@
+diff -ur a/capctrl.cxx b/capctrl.cxx
+--- a/capctrl.cxx 2011-11-28 13:33:41.000000000 +0100
++++ b/capctrl.cxx 2013-10-01 13:20:47.712492425 +0200
+@@ -255,6 +255,7 @@
+ m_cliCallVolumes = cliCallVolumes;
+
+ PTRACE(5, "CAPCTRL\t" << ipRules << " IP rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per IP call volume rules:" << endl;
+@@ -264,8 +265,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CAPCTRL\t" << h323IdRules << " H.323 ID rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per H.323 ID call volume rules:" << endl;
+@@ -275,8 +278,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CAPCTRL\t" << cliRules << " CLI rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per CLI call volume rules:" << endl;
+@@ -286,6 +291,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+ }
+
+ PString CapacityControl::PrintRules()
+diff -ur a/clirw.cxx b/clirw.cxx
+--- a/clirw.cxx 2013-09-02 21:57:18.000000000 +0200
++++ b/clirw.cxx 2013-10-01 13:20:47.713492425 +0200
+@@ -458,6 +458,7 @@
+ }
+
+ PTRACE(5, "CLIRW\t" << inboundRules << " inbound rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Inbound CLI rewrite rules:" << endl;
+@@ -468,8 +469,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CLIRW\t" << outboundRules << " outbound rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Outbound CLI rewrite rules:" << endl;
+@@ -482,6 +485,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ m_processSourceAddress = Toolkit::AsBool(cfg->GetString(CLIRewriteSection, ProcessSourceAddress, "1"));
+ m_removeH323Id = Toolkit::AsBool(cfg->GetString(CLIRewriteSection, RemoveH323Id, "1"));
+diff -ur a/gkacct.cxx b/gkacct.cxx
+--- a/gkacct.cxx 2013-07-31 15:03:07.000000000 +0200
++++ b/gkacct.cxx 2013-10-01 13:20:47.714492425 +0200
+@@ -924,6 +924,7 @@
+ switch (status)
+ {
+ case GkAcctLogger::Ok:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3,__FILE__,__LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " logged event " << evt;
+@@ -931,9 +932,11 @@
+ strm << " for call no. " << call->GetCallNumber();
+ PTrace::End(strm);
+ }
++#endif
+ break;
+
+ default:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3, __FILE__, __LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " failed to log event " << evt;
+@@ -942,6 +945,7 @@
+ strm << " for call no. " << call->GetCallNumber();
+ PTrace::End(strm);
+ }
++#endif
+ // required and sufficient rules always determine
+ // status of the request
+ if (logger->GetControlFlag() == GkAcctLogger::Required
+@@ -959,7 +963,8 @@
+ // a last rule determine status of the the request
+ if (finalResult && status != GkAcctLogger::Ok)
+ finalResult = false;
+-
++
++#if PTRACING
+ if (PTrace::CanTrace(2)) {
+ ostream& strm = PTrace::Begin(2, __FILE__, __LINE__);
+ strm << "GKACCT\t" << (finalResult ? "Successfully logged event "
+@@ -972,6 +977,7 @@
+ SNMP_TRAP(7, SNMPError, Accounting, "Failed to log event " + PString(PString::Unsigned, evt));
+ #endif
+ }
++#endif
+ return finalResult;
+ }
+
+@@ -994,6 +1000,7 @@
+ switch (status)
+ {
+ case GkAcctLogger::Ok:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3,__FILE__,__LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " logged event " << evt;
+@@ -1001,9 +1008,11 @@
+ strm << " for endpoint " << ep->GetEndpointIdentifier().GetValue();
+ PTrace::End(strm);
+ }
++#endif
+ break;
+
+ default:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3, __FILE__, __LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " failed to log event " << evt;
+@@ -1012,6 +1021,7 @@
+ PTrace::End(strm);
+ SNMP_TRAP(7, SNMPError, Accounting, logger->GetName() + " failed to log event " + PString(evt));
+ }
++#endif
+ // required and sufficient rules always determine
+ // status of the request
+ if (logger->GetControlFlag() == GkAcctLogger::Required
+@@ -1030,6 +1040,7 @@
+ if (finalResult && status != GkAcctLogger::Ok)
+ finalResult = false;
+
++#if PTRACING
+ if (PTrace::CanTrace(2)) {
+ ostream& strm = PTrace::Begin(2, __FILE__, __LINE__);
+ strm << "GKACCT\t" << (finalResult ? "Successfully logged event "
+@@ -1042,6 +1053,7 @@
+ SNMP_TRAP(7, SNMPError, Accounting, "Failed to log event " + PString(PString::Unsigned, evt));
+ #endif
+ }
++#endif
+ return finalResult;
+ }
+
+diff -ur a/gk.cxx b/gk.cxx
+--- a/gk.cxx 2013-09-19 15:27:22.000000000 +0200
++++ b/gk.cxx 2013-10-01 13:20:47.715492425 +0200
+@@ -1212,9 +1212,11 @@
+ bool Gatekeeper::InitLogging(const PArgList & args)
+ {
+ // Syslog is the default when compiled as service, but we don't want that
++#if PTRACING
+ PTrace::ClearOptions(PTrace::SystemLogStream);
+ PTrace::SetOptions(PTrace::DateAndTime | PTrace::TraceLevel | PTrace::FileAndLine);
+ PTrace::SetLevel(args.GetOptionCount('t'));
++#endif
+ if (args.HasOption('o')) {
+ if (!SetLogFilename(args.GetOptionString('o'))) {
+ cerr << "Warning: could not open the log file \""
+@@ -1717,7 +1719,9 @@
+ EnableLogFileRotation(false);
+ }
+
++#if PTRACING
+ PTrace::SetStream(&cerr);
++#endif
+
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+@@ -1732,7 +1736,9 @@
+ return false;
+ }
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ return true;
+ }
+
+@@ -1742,7 +1748,9 @@
+
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed (log file rotation)");
++#if PTRACING
+ PTrace::SetStream(&cerr); // redirect to cerr
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+@@ -1779,7 +1787,9 @@
+ }
+
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ PTRACEX(1, "GK\tLogging restarted\n" + Toolkit::GKVersion());
+ return true;
+ }
+@@ -1790,7 +1800,9 @@
+
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed (reopen log file)");
++#if PTRACING
+ PTrace::SetStream(&cerr); // redirect to cerr
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+@@ -1819,7 +1831,9 @@
+ }
+ }
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ PTRACEX(1, "GK\tLogging restarted\n" + Toolkit::GKVersion());
+ return true;
+ }
+@@ -1831,7 +1845,9 @@
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed");
+ }
++#if PTRACING
+ PTrace::SetStream(&cerr);
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+diff -ur a/GkStatus.cxx b/GkStatus.cxx
+--- a/GkStatus.cxx 2013-09-12 12:51:56.000000000 +0200
++++ b/GkStatus.cxx 2013-10-01 13:20:47.716492425 +0200
+@@ -1327,6 +1327,7 @@
+ );
+ } else {
+ if (args[1] *= "trc") {
++#if PTRACING
+ if(args.GetSize() >= 3) {
+ if((args[2] == "-") && (PTrace::GetLevel() > 0))
+ PTrace::SetLevel(PTrace::GetLevel()-1);
+@@ -1335,6 +1336,7 @@
+ else PTrace::SetLevel(args[2].AsInteger());
+ }
+ WriteString(PString(PString::Printf, "Trace Level is now %d\r\n", PTrace::GetLevel()));
++#endif
+ } else if (args[1] *= "cfg") {
+ if (args.GetSize()>=4)
+ WriteString(GkConfig()->GetString(args[2],args[3],"") + "\r\n;\r\n");
+diff -ur a/ipauth.cxx b/ipauth.cxx
+--- a/ipauth.cxx 2013-08-03 14:26:19.000000000 +0200
++++ b/ipauth.cxx 2013-10-01 13:20:47.716492425 +0200
+@@ -230,6 +230,7 @@
+
+ PTRACE(5, GetName() << "\t" << m_authList.size() << " entries loaded");
+
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << GetName() << " entries:\n";
+@@ -242,6 +243,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ if (dynamicCfg) {
+ delete cfg;
+diff -ur a/ProxyChannel.cxx b/ProxyChannel.cxx
+--- a/ProxyChannel.cxx 2013-09-19 18:53:07.000000000 +0200
++++ b/ProxyChannel.cxx 2013-10-01 13:34:34.499541266 +0200
+@@ -1741,7 +1741,7 @@
+
+ m_result = Forwarding;
+
+-#ifdef HAS_H46017
++#if defined(HAS_H46017) && PTRACING
+ // only show full decode of H.460.26 RTP when level 7 trace is active
+ if (m_h46017Enabled && m_maintainConnection && (q931pdu->GetMessageType() == Q931::InformationMsg) && !PTrace::CanTrace(7)) {
+ // don't print Info message
+diff -ur a/RasSrv.cxx b/RasSrv.cxx
+--- a/RasSrv.cxx 2013-08-29 11:42:09.000000000 +0200
++++ b/RasSrv.cxx 2013-10-01 13:20:47.717492425 +0200
+@@ -245,6 +245,7 @@
+ delete msg;
+ return NULL;
+ }
++#if PTRACING
+ if ((msg->GetTag() != H225_RasMessage::e_serviceControlIndication && msg->GetTag() != H225_RasMessage::e_serviceControlResponse)
+ || PTrace::CanTrace(5)) {
+ if (PTrace::CanTrace(3))
+@@ -252,17 +253,20 @@
+ else
+ PTRACE(2, "RAS\tReceived " << msg->GetTagName() << " from " << AsString(msg->m_peerAddr, msg->m_peerPort));
+ }
++#endif
+ msg->m_localAddr = GetLocalAddr(msg->m_peerAddr);
+ return msg;
+ }
+
+ bool RasListener::SendRas(const H225_RasMessage & rasobj, const Address & addr, WORD pt)
+ {
++#if PTRACING
+ if ( ((rasobj.GetTag() != H225_RasMessage::e_serviceControlIndication && rasobj.GetTag() != H225_RasMessage::e_serviceControlResponse) && PTrace::CanTrace(3))
+ || PTrace::CanTrace(5))
+ PTRACE(3, "RAS\tSend to " << AsString(addr, pt) << '\n' << setprecision(2) << rasobj);
+ else
+ PTRACE(2, "RAS\tSend " << RasName[rasobj.GetTag()] << " to " << AsString(addr, pt));
++#endif
+
+ PPER_Stream wtstrm;
+ rasobj.Encode(wtstrm);
+diff -ur a/RasTbl.cxx b/RasTbl.cxx
+--- a/RasTbl.cxx 2013-09-12 12:51:57.000000000 +0200
++++ b/RasTbl.cxx 2013-10-01 13:20:47.719492425 +0200
+@@ -1950,6 +1950,7 @@
+ endpoints->push_back(routes.front().m_destEndpoint.operator->());
+ }
+
++#if PTRACING
+ if (PTrace::CanTrace(4)) {
+ ostream &strm = PTrace::Begin(4, __FILE__, __LINE__);
+ strm << "RASTBL\tPrefix match for gateways: ";
+@@ -1960,6 +1961,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ return true;
+ }
+diff -ur a/Routing.cxx b/Routing.cxx
+--- a/Routing.cxx 2013-04-11 07:10:34.000000000 +0200
++++ b/Routing.cxx 2013-10-01 13:20:47.719492425 +0200
+@@ -1465,6 +1465,7 @@
+ PTRACE(5, "ROUTING\t" << m_name << " policy loaded with " << m_prefixes.size()
+ << " prefix entries");
+
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "ROUTING\t" << m_name << " policy prefixes:" << endl;
+@@ -1474,6 +1475,7 @@
+ << m_prefixes[i].m_maxLength << endl;
+ PTrace::End(strm);
+ }
++#endif
+ }
+
+ bool NumberAnalysisPolicy::OnRequest(AdmissionRequest & request)
+diff -ur a/Toolkit.cxx b/Toolkit.cxx
+--- a/Toolkit.cxx 2013-09-10 17:49:47.000000000 +0200
++++ b/Toolkit.cxx 2013-10-01 13:20:47.720492425 +0200
+@@ -1025,6 +1025,7 @@
+ return;
+ }
+
++#if PTRACING
+ if (PTrace::CanTrace(3) && (m_GWRewrite.GetSize() < 100)) {
+ for (PINDEX i = 0; i < m_GWRewrite.GetSize(); ++i) {
+ // In
+@@ -1038,6 +1039,7 @@
+ }
+ }
+ }
++#endif
+ PTRACE(2, "GK\tLoaded " << m_GWRewrite.GetSize() << " GW entries with rewrite info");
+ }
+
+@@ -1727,7 +1729,9 @@
+ // read the gatekeeper name from the config file, because it might be used as a key into the SQL config
+ m_GKName = Config()->GetString("Name", "OpenH323GK");
+
++#if PTRACING
+ PTrace::SetLevel(GkConfig()->GetInteger("TraceLevel", PTrace::GetLevel()));
++#endif
+
+ // set the max size of an array in an ASN encoded message (eg. max length of alias list)
+ PINDEX maxArraySize = GkConfig()->GetInteger("MaxASNArraySize", 0);
+diff -ur a/yasocket.cxx b/yasocket.cxx
+--- a/yasocket.cxx 2013-09-04 18:11:57.000000000 +0200
++++ b/yasocket.cxx 2013-10-01 13:20:47.720492425 +0200
+@@ -1026,10 +1026,12 @@
+ return false;
+ }
+ ConfigReloadMutex.StartRead();
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ PString msg(PString::Printf, "\t%u sockets selected from %u, total %u/%u", slist.GetSize(), ss, m_socksize, m_rmsize);
+ PTRACE(6, GetName() << msg);
+ }
++#endif
+ return true;
+ }
+
diff --git a/net-voip/gnugk/files/gnugk.confd b/net-voip/gnugk/files/gnugk.confd
new file mode 100644
index 000000000000..94cfb402a7c5
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk.confd
@@ -0,0 +1,12 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+#
+# see gnugk --help for a complete list of options
+#
+OPTS=""
+
+### DON'T EDIT ANYTHING BELOW ###
+
+OPTIONS="-c /etc/gnugk/gnugk.ini --pid /var/run/gnugk.pid ${OPTS}"
diff --git a/net-voip/gnugk/files/gnugk.rc6 b/net-voip/gnugk/files/gnugk.rc6
new file mode 100755
index 000000000000..886534f7916c
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting H.323 Gatekeeper"
+ start-stop-daemon --start --quiet --background \
+ --exec /usr/sbin/gnugk -- ${OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping H.323 Gatekeeper"
+ start-stop-daemon --stop --quiet --pidfile /var/run/gnugk.pid
+ eend $?
+}
diff --git a/net-voip/gnugk/gnugk-3.4.ebuild b/net-voip/gnugk/gnugk-3.4.ebuild
new file mode 100644
index 000000000000..1ca38ee1a07c
--- /dev/null
+++ b/net-voip/gnugk/gnugk-3.4.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator
+
+MY_P1=${PN}-$(replace_version_separator 2 -)
+MY_P2=${PN}-$(get_version_component_range 1-2)
+
+DESCRIPTION="GNU H.323 gatekeeper"
+HOMEPAGE="http://www.gnugk.org/"
+SRC_URI="mirror://sourceforge/openh323gk/${MY_P1}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# dev-db/firebird isn't keyworded for ppc but firebird IUSE is masked for ppc
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc firebird lua mysql odbc postgres radius snmp sqlite ssh linguas_en linguas_es linguas_fr"
+REQUIRED_USE="doc? (
+ || ( linguas_en linguas_es linguas_fr )
+ )
+"
+
+RDEPEND="net-libs/ptlib:=
+ net-libs/h323plus:=
+ dev-libs/openssl
+ firebird? ( dev-db/firebird )
+ lua? ( dev-lang/lua )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ postgres? ( dev-db/postgresql )
+ snmp? ( net-analyzer/net-snmp )
+ ssh? ( net-libs/libssh )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}
+ doc? ( app-text/linuxdoc-tools )"
+
+S=${WORKDIR}/${MY_P2}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.4-ptrace.patch
+ epatch "${FILESDIR}"/${PN}-3.2.2-h323plus-buildopts.patch
+ epatch "${FILESDIR}"/${PN}-3.2.2-lua.cxx-toolkit_h.patch
+}
+
+# TODO: investigate possible ebuild conversion to use cmake
+src_configure() {
+ # --with-large-fdset=4096 is added because of bug #128102
+ # and it is recommended in the online manual
+ econf \
+ $(use_enable firebird) \
+ $(use_enable lua) \
+ $(use_enable mysql) \
+ $(use_enable postgres pgsql) \
+ $(use_enable odbc unixodbc) \
+ $(use_enable radius) \
+ $(use_enable snmp netsnmp) \
+ $(use_enable sqlite) \
+ $(use_enable ssh libssh) \
+ --with-large-fdset=4096
+}
+
+src_compile() {
+ # PASN_NOPRINT should be set for -debug but it's buggy
+ # better to prevent issues and keep default settings
+ # `make debugdepend debugshared` and `make debug` failed (so no debug)
+ # `make optdepend optnoshared` also failed (so no static)
+
+ # splitting emake calls fixes parallel build issue
+ emake optdepend
+ emake \
+ PT_LIBDIR="$(ptlib-config --libdir)" \
+ OH323_LIBDIR="${EPREFIX}"/usr/lib \
+ optshared
+ # build tool addpasswd
+ emake -C addpasswd PTLIBDIR="$(ptlib-config --ptlibdir)"
+
+ if use doc; then
+ cd docs/manual
+
+ if use linguas_en; then
+ emake html
+ fi
+
+ if use linguas_es; then
+ emake html-es
+ fi
+
+ if use linguas_fr; then
+ emake html-fr
+ fi
+ cd ../..
+ fi
+}
+
+src_install() {
+ dosbin obj_*_*_*/${PN}
+ dosbin addpasswd/obj_*_*_*/addpasswd
+
+ dodir /etc/${PN}
+ insinto /etc/${PN}
+ doins etc/*
+
+ dodoc changes.txt readme.txt
+ dodoc docs/*.txt docs/*.pdf
+
+ if use doc; then
+ if use linguas_en; then
+ dohtml docs/manual/manual*.html
+ fi
+ if use linguas_fr; then
+ dohtml docs/manual/fr/manual-fr*.html
+ fi
+ if use linguas_es; then
+ dohtml docs/manual/es/manual-es*.html
+ fi
+ fi
+
+ doman docs/${PN}.1 docs/addpasswd.1
+
+ newinitd "${FILESDIR}"/${PN}.rc6 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/net-voip/gnugk/metadata.xml b/net-voip/gnugk/metadata.xml
new file mode 100644
index 000000000000..319bbe00c7bc
--- /dev/null
+++ b/net-voip/gnugk/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="ssh">Enable support for SSH port forwarding using <pkg>net-libs/libssh</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">openh323gk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-voip/homer/Manifest b/net-voip/homer/Manifest
new file mode 100644
index 000000000000..2cae7746d133
--- /dev/null
+++ b/net-voip/homer/Manifest
@@ -0,0 +1,3 @@
+DIST homer-0.24.1.tar.gz 1297045 SHA256 738cd4a1e8b437936c904bdea649c0ee12ecca2caa1bef5c585925eabe84ff44 SHA512 ea2d1a5224048668e20a62f142370910f337b3b56b94c9a92a9b7530652ceed67a59223fac57ee0d835c31545d2d06c21329a0463680936d32a1455dbb2fac33 WHIRLPOOL b16ccdea6c5ea0845aca4f31a2d6258cf6a71258c531ee36a02b2844814df73b26229ffc96129532b4f9c1f2070a9cd279b720b7286e691e488bc7b524c47278
+DIST homer-0.25-ffmpeg2.patch 65617 SHA256 ce1327a59dc20c2fbe23e968786ecce21126cdb2119916bf2227594dc8c0a229 SHA512 fb4ca0bd161c94999b54b86337220f3f018672e4a5031788d8292273515fe68d4364574645d96e04b19bdb64f1b032119503cf823c7604d625015ba0cdabf030 WHIRLPOOL 909069e830b9ef473a006f686a5e5e9f7279c5b0fc8fb8f212a30b767106055970441fa4fdbe2d443fce500024bc00494c112ebb3b95a65a475b2731e8d361c7
+DIST homer-0.25.tar.gz 1404242 SHA256 1c3e67a7f7134a317bc32dfb691679a2997fbfa129c70d5d165ccfd0272a752d SHA512 92254f9cc133589760a4c3081e1636232ace8eb972f7800c4fb5aaeba52e22546c6772e4c93625aa31a5d7b366f441cf8155f52d85ca44dade60edebf98b6340 WHIRLPOOL 944277b8248a1037dd27881456b6fb304d19d2f12cc7bc4268ba3dbf876de668fde25749dfbfd424950fe641d7dc65f5f14a29e9d14d5c1e738dc555af201ffe
diff --git a/net-voip/homer/files/homer-0.24.1-libav-9.patch b/net-voip/homer/files/homer-0.24.1-libav-9.patch
new file mode 100644
index 000000000000..985145e06540
--- /dev/null
+++ b/net-voip/homer/files/homer-0.24.1-libav-9.patch
@@ -0,0 +1,101 @@
+--- HomerMultimedia/include/Header_Ffmpeg.h
++++ HomerMultimedia/include/Header_Ffmpeg.h
+@@ -173,4 +173,16 @@
+ #endif
+ }
+
++inline AVStream *HM_avformat_new_stream(AVFormatContext *s, int id)
++{
++ #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 10, 0)
++ return av_new_stream(s, c);
++ #else
++ AVStream *st = avformat_new_stream(s, NULL);
++ if (st)
++ st->id = id;
++ return st;
++ #endif
++}
++
+ #endif
+--- HomerMultimedia/src/MediaSource.cpp
++++ HomerMultimedia/src/MediaSource.cpp
+@@ -236,11 +236,19 @@
+ {
+ if (tCodec->type == AVMEDIA_TYPE_VIDEO)
+ {
++ #ifndef FF_API_OLD_ENCODE_AUDIO
+ bool tEncode = (tCodec->encode != NULL);
++ #else
++ bool tEncode = (tCodec->encode2 != NULL);
++ #endif
+ bool tDecode = (tCodec->decode != NULL);
+ if ((tNextCodec != NULL) && (strcmp(tCodec->name, tNextCodec->name) == 0))
+ {
++ #ifndef FF_API_OLD_ENCODE_AUDIO
+ tEncode |= (tNextCodec->encode != NULL);
++ #else
++ tEncode |= (tNextCodec->encode2 != NULL);
++ #endif
+ tDecode |= (tNextCodec->decode != NULL);
+ tCodec = tNextCodec;
+ }
+@@ -296,11 +304,19 @@
+ // tNextCodec->encode ? "E" : " ",
+ // tNextCodec->name,
+ // tNextCodec->long_name ? tCodec->long_name : "");
++ #ifndef FF_API_OLD_ENCODE_AUDIO
+ bool tEncode = (tCodec->encode != NULL);
++ #else
++ bool tEncode = (tCodec->encode2 != NULL);
++ #endif
+ bool tDecode = (tCodec->decode != NULL);
+ if ((tNextCodec != NULL) && (strcmp(tCodec->name, tNextCodec->name) == 0))
+ {
++ #ifndef FF_API_OLD_ENCODE_AUDIO
+ tEncode |= (tNextCodec->encode != NULL);
++ #else
++ tEncode |= (tNextCodec->encode2 != NULL);
++ #endif
+ tDecode |= (tNextCodec->decode != NULL);
+ tCodec = tNextCodec;
+ }
+@@ -1622,7 +1638,7 @@
+ sprintf(mRecorderFormatContext->filename, "%s", pSaveFileName.c_str());
+
+ // allocate new stream structure
+- tStream = av_new_stream(mRecorderFormatContext, 0);
++ tStream = HM_avformat_new_stream(mRecorderFormatContext, 0);
+ mRecorderCodecContext = tStream->codec;
+
+ // put sample parameters
+--- HomerMultimedia/src/MediaSourceMuxer.cpp
++++ HomerMultimedia/src/MediaSourceMuxer.cpp
+@@ -377,7 +377,7 @@
+
+ // allocate new stream structure
+ LOG(LOG_VERBOSE, "..allocating new stream");
+- tStream = av_new_stream(mFormatContext, 0);
++ tStream = HM_avformat_new_stream(mFormatContext, 0);
+ mCodecContext = tStream->codec;
+ mCodecContext->codec_id = tFormat->video_codec;
+ mCodecContext->codec_type = AVMEDIA_TYPE_VIDEO;
+@@ -710,7 +710,7 @@
+ }
+
+ // allocate new stream structure
+- tStream = av_new_stream(mFormatContext, 0);
++ tStream = HM_avformat_new_stream(mFormatContext, 0);
+ mCodecContext = tStream->codec;
+ mCodecContext->codec_id = tFormat->audio_codec;
+ mCodecContext->codec_type = AVMEDIA_TYPE_AUDIO;
+--- HomerMultimedia/src/RTP.cpp
++++ HomerMultimedia/src/RTP.cpp
+@@ -512,7 +512,7 @@
+ // verbose timestamp debugging mRtpFormatContext->debug = FF_FDEBUG_TS;
+
+ // allocate new stream structure
+- tOuterStream = av_new_stream(mRtpFormatContext, 0);//(AVStream*)av_mallocz(sizeof(AVStream));
++ tOuterStream = HM_avformat_new_stream(mRtpFormatContext, 0);//(AVStream*)av_mallocz(sizeof(AVStream));
+ if (tOuterStream == NULL)
+ {
+ LOG(LOG_ERROR, "Memory allocation failed");
diff --git a/net-voip/homer/files/homer-0.25-ffmpeg-avstream.patch b/net-voip/homer/files/homer-0.25-ffmpeg-avstream.patch
new file mode 100644
index 000000000000..d60f5696cbac
--- /dev/null
+++ b/net-voip/homer/files/homer-0.25-ffmpeg-avstream.patch
@@ -0,0 +1,24 @@
+From 31136f8df53d4d528acb3b301271d4b19274dfc6 Mon Sep 17 00:00:00 2001
+From: ThomasVolkert <thomas@homer-conferencing.com>
+Date: Sat, 7 Jun 2014 13:31:51 +0200
+Subject: [PATCH] - fixed: ffmpeg compatibility
+
+---
+ HomerMultimedia/src/RTP.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/HomerMultimedia/src/RTP.cpp b/HomerMultimedia/src/RTP.cpp
+index ad4d04b..97b631b 100644
+--- a/HomerMultimedia/src/RTP.cpp
++++ b/HomerMultimedia/src/RTP.cpp
+@@ -611,7 +611,9 @@ bool RTP::OpenRtpEncoder(string pTargetHost, unsigned int pTargetPort, AVStream
+ mRtpEncoderStream->priv_data = NULL;
+ // create monotone timestamps
+ mRtpEncoderStream->cur_dts = 0;
+- mRtpEncoderStream->reference_dts = 0;
++ #ifndef FF_API_REFERENCE_DTS
++ mRtpEncoderStream->reference_dts = 0;
++ #endif
+
+ // set target coordinates for rtp stream
+ snprintf(mRtpFormatContext->filename, sizeof(mRtpFormatContext->filename), "rtp://%s:%u", pTargetHost.c_str(), pTargetPort);
diff --git a/net-voip/homer/homer-0.24.1-r1.ebuild b/net-voip/homer/homer-0.24.1-r1.ebuild
new file mode 100644
index 000000000000..e5c5fb9e9820
--- /dev/null
+++ b/net-voip/homer/homer-0.24.1-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Homer Conferencing (short: Homer) is a free SIP softphone with advanced audio and video support"
+HOMEPAGE="http://www.homer-conferencing.com"
+
+MY_PN="Homer-Conferencing"
+MY_BIN="Homer"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/${MY_PN}/${MY_PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/V${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=dev-libs/openssl-1.0
+ media-libs/alsa-lib
+ media-libs/libsdl[X,sound,video,alsa]
+ media-libs/portaudio[alsa]
+ media-libs/sdl-mixer
+ media-libs/sdl-sound
+ media-libs/x264:*
+ net-libs/sofia-sip
+ virtual/ffmpeg:0[X]
+ || ( <media-video/ffmpeg-2 media-video/libav )
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtmultimedia:4
+ dev-qt/qtwebkit:4"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-libav-9.patch"
+}
+
+src_compile() {
+ tc-export CXX
+ emake -C HomerBuild default \
+ INSTALL_PREFIX=/usr/bin \
+ INSTALL_LIBDIR=/usr/$(get_libdir) \
+ INSTALL_DATADIR=/usr/share/${PN} \
+ VERBOSE=1
+}
+
+src_install() {
+ emake -C HomerBuild install \
+ DESTDIR="${D}" \
+ VERBOSE=1
+
+ # Create .desktop entry
+ doicon ${MY_BIN}/${MY_BIN}.png
+ make_desktop_entry "${MY_BIN}" "${MY_PN}" "${MY_BIN}" "Network;InstantMessaging;Telephony;VideoConference"
+}
diff --git a/net-voip/homer/homer-0.25-r1.ebuild b/net-voip/homer/homer-0.25-r1.ebuild
new file mode 100644
index 000000000000..84172c754207
--- /dev/null
+++ b/net-voip/homer/homer-0.25-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Homer Conferencing (short: Homer) is a free SIP softphone with advanced audio and video support"
+HOMEPAGE="http://www.homer-conferencing.com"
+
+MY_PN="Homer-Conferencing"
+MY_BIN="Homer"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/${MY_PN}/${MY_PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/V${PV}.tar.gz -> ${PN}-${PV}.tar.gz
+ http://dev.gentoo.org/~hwoarang/distfiles/${P}-ffmpeg2.patch"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="pulseaudio"
+
+DEPEND="dev-util/cmake
+ >=dev-libs/openssl-1.0
+ media-libs/alsa-lib
+ media-libs/libsdl[X,sound,video,alsa]
+ media-libs/portaudio[alsa]
+ media-libs/sdl-mixer
+ media-libs/sdl-sound
+ media-libs/x264:*
+ media-video/ffmpeg:0[X]
+ net-libs/sofia-sip
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ dev-qt/qtmultimedia:4
+ dev-qt/qtwebkit:4
+ pulseaudio? ( media-sound/pulseaudio )"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ epatch "${DISTDIR}/${P}-ffmpeg2.patch"
+ # Bug #543138
+ sed -e '/mRtpEncoderStream->reference_dts = 0;/d' \
+ -i HomerMultimedia/src/RTP.cpp || die
+
+ if use pulseaudio; then
+ sed -i \
+ -e "/^set(FEATURE_PULSEAUDIO/s:OFF:ON:" \
+ HomerBuild/config/HomerFeatures.txt || die "sed failed"
+ fi
+}
+
+src_compile() {
+ tc-export CXX
+ emake -C HomerBuild default \
+ INSTALL_PREFIX=/usr/bin \
+ INSTALL_LIBDIR=/usr/$(get_libdir) \
+ INSTALL_DATADIR=/usr/share/${PN} \
+ VERBOSE=1
+}
+
+src_install() {
+ emake -C HomerBuild install \
+ DESTDIR="${D}" \
+ VERBOSE=1
+
+ # Create .desktop entry
+ doicon ${MY_BIN}/${MY_BIN}.png
+ make_desktop_entry "${MY_BIN}" "${MY_PN}" "${MY_BIN}" "Network;InstantMessaging;Telephony;VideoConference"
+}
diff --git a/net-voip/homer/homer-9999.ebuild b/net-voip/homer/homer-9999.ebuild
new file mode 100644
index 000000000000..a6e7bb65d423
--- /dev/null
+++ b/net-voip/homer/homer-9999.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Homer Conferencing (short: Homer) is a free SIP softphone with advanced audio and video support"
+HOMEPAGE="http://www.homer-conferencing.com"
+
+MY_PN="Homer-Conferencing"
+MY_BIN="Homer"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/${MY_PN}/${MY_PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/V${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="pulseaudio"
+
+DEPEND=">=dev-libs/openssl-1.0
+ media-libs/alsa-lib
+ media-libs/libsdl[X,sound,video,alsa]
+ media-libs/portaudio[alsa]
+ media-libs/sdl-mixer
+ media-libs/sdl-sound
+ media-libs/x264:*
+ media-video/ffmpeg:0[X]
+ net-libs/sofia-sip
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ dev-qt/qtmultimedia:4
+ dev-qt/qtwebkit:4
+ pulseaudio? ( media-sound/pulseaudio )"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ if use pulseaudio; then
+ sed -i \
+ -e "/^set(FEATURE_PULSEAUDIO/s:OFF:ON:" \
+ HomerBuild/config/HomerFeatures.txt || die "sed failed"
+ fi
+}
+
+src_compile() {
+ tc-export CXX
+ emake -C HomerBuild default \
+ INSTALL_PREFIX=/usr/bin \
+ INSTALL_LIBDIR=/usr/$(get_libdir) \
+ INSTALL_DATADIR=/usr/share/${PN} \
+ VERBOSE=1
+}
+
+src_install() {
+ emake -C HomerBuild install \
+ DESTDIR="${D}" \
+ VERBOSE=1
+
+ # Create .desktop entry
+ doicon ${MY_BIN}/${MY_BIN}.png
+ make_desktop_entry "${MY_BIN}" "${MY_PN}" "${MY_BIN}" "Network;InstantMessaging;Telephony;VideoConference"
+}
diff --git a/net-voip/homer/metadata.xml b/net-voip/homer/metadata.xml
new file mode 100644
index 000000000000..aff5964a4a5b
--- /dev/null
+++ b/net-voip/homer/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>gentoo@pennewiss.de</email>
+ <name>Marcel Pennewiß</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="github">Homer-Conferencing/Homer-Conferencing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-voip/linphone/Manifest b/net-voip/linphone/Manifest
new file mode 100644
index 000000000000..a1f4db851b2d
--- /dev/null
+++ b/net-voip/linphone/Manifest
@@ -0,0 +1,3 @@
+DIST linphone-3.5.2.tar.gz 8338517 SHA256 da37d5e539e3f8aaa44039aa52ed032ef372e7481d1b3ce68317bf79aa8a6020 SHA512 a45be141af3ee5fc37d314889b92246000810b2b5e129088a30e3ba9335f6cecd226b488a568953463d38806491471e3798be99eda7ceba9d421ff0fa7a995c9 WHIRLPOOL d3365a9d05ed7694bcd12237bd80a55a9ca7766b5e52362ca1c470e7ea748a9e50419ef05e9c79af156d364f8ec8f9a29bcf45361cd07bb8ee029a9e45f142c6
+DIST linphone-3.6.1-exosip-4.patch 89376 SHA256 36e72e03bfc215b923b11f360b0435b1ba5df2b2ead4abce12a7b80a7a0fc367 SHA512 bdab74336cb8235b3396230278fd8eb465defac1175b00ff9cf273ef2dbc4e05f63d2574de599618e4d963b42ad17ac4f0c8c9013e40a497c99211041317313d WHIRLPOOL 8f74746447210a284677e6b203c14542bc9e4c9507d37f5adc860ffd4bf825112c9aba6a4dd9d34ca6152a9e0021ea815d14edd33774d6b75124f549d1d0dbc4
+DIST linphone-3.6.1.tar.gz 11458586 SHA256 05ba81223e9378c3bce8d33080213b9925af49bd9623cd9004eb3dd22ca9d2a0 SHA512 688ccfb333b2302ca20c2c77e38b20deee8b1c5f3c31f7a4b666d81114ea3e5cbe38bac6d88116d635ac3fcb7f38d013e35c7c076549cc3d7ae900456d51b5e4 WHIRLPOOL 3b76b6d3bbf1a9e2b06beae41e276abcd5223c5cf6f600c140ab27a60aae7b9c47c1c9da1f26587fac0d77f8a6114115b18d346d33f05b1e2a0a3a83fbf986b0
diff --git a/net-voip/linphone/files/linphone-3.5.2-automake-1.13.patch b/net-voip/linphone/files/linphone-3.5.2-automake-1.13.patch
new file mode 100644
index 000000000000..44d679c473a9
--- /dev/null
+++ b/net-voip/linphone/files/linphone-3.5.2-automake-1.13.patch
@@ -0,0 +1,19 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Sun Sep 29 17:41:02 2013 +0200
+
+ remove obsolete macro
+
+ AC_PROG_CC is already called anyway
+
+diff --git a/configure.ac b/configure.ac
+index 22bc235..81f6277 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,7 +39,6 @@ AC_ISC_POSIX
+ AC_PROG_CC
+ AC_PROG_CXX
+ AC_C_INLINE
+-AM_PROG_CC_STDC
+ AC_HEADER_STDC
+ AM_PROG_CC_C_O
+ AC_CHECK_PROGS(MD5SUM,[md5sum md5])
diff --git a/net-voip/linphone/files/linphone-3.5.2-nls.patch b/net-voip/linphone/files/linphone-3.5.2-nls.patch
new file mode 100644
index 000000000000..b9624048edfe
--- /dev/null
+++ b/net-voip/linphone/files/linphone-3.5.2-nls.patch
@@ -0,0 +1,15 @@
+diff -r 5c0dde6115a0 -r 082bb23f04a9 configure.ac
+--- a/configure.ac Thu Mar 29 12:44:23 2012 +0400
++++ b/configure.ac Thu Mar 29 12:48:40 2012 +0400
+@@ -80,7 +80,10 @@
+ AC_SUBST(GUI_FLAGS)
+
+ dnl localization tools
+-IT_PROG_INTLTOOL([0.40], [no-xml])
++AM_NLS
++if test "$USE_NLS" != "no"; then
++ IT_PROG_INTLTOOL([0.40], [no-xml])
++fi
+
+ AM_CONDITIONAL(BUILD_TESTS,test x$build_tests != xno)
+ dnl Initialize libtool
diff --git a/net-voip/linphone/files/linphone-3.6.1-nls.patch b/net-voip/linphone/files/linphone-3.6.1-nls.patch
new file mode 100644
index 000000000000..fb53aece8f64
--- /dev/null
+++ b/net-voip/linphone/files/linphone-3.6.1-nls.patch
@@ -0,0 +1,19 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Sun Sep 29 20:19:39 2013 +0200
+
+ fix nls
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,7 +79,10 @@ AC_SUBST(CONSOLE_FLAGS)
+ AC_SUBST(GUI_FLAGS)
+
+ dnl localization tools
+-IT_PROG_INTLTOOL([0.40], [no-xml])
++AM_NLS
++if test "$USE_NLS" != "no"; then
++ IT_PROG_INTLTOOL([0.40], [no-xml])
++fi
+
+ AM_CONDITIONAL(BUILD_TESTS,test x$build_tests != xno)
+
diff --git a/net-voip/linphone/linphone-3.5.2.ebuild b/net-voip/linphone/linphone-3.5.2.ebuild
new file mode 100644
index 000000000000..8d825d28e36b
--- /dev/null
+++ b/net-voip/linphone/linphone-3.5.2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib pax-utils versionator
+
+DESCRIPTION="Video softphone based on the SIP protocol"
+HOMEPAGE="http://www.linphone.org/"
+SRC_URI="mirror://nongnu/${PN}/$(get_version_component_range 1-2).x/sources/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+# TODO: run-time test for ipv6: does it need mediastreamer[ipv6]?
+IUSE="doc gsm-nonstandard gtk ipv6 ncurses nls ssl video"
+
+RDEPEND="
+ =media-libs/mediastreamer-2.8*[video?,ipv6?]
+ >=net-libs/libeXosip-3.0.2
+ >=net-libs/libosip-3.0.0
+ <net-libs/libosip-4
+ <net-libs/libeXosip-4
+ >=net-libs/libsoup-2.26
+ >=net-libs/ortp-0.20.0
+ <net-libs/ortp-0.22.0
+ gtk? (
+ dev-libs/glib:2
+ >=gnome-base/libglade-2.4.0:2.0
+ >=x11-libs/gtk+-2.4.0:2
+ x11-libs/libnotify
+ )
+ gsm-nonstandard? ( =media-libs/mediastreamer-2.8*[gsm] )
+ ncurses? (
+ sys-libs/readline:=
+ sys-libs/ncurses
+ )
+ ssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/sgmltools-lite )
+ nls? (
+ dev-util/intltool
+ sys-devel/gettext
+ )
+"
+
+IUSE_LINGUAS=" fr it de ja es pl cs nl sv pt_BR hu ru zh_CN"
+IUSE="${IUSE}${IUSE_LINGUAS// / linguas_}"
+
+pkg_setup() {
+ if ! use gtk && ! use ncurses ; then
+ ewarn "gtk and ncurses are disabled."
+ ewarn "At least one of these use flags are needed to get a front-end."
+ ewarn "Only liblinphone is going to be installed."
+ fi
+
+ strip-linguas ${IUSE_LINGUAS}
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nls.patch \
+ "${FILESDIR}"/${P}-automake-1.13.patch
+ # remove speex check, avoid bug when mediastreamer[-speex]
+ sed -i -e '/SPEEX/d' configure.ac || die "patching configure.ac failed"
+
+ # variable causes "command not found" warning and is not
+ # needed anyway
+ sed -i -e 's/$(ACLOCAL_MACOS_FLAGS)//' Makefile.am || die
+
+ # fix path to use lib64
+ sed -i -e "s:lib\(/liblinphone\):$(get_libdir)\1:" configure.ac \
+ || die "patching configure.ac failed"
+
+ # removing bundled libs dir prevent them to be reconf
+ rm -rf mediastreamer2 oRTP || die "should not die"
+ sed -i -e "s:oRTP::;s:mediastreamer2::" Makefile.am \
+ || die "patching Makefile.am failed"
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ # we don't want -Werror
+ --disable-strict
+ # don't bundle libs
+ --enable-external-ortp
+ --enable-external-mediastreamer
+ # seems not used, TODO: ask in ml
+ --disable-truespeech
+ --disable-zrtp
+ $(use_enable doc manual)
+ $(use_enable gsm-nonstandard nonstandard-gsm)
+ $(use_enable gtk gtk_ui)
+ $(use_enable ipv6)
+ $(use_enable ncurses console_ui)
+ $(use_enable nls)
+ $(use_enable video)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" pkgdocdir="/usr/share/doc/${PF}" install # 415161
+ dodoc AUTHORS BUGS ChangeLog NEWS README README.arm TODO
+ pax-mark m "${ED}usr/bin/linphone"
+}
diff --git a/net-voip/linphone/linphone-3.6.1.ebuild b/net-voip/linphone/linphone-3.6.1.ebuild
new file mode 100644
index 000000000000..59bfdb94edd7
--- /dev/null
+++ b/net-voip/linphone/linphone-3.6.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib pax-utils versionator
+
+DESCRIPTION="Video softphone based on the SIP protocol"
+HOMEPAGE="http://www.linphone.org/"
+SRC_URI="mirror://nongnu/${PN}/$(get_version_component_range 1-2).x/sources/${P}.tar.gz
+ http://dev.gentoo.org/~hasufell/distfiles/${P}-exosip-4.patch"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# TODO: run-time test for ipv6: does it need mediastreamer[ipv6]?
+IUSE="assistant doc gsm-nonstandard gtk ipv6 libnotify ncurses nls sqlite ssl tools upnp video"
+
+RDEPEND="
+ >=media-libs/mediastreamer-2.9.0[ipv6?,upnp?,video?]
+ >=net-libs/libeXosip-4.0.0
+ >=net-libs/libosip-4.0.0
+ >=net-libs/ortp-0.22.0
+ virtual/udev
+ gtk? (
+ dev-libs/glib:2
+ >=gnome-base/libglade-2.4.0:2.0
+ >=x11-libs/gtk+-2.4.0:2
+ assistant? ( >=net-libs/libsoup-2.26 )
+ libnotify? ( x11-libs/libnotify )
+ )
+ gsm-nonstandard? ( >=media-libs/mediastreamer-2.9.0[gsm] )
+ ncurses? (
+ sys-libs/readline:0
+ sys-libs/ncurses
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl:0 )
+ tools? ( dev-libs/libxml2 )
+ upnp? ( net-libs/libupnp )
+ video? ( >=media-libs/mediastreamer-2.9.0[v4l] )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/sgmltools-lite )
+ nls? ( dev-util/intltool )
+"
+
+IUSE_LINGUAS=" fr it de he ja es pl cs nl sr sv pt_BR hu ru zh_CN"
+IUSE="${IUSE}${IUSE_LINGUAS// / linguas_}"
+
+pkg_setup() {
+ if ! use gtk && ! use ncurses ; then
+ ewarn "gtk and ncurses are disabled."
+ ewarn "At least one of these use flags are needed to get a front-end."
+ ewarn "Only liblinphone is going to be installed."
+ fi
+
+ strip-linguas ${IUSE_LINGUAS}
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nls.patch \
+ "${DISTDIR}"/${P}-exosip-4.patch
+
+ # variable causes "command not found" warning and is not
+ # needed anyway
+ sed -i \
+ -e 's/$(ACLOCAL_MACOS_FLAGS)//' Makefile.am || die
+
+ # fix path to use lib64
+ sed -i \
+ -e "s:lib\(/liblinphone\):$(get_libdir)\1:" configure.ac \
+ || die "patching configure.ac failed"
+
+ # removing bundled libs dir prevent them to be reconf
+ rm -r mediastreamer2 oRTP || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc manual)
+ $(use_enable nls)
+ --disable-static
+ $(use_enable ncurses console_ui)
+ $(use_enable tools)
+ $(use_enable upnp)
+ $(use_enable gtk gtk_ui)
+ $(use_enable libnotify notify)
+ $(use_enable ipv6)
+ --disable-truespeech
+ $(use_enable gsm-nonstandard nonstandard-gsm)
+ $(use_enable ssl)
+ --disable-speex
+ # seems not used, TODO: ask in ml
+ $(use_enable video)
+ --disable-zrtp
+ $(usex gtk "$(use_enable assistant)" "--disable-assistant")
+ # we don't want -Werror
+ --disable-strict
+ # don't bundle libs
+ --enable-external-mediastreamer
+ $(use_enable sqlite msg-storage)
+ --enable-external-ortp
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" pkgdocdir="/usr/share/doc/${PF}" install # 415161
+ dodoc AUTHORS BUGS ChangeLog NEWS README README.arm TODO
+ pax-mark m "${ED%/}/usr/bin/linphone"
+}
diff --git a/net-voip/linphone/metadata.xml b/net-voip/linphone/metadata.xml
new file mode 100644
index 000000000000..961ea835b163
--- /dev/null
+++ b/net-voip/linphone/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <use>
+ <flag name='assistant'>Turn on assistant compiling
+ (needs gtk enabled)</flag>
+ <flag name='gsm-nonstandard'>Support non-standard GSM frequencies
+ </flag>
+ <flag name='sqlite'>Turn on compilation of message storage</flag>
+ <flag name='tools'>Compile tools</flag>
+ <flag name='video'>Enable video support (display/capture)</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-voip/metadata.xml b/net-voip/metadata.xml
new file mode 100644
index 000000000000..10c52fd5b6a1
--- /dev/null
+++ b/net-voip/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The net-voip category contains packages related to Voice-over-IP
+ </longdescription>
+ <longdescription lang="es">
+ La categoría net-voip contiene paquetes relacionados con Voz sobre
+ IP.
+ </longdescription>
+</catmetadata>
+
diff --git a/net-voip/openmcu/Manifest b/net-voip/openmcu/Manifest
new file mode 100644
index 000000000000..3fcadadd72da
--- /dev/null
+++ b/net-voip/openmcu/Manifest
@@ -0,0 +1 @@
+DIST h323plus-app-v1_23_0.tar.gz 610103 SHA256 faff110e5d23d5578da9d9126581d3a6001338c0dfcb051925e83e1a513e91b2 SHA512 cdb9c587cc857c64440fc9f9d8e1a08e2c9ae00c2070a8d4678e65ca951124c1b4423c24cf795c3f810bd4694f05536b981ca20377755a2c19908de56498dbd0 WHIRLPOOL 462fcc4dcb19d0b4e48967b9d5f6c6676a7c7023472bd28cffe26307a59a5bc33cccd0d1d79acae9fcdd808e0e423f07ada5208c976752df422ae9e31e7a4255
diff --git a/net-voip/openmcu/files/openmcu-2.2.1-deque.patch b/net-voip/openmcu/files/openmcu-2.2.1-deque.patch
new file mode 100644
index 000000000000..742d35a8c17c
--- /dev/null
+++ b/net-voip/openmcu/files/openmcu-2.2.1-deque.patch
@@ -0,0 +1,10 @@
+--- filemembers.h.old 2009-02-10 22:48:49.000000000 -0500
++++ filemembers.h 2009-02-10 22:49:00.000000000 -0500
+@@ -80,6 +80,7 @@
+
+ #include "config.h"
+
++#include <deque>
+ #include <ptlib/sound.h>
+ #include <opalwavfile.h>
+ #include "conference.h"
diff --git a/net-voip/openmcu/files/openmcu-2.2.1-path.patch b/net-voip/openmcu/files/openmcu-2.2.1-path.patch
new file mode 100644
index 000000000000..48ae0364a8c6
--- /dev/null
+++ b/net-voip/openmcu/files/openmcu-2.2.1-path.patch
@@ -0,0 +1,48 @@
+diff -u openmcu_v2_2_1.orig/main.cxx openmcu_v2_2_1/main.cxx
+--- openmcu_v2_2_1.orig/main.cxx 2006-06-09 00:39:59.000000000 -0400
++++ openmcu_v2_2_1/main.cxx 2009-02-10 23:09:49.000000000 -0500
+@@ -54,9 +54,9 @@
+ #include <ptlib.h>
+ #include "mcu.h"
+
+-static const char DefaultConnectingWAVFile[] = "connecting.wav";
+-static const char DefaultEnteringWAVFile[] = "entering.wav";
+-static const char DefaultLeavingWAVFile[] = "leaving.wav";
++static const char DefaultConnectingWAVFile[] = "/usr/share/openmcu/sounds/connecting.wav";
++static const char DefaultEnteringWAVFile[] = "/usr/share/openmcu/sounds/entering.wav";
++static const char DefaultLeavingWAVFile[] = "/usr/share/openmcu/sounds/leaving.wav";
+
+ static const char ConnectingWAVFileKey[] = "Connecting WAV File";
+ static const char EnteringWAVFileKey[] = "Entering WAV File";
+diff -u openmcu_v2_2_1.orig/mcu.cxx openmcu_v2_2_1/mcu.cxx
+--- openmcu_v2_2_1.orig/mcu.cxx 2006-07-14 01:28:01.000000000 -0400
++++ openmcu_v2_2_1/mcu.cxx 2009-02-10 23:11:43.000000000 -0500
+@@ -83,7 +83,7 @@
+ static const char DefaultRoomKey[] = "Default room";
+ static const char DefaultRoomTimeLimitKey[] = "Room time limit";
+
+-static const char DefaultCallLogFilename[] = "mcu_log.txt";
++static const char DefaultCallLogFilename[] = "/var/log/openmcu/openmcu.log";
+ static const char DefaultRoom[] = "room101";
+
+ #if OPENMCU_VIDEO
+@@ -154,8 +154,8 @@
+ #endif
+ exeDir.Change();
+
+- httpNameSpace.AddResource(new PHTTPDirectory("data", "data"));
+- httpNameSpace.AddResource(new PServiceHTTPDirectory("html", "html"));
++ httpNameSpace.AddResource(new PHTTPDirectory("data", "/usr/share/openmcu/data"));
++ httpNameSpace.AddResource(new PServiceHTTPDirectory("html", "/usr/share/openmcu/html"));
+
+ manager = CreateConferenceManager();
+ endpoint = CreateEndPoint(*manager);
+@@ -229,7 +229,7 @@
+
+ #if P_SSL
+ // SSL certificate file.
+- PString certificateFile = cfg.GetString(HTTPCertificateFileKey, "server.pem");
++ PString certificateFile = cfg.GetString(HTTPCertificateFileKey, "/etc/openmcu/server.pem");
+ rsrc->Add(new PHTTPStringField(HTTPCertificateFileKey, 25, certificateFile));
+ if (!SetServerCertificate(certificateFile, TRUE)) {
+ PSYSTEMLOG(Fatal, "MCU\tCould not load certificate \"" << certificateFile << '"');
diff --git a/net-voip/openmcu/files/openmcu.confd b/net-voip/openmcu/files/openmcu.confd
new file mode 100644
index 000000000000..ad54babfabce
--- /dev/null
+++ b/net-voip/openmcu/files/openmcu.confd
@@ -0,0 +1,6 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+OPTIONS="-u openmcu -g openmcu"
diff --git a/net-voip/openmcu/files/openmcu.ini b/net-voip/openmcu/files/openmcu.ini
new file mode 100644
index 000000000000..7dbdac551989
--- /dev/null
+++ b/net-voip/openmcu/files/openmcu.ini
@@ -0,0 +1,13 @@
+[Parameters]
+Password=i9Vp7LN+X5Y=
+Log Level=2
+HTTP Certificate=/etc/openmcu/server.pem
+HTTP Port=1420
+Gatekeeper Mode=No gatekeeper
+Interface Array Size=0
+Default room=room101
+Connecting WAV File=/usr/share/openmcu/sounds/connecting.wav
+Entering WAV File=/usr/share/openmcu/sounds/entering.wav
+Leaving WAV File=/usr/share/openmcu/sounds/leaving.wav
+Call log filename=/var/log/openmcu/mcu_log.txt
+
diff --git a/net-voip/openmcu/files/openmcu.rc6 b/net-voip/openmcu/files/openmcu.rc6
new file mode 100644
index 000000000000..444d5bbe793b
--- /dev/null
+++ b/net-voip/openmcu/files/openmcu.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting H.323 Conferencing service"
+ start-stop-daemon --start --quiet --pidfile /var/run/openmcu/openmcu.pid \
+ --exec /usr/sbin/openmcu -- ${OPTIONS} -d -p /var/run/openmcu/openmcu.pid -i /etc/openmcu/openmcu.ini
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping H.323 Conferencing service"
+ start-stop-daemon --stop --quiet --pidfile /var/run/openmcu/openmcu.pid
+ eend $?
+}
diff --git a/net-voip/openmcu/metadata.xml b/net-voip/openmcu/metadata.xml
new file mode 100644
index 000000000000..375a3ff73a28
--- /dev/null
+++ b/net-voip/openmcu/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">h323plus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-voip/openmcu/openmcu-2.2.5.ebuild b/net-voip/openmcu/openmcu-2.2.5.ebuild
new file mode 100644
index 000000000000..d67e71073608
--- /dev/null
+++ b/net-voip/openmcu/openmcu-2.2.5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils user
+
+MY_PN=h323plus-app
+MY_PV=1_23_0
+DESCRIPTION="Simple Multi Conference Unit using H.323"
+HOMEPAGE="http://www.h323plus.org/"
+SRC_URI="mirror://sourceforge/h323plus/${MY_PN}-v${MY_PV}.tar.gz"
+
+LICENSE="MPL-1.0 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="net-libs/ptlib:=
+ net-libs/h323plus:="
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/applications/${PN}
+
+src_prepare() {
+ # set path for various files
+ epatch "${FILESDIR}"/${PN}-2.2.1-path.patch
+}
+
+src_compile() {
+ emake OPENH323DIR=/usr/share/openh323
+}
+
+src_install() {
+ dosbin obj_*_*_*/${PN}
+
+ keepdir /usr/share/${PN}/data /usr/share/${PN}/html
+
+ # needed for daemon
+ keepdir /var/log/${PN} /var/run/${PN}
+
+ insinto /usr/share/${PN}/sounds
+ doins *.wav
+
+ insinto /etc/${PN}
+ doins server.pem
+ doins "${FILESDIR}"/${PN}.ini
+
+ doman ${PN}.1
+
+ dodoc ReadMe.txt
+
+ newinitd "${FILESDIR}"/${PN}.rc6 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
+
+pkg_preinst() {
+ enewgroup openmcu
+ enewuser openmcu -1 -1 /dev/null openmcu
+}
+
+pkg_postinst() {
+ einfo "Setting permissions..."
+ chown -R openmcu:openmcu "${ROOT}"etc/openmcu
+ chmod -R u=rwX,g=rX,o= "${ROOT}"etc/openmcu
+ chown -R openmcu:openmcu "${ROOT}"var/{log,run}/openmcu
+ chmod -R u=rwX,g=rX,o= "${ROOT}"var/{log,run}/openmcu
+
+ echo
+ elog "This patched version of openmcu stores it's configuration"
+ elog "in \"/etc/openmcu/openmcu.ini\""
+}
diff --git a/net-voip/telepathy-gabble/Manifest b/net-voip/telepathy-gabble/Manifest
new file mode 100644
index 000000000000..0a8bc3bbcf54
--- /dev/null
+++ b/net-voip/telepathy-gabble/Manifest
@@ -0,0 +1 @@
+DIST telepathy-gabble-0.18.3.tar.gz 2793195 SHA256 8ec714607e9bcb8d5a3f44adf871e7b07d5db8e326e47536e74e09cba59989c2 SHA512 51c7b754779d131c54facf8e373338bd471e6bb589d69cd8f9c0f4450b15d9676c2bbf762b64e9c3bf7067bca0e9accb6c766f2fda0051a26a36eb009d7bd5eb WHIRLPOOL e1e1e11e8a64c4587e74188827ad62ca702f7058d7d781fa7b982514bf5c16f24bb7711d38a36c113738303e9c0a90727cf57761818c55360ebf13c737d3f2c2
diff --git a/net-voip/telepathy-gabble/metadata.xml b/net-voip/telepathy-gabble/metadata.xml
new file mode 100644
index 000000000000..e301005c66dc
--- /dev/null
+++ b/net-voip/telepathy-gabble/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+<use>
+ <flag name="plugins">Enable plugin loader</flag>
+</use>
+</pkgmetadata>
+
diff --git a/net-voip/telepathy-gabble/telepathy-gabble-0.18.3.ebuild b/net-voip/telepathy-gabble/telepathy-gabble-0.18.3.ebuild
new file mode 100644
index 000000000000..dd8b1c6399f7
--- /dev/null
+++ b/net-voip/telepathy-gabble/telepathy-gabble-0.18.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 eutils python-any-r1
+
+DESCRIPTION="A Jabber/XMPP connection manager, with handling of single and multi user chats and voice calls"
+HOMEPAGE="http://telepathy.freedesktop.org"
+SRC_URI="http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
+IUSE="gnutls +jingle plugins test"
+
+# Prevent false positives due nested configure
+QA_CONFIGURE_OPTIONS=".*"
+
+# FIXME: missing sasl-2 for tests ? (automagic)
+# missing libiphb for wocky ?
+# x11-libs/gtksourceview:3.0 needed by telepathy-gabble-xmpp-console, bug #495184
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ >=sys-apps/dbus-1.1.0
+ >=dev-libs/dbus-glib-0.82
+ >=net-libs/telepathy-glib-0.19.9
+
+ dev-db/sqlite:3
+ dev-libs/libxml2
+
+ gnutls? ( >=net-libs/gnutls-2.10.2 )
+ !gnutls? ( >=dev-libs/openssl-0.9.8g:0[-bindist] )
+ jingle? ( || ( net-libs/libsoup:2.4[ssl]
+ >=net-libs/libsoup-2.33.1 )
+ >=net-libs/libnice-0.0.11 )
+ plugins? ( x11-libs/gtksourceview:3.0[introspection] )
+
+ !<net-im/telepathy-mission-control-5.5.0
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ >=dev-util/gtk-doc-am-1.17
+ dev-libs/libxslt
+ test? ( >=dev-python/twisted-core-0.8.2
+ >=dev-python/twisted-words-0.8.2
+ >=dev-python/dbus-python-0.83 )
+"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-coding-style-checks \
+ --disable-static \
+ --disable-Werror \
+ --enable-file-transfer \
+ $(use_enable jingle voip) \
+ $(use_enable jingle google-relay) \
+ $(use_enable plugins) \
+ --with-tls=$(usex gnutls gnutls openssl)
+}
+
+src_test() {
+ # Twisted tests fail, upstream bug #30565
+ emake -C tests check-TESTS
+}
diff --git a/net-voip/telepathy-haze/Manifest b/net-voip/telepathy-haze/Manifest
new file mode 100644
index 000000000000..bef2c8596e57
--- /dev/null
+++ b/net-voip/telepathy-haze/Manifest
@@ -0,0 +1 @@
+DIST telepathy-haze-0.8.0.tar.gz 580929 SHA256 3e76049c05f2cd5900c5c0c1cfebdf7ae79eec987a599f1090946673c5b8f9c9 SHA512 2739b37b1f95f0996b423c0883f369e1283363e39cb1b0566e2573f3cebdab0530ffd1d4d515202e300407029227b75b4e8c459167d584000405fda2d070699d WHIRLPOOL 671e6959c2c2584663ebc50cb5232f1c4d64fa26505fe0c83fb85f82143c43c40185c7c1c0a00ba8e65ab47bcadb45fdd502ffc0c9d86831196d55404c13739a
diff --git a/net-voip/telepathy-haze/metadata.xml b/net-voip/telepathy-haze/metadata.xml
new file mode 100644
index 000000000000..3025c2cead21
--- /dev/null
+++ b/net-voip/telepathy-haze/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <longdescription lang="en">
+ Telepathy connection manager for protocols supported by
+ libpurple (pidgin's core library).
+</longdescription>
+</pkgmetadata>
diff --git a/net-voip/telepathy-haze/telepathy-haze-0.8.0.ebuild b/net-voip/telepathy-haze/telepathy-haze-0.8.0.ebuild
new file mode 100644
index 000000000000..967afd41a925
--- /dev/null
+++ b/net-voip/telepathy-haze/telepathy-haze-0.8.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="Telepathy connection manager providing libpurple supported protocols"
+HOMEPAGE="http://developer.pidgin.im/wiki/TelepathyHaze"
+SRC_URI="http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
+#IUSE="test"
+IUSE=""
+
+# Tests failing, see upstream: https://bugs.freedesktop.org/34577
+RESTRICT="test"
+
+RDEPEND="${PYTHON_DEPS}
+ >=net-im/pidgin-2.7
+ >=net-libs/telepathy-glib-0.15.1[${PYTHON_USEDEP}]
+ >=dev-libs/glib-2.30:2
+ >=dev-libs/dbus-glib-0.73
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+# test? ( dev-python/twisted-words )"
diff --git a/net-voip/telepathy-rakia/Manifest b/net-voip/telepathy-rakia/Manifest
new file mode 100644
index 000000000000..a25ea9d843a5
--- /dev/null
+++ b/net-voip/telepathy-rakia/Manifest
@@ -0,0 +1 @@
+DIST telepathy-rakia-0.8.0.tar.gz 659116 SHA256 1baebcd391e0ba199f2f6faa2c99b53ba03e732e80290827de5e42889473bda1 SHA512 5378e1a2909c4218cc9c6fecf0b01beff0b52fd40cc040a601090dbaae330b3506fc74dc5ae86e5f0c954dd3c41fd7ba4e5a294f8fc11d74aa6eb9025097e9ae WHIRLPOOL 43cab071e9df3a7428ce7d871e952f947584593063583615d10df0bdabafba00a8dc904aff22e7cff95a302d4b1eaf39f9dc6fd7df8b78b2dc9223a14fdcd35f
diff --git a/net-voip/telepathy-rakia/metadata.xml b/net-voip/telepathy-rakia/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/net-voip/telepathy-rakia/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/net-voip/telepathy-rakia/telepathy-rakia-0.8.0.ebuild b/net-voip/telepathy-rakia/telepathy-rakia-0.8.0.ebuild
new file mode 100644
index 000000000000..32d9ccd81f87
--- /dev/null
+++ b/net-voip/telepathy-rakia/telepathy-rakia-0.8.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="A SIP connection manager for Telepathy based around the Sofia-SIP library"
+HOMEPAGE="http://telepathy.freedesktop.org/"
+SRC_URI="http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
+IUSE="test"
+
+COMMON_DEPEND="
+ >=dev-libs/dbus-glib-0.60
+ >=dev-libs/glib-2.30:2
+ >=net-libs/sofia-sip-1.12.11
+ >=net-libs/telepathy-glib-0.17.6
+ >=sys-apps/dbus-0.60
+"
+RDEPEND="${COMMON_DEPEND}
+ !net-voip/telepathy-sofiasip
+"
+# telepathy-rakia was formerly known as telepathy-sofiasip
+DEPEND="${COMMON_DEPEND}
+ dev-libs/libxslt
+ test? ( dev-python/twisted-core )
+"
+# eautoreconf requires: gtk-doc-am
+
+src_configure() {
+ econf --disable-fatal-warnings
+}
diff --git a/net-voip/telepathy-salut/Manifest b/net-voip/telepathy-salut/Manifest
new file mode 100644
index 000000000000..c0c4a6df3e6e
--- /dev/null
+++ b/net-voip/telepathy-salut/Manifest
@@ -0,0 +1 @@
+DIST telepathy-salut-0.8.1.tar.gz 1823482 SHA256 70b9108ac8b511b7688e1b580de4ddb8981603c3cbde01f287ef8f9cb708618e SHA512 34537ac9ce0b78015e184963ea79beaa7332ac11803f9683ff34577d9f0a14f7ed287aacb2c00059f2ff2f300c325a09a78a320e83d0a0031ad976da2c197a90 WHIRLPOOL 5f7124c5ffb870c12dd93e752f32a6382d28503e235cae7032b2ef35635bc50d992717bc924e009c4bcca944ca26a02950d37ebc95258dd7d47574375a12503a
diff --git a/net-voip/telepathy-salut/files/telepathy-salut-0.5.0-uninitialized.patch b/net-voip/telepathy-salut/files/telepathy-salut-0.5.0-uninitialized.patch
new file mode 100644
index 000000000000..83723612dfc4
--- /dev/null
+++ b/net-voip/telepathy-salut/files/telepathy-salut-0.5.0-uninitialized.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/ext/wocky/wocky/wocky-sasl-scram.c b/lib/ext/wocky/wocky/wocky-sasl-scram.c
+index 7261956..c508196 100644
+--- a/lib/ext/wocky/wocky/wocky-sasl-scram.c
++++ b/lib/ext/wocky/wocky/wocky-sasl-scram.c
+@@ -523,7 +523,7 @@ scram_handle_server_final_message (WockySaslScram *self,
+ gchar *message,
+ GError **error)
+ {
+- gchar attr, *value = NULL;
++ gchar attr = 0, *value = NULL;
+
+ if (!scram_get_next_attr_value (&message, &attr, &value) && attr != 'v')
+ goto invalid;
diff --git a/net-voip/telepathy-salut/files/telepathy-salut-0.6.0-glib-gtypes.h.patch b/net-voip/telepathy-salut/files/telepathy-salut-0.6.0-glib-gtypes.h.patch
new file mode 100644
index 000000000000..9488f68e1037
--- /dev/null
+++ b/net-voip/telepathy-salut/files/telepathy-salut-0.6.0-glib-gtypes.h.patch
@@ -0,0 +1,22 @@
+From 3c43751dc90e4cdb08f57f48e2a8e6adf715ed8e Mon Sep 17 00:00:00 2001
+From: Cosimo Cecchi <cosimoc@gnome.org>
+Date: Wed, 12 Oct 2011 16:45:49 +0000
+Subject: test-resolver: don't include glib/types.h directly
+
+Use the glib.h header instead.
+---
+diff --git a/lib/ext/wocky/tests/test-resolver.h b/lib/ext/wocky/tests/test-resolver.h
+index 7823ee6..3948fdc 100644
+--- a/lib/ext/wocky/tests/test-resolver.h
++++ b/lib/ext/wocky/tests/test-resolver.h
+@@ -22,7 +22,7 @@
+ #define __TEST_RESOLVER_H__
+
+ #include <gio/gio.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/net-voip/telepathy-salut/metadata.xml b/net-voip/telepathy-salut/metadata.xml
new file mode 100644
index 000000000000..f29a757a8246
--- /dev/null
+++ b/net-voip/telepathy-salut/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>gnome</herd>
+ <maintainer>
+ <email>eva@gentoo.org</email>
+ <name>Gilles Dartiguelongue</name>
+ </maintainer>
+ <longdescription lang="en">
+ A link-local XMPP connection manager for Telepathy.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/net-voip/telepathy-salut/telepathy-salut-0.8.1.ebuild b/net-voip/telepathy-salut/telepathy-salut-0.8.1.ebuild
new file mode 100644
index 000000000000..a55458c9a221
--- /dev/null
+++ b/net-voip/telepathy-salut/telepathy-salut-0.8.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-any-r1
+
+DESCRIPTION="A link-local XMPP connection manager for Telepathy"
+HOMEPAGE="http://telepathy.freedesktop.org/wiki/CategorySalut"
+SRC_URI="http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ~ppc64 sparc x86 ~x86-linux"
+IUSE="gnutls test"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.61
+ dev-libs/libxml2
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1.1.0
+ >=net-libs/telepathy-glib-0.17.1
+ >=net-dns/avahi-0.6.22[dbus]
+ net-libs/libsoup:2.4
+ sys-apps/util-linux
+ gnutls? ( >=net-libs/gnutls-2.10.2 )
+ !gnutls? ( >=dev-libs/openssl-0.9.8g:0[-bindist] )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-libs/libxslt
+ virtual/pkgconfig
+ test? (
+ >=dev-libs/check-0.9.4
+ net-libs/libgsasl
+ dev-python/twisted-words )
+"
+# FIXME: needs xmppstream python module
+# >=net-dns/avahi-0.6.22[python]
+
+src_prepare() {
+ # Fix uninitialized variable, upstream bug #37701
+ epatch "${FILESDIR}/${PN}-0.5.0-uninitialized.patch"
+}
+
+src_configure() {
+ econf \
+ --disable-coding-style-checks \
+ --disable-plugins \
+ --disable-Werror \
+ --disable-static \
+ --disable-avahi-tests \
+ --docdir=/usr/share/doc/${PF} \
+ --with-tls=$(usex gnutls gnutls openssl)
+ #$(use_enable test avahi-tests)
+}
+
+src_install() {
+ MAKEOPTS+=" -j1" default # bug 413581
+ prune_libtool_files
+}
diff --git a/net-voip/vidyodesktop/Manifest b/net-voip/vidyodesktop/Manifest
new file mode 100644
index 000000000000..c4cd5bf5e246
--- /dev/null
+++ b/net-voip/vidyodesktop/Manifest
@@ -0,0 +1,4 @@
+DIST VidyoDesktopInstaller-ubuntu-TAG_VD_3_3_0_027.deb 8956880 SHA256 e8461c384d5dc95c705414b1746cc52abb43b7ca933fc850bd02b3313d79cb35 SHA512 2a0cda8e6638da161d0d5a8591025849720763648f87387c887c9962dbc4d47b86ff7634d0e382bdd68d4744a113e4941a9bcbf40908f99826bbfac5ad85ba7f WHIRLPOOL dd74e290d4eb1d70c7b4d23cf3fe895c8f17c34455bdaf413bb26a3b583c7343603d99c200794ce8bf33ea7a19f017078a3e4cfb7fe28a895d035ceb83c32745
+DIST VidyoDesktopInstaller-ubuntu-TAG_VD_3_3_0_127.deb 8956874 SHA256 6d4c6f3b6abcde2c569b2589ab384ee1dc42d5d7448e15f2e4ed04bfa18b0a0d SHA512 e2931f3a04547dd2155da576de58cd398527e4cd3e4ef67fbcbf3916264bdd93dbad3b8eb815f90c495a1472bbc4c5a95a07f5026ddddddf714e8061da14503a WHIRLPOOL 8f37cbb33fb359909ce7ddc315c73bc0154bf4521556396b16ac73d41d6de65d93c79ca442649f19322251a440823b6c101342c7c194b81524bf5fa5c5e2ae0d
+DIST VidyoDesktopInstaller-ubuntu64-TAG_VD_3_3_0_027.deb 9440382 SHA256 ac19b3995d31274e33d9b72db665cb86b475e07028c1ba0aa9ece220c84fae10 SHA512 30923904e74aabfefdad0c0cebfa956559e605830f417bc4dfc9ab5f7f50d029f6fe70a3f81f04e3418e7f0f4d3f4d885f1ce50fb0fc416b22061c4512a16a73 WHIRLPOOL 4351021f8e1aa1c6eb6529c33a3f1e62e697ed5b2bc9245d340686661633a0dd3556542087dbf777a707266f253f2d2689d7f1f665b98adc2eb04b6376af9401
+DIST VidyoDesktopInstaller-ubuntu64-TAG_VD_3_3_0_127.deb 9440364 SHA256 b8bd260d46557cad78a9392efd9b7f975a53adf6fb9ccc165c38c233405def1a SHA512 bed7e221a910432246b40bd73d157e3e44ab89ec4263d54b86422320c1d7ef01de2931958c1dc94ad489f2aeb9cef295eb29ebeeb8ac7ee885e0ac861f477d08 WHIRLPOOL 52e757ad8de37dd934e0739ea6b59454e769ee3d89ec8c41093c90e8f69cfe0097d530dc6c8aed4427bd2ab2ebfba3f389408e606ee2885f77669dc267f3596f
diff --git a/net-voip/vidyodesktop/metadata.xml b/net-voip/vidyodesktop/metadata.xml
new file mode 100644
index 000000000000..e02f1550f78f
--- /dev/null
+++ b/net-voip/vidyodesktop/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>prometheanfire@gentoo.org</email>
+<name>Matthew Thode</name>
+</maintainer>
+<longdescription lang="en">
+A client used to connect to a Vidyo server to facilitate face to face communications.
+</longdescription>
+</pkgmetadata>
diff --git a/net-voip/vidyodesktop/vidyodesktop-3.3.0.027-r1.ebuild b/net-voip/vidyodesktop/vidyodesktop-3.3.0.027-r1.ebuild
new file mode 100644
index 000000000000..1912635e376a
--- /dev/null
+++ b/net-voip/vidyodesktop/vidyodesktop-3.3.0.027-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator unpacker
+
+DESCRIPTION="Enterprise video conferencing platform"
+HOMEPAGE="http://www.vidyo.com/"
+SRC_URI="
+ amd64? ( https://demo.vidyo.com/upload/VidyoDesktopInstaller-ubuntu64-TAG_VD_$(replace_all_version_separators _).deb )
+ x86? ( https://demo.vidyo.com/upload/VidyoDesktopInstaller-ubuntu-TAG_VD_$(replace_all_version_separators _).deb )
+"
+
+LICENSE="Vidyo-EULA"
+SLOT="0"
+RESTRICT="mirror strip"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/opt/vidyo/VidyoDesktop/VidyoDesktopInstallHelper
+ /opt/vidyo/VidyoDesktop/RenderCheck
+ /opt/vidyo/VidyoDesktop/VidyoDesktop"
+
+DEPEND=""
+RDEPEND="
+ app-arch/bzip2
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/libffi
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/glu
+ media-libs/libpng
+ media-libs/mesa
+ net-dns/libidn
+ sys-libs/zlib
+ x11-libs/libdrm
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdamage
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXv
+ x11-libs/libXxf86vm
+"
+
+src_install() {
+ cp -a opt "${D}"
+ doicon usr/share/pixmaps/vidyo_icon.png
+ dodoc opt/vidyo/VidyoDesktop/license.txt
+ rm "${D}opt/vidyo/VidyoDesktop/license.txt"
+ exeinto /opt/bin
+ doexe usr/bin/VidyoDesktop
+ make_desktop_entry VidyoDesktop VidyoDesktop vidyo_icon 'AudioVideo;Network;'
+}
diff --git a/net-voip/vidyodesktop/vidyodesktop-3.3.0.127.ebuild b/net-voip/vidyodesktop/vidyodesktop-3.3.0.127.ebuild
new file mode 100644
index 000000000000..6288195590c0
--- /dev/null
+++ b/net-voip/vidyodesktop/vidyodesktop-3.3.0.127.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator unpacker
+
+DESCRIPTION="Enterprise video conferencing platform"
+HOMEPAGE="http://www.vidyo.com/"
+SRC_URI="
+ amd64? ( https://demo.vidyo.com/upload/VidyoDesktopInstaller-ubuntu64-TAG_VD_$(replace_all_version_separators _).deb )
+ x86? ( https://demo.vidyo.com/upload/VidyoDesktopInstaller-ubuntu-TAG_VD_$(replace_all_version_separators _).deb )
+"
+
+LICENSE="Vidyo-EULA"
+SLOT="0"
+RESTRICT="mirror strip"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/opt/vidyo/VidyoDesktop/VidyoDesktopInstallHelper
+ /opt/vidyo/VidyoDesktop/RenderCheck
+ /opt/vidyo/VidyoDesktop/VidyoDesktop"
+
+DEPEND=""
+RDEPEND="
+ app-arch/bzip2
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/libffi
+ sys-apps/util-linux
+ sys-libs/glibc
+ sys-devel/gcc
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/glu
+ media-libs/libpng
+ media-libs/mesa
+ net-dns/libidn
+ sys-libs/zlib
+ x11-libs/libdrm
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdamage
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXv
+ x11-libs/libXxf86vm
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+"
+
+src_install() {
+ cp -a opt "${D}"
+ doicon usr/share/pixmaps/vidyo_icon.png
+ dodoc opt/vidyo/VidyoDesktop/license.txt
+ rm "${D}opt/vidyo/VidyoDesktop/license.txt"
+ exeinto /opt/bin
+ doexe usr/bin/VidyoDesktop
+ make_desktop_entry VidyoDesktop VidyoDesktop vidyo_icon 'AudioVideo;Network;'
+}
diff --git a/net-voip/yate/Manifest b/net-voip/yate/Manifest
new file mode 100644
index 000000000000..d2dd6f4df04d
--- /dev/null
+++ b/net-voip/yate/Manifest
@@ -0,0 +1 @@
+DIST yate-5.4.0-1.tar.gz 5027248 SHA256 4705af7b4c110de11b0cee70e37f9815d130082a4c49b3f093cae07c79539344 SHA512 27c4bb7b00c37a9eaff7be210ba0812a0267fb186b357186734115ded73627dbf8fd3f292a3efbf7b33ca3e7c2e6a6f460d0ee4068e2a8415c58e3f698ae5e5b WHIRLPOOL 5a1243321044d25d134e47ef99cf6be9c2e51badb4c75d4952a3b5727c5aad8228f9a184d0ee66394ec928945b60bf80c5505696675b9666a61d46d2b7787d65
diff --git a/net-voip/yate/files/dont-mess-with-cflags.patch b/net-voip/yate/files/dont-mess-with-cflags.patch
new file mode 100644
index 000000000000..961d73fa1ccc
--- /dev/null
+++ b/net-voip/yate/files/dont-mess-with-cflags.patch
@@ -0,0 +1,15 @@
+https://build.opensuse.org/package/view_file/network:telephony/yate/dont-mess-with-cflags.patch?expand=1
+
+Index: yate/configure.in
+===================================================================
+--- yate.orig/configure.in
++++ yate/configure.in
+@@ -1447,7 +1447,6 @@ fi
+
+
+ INSTALL_D="install -D"
+-CFLAGS=`echo "$CFLAGS" | sed 's/\(^\| *\)-g[[0-9]]*//' | sed 's/[[[:space:]]]\{2,\}/ /g'`
+ MODULE_CFLAGS="-fno-exceptions -fPIC $HAVE_GCC_FORMAT_CHECK $HAVE_BLOCK_RETURN"
+ MODULE_CPPFLAGS="-fno-check-new $RTTI_OPT $MODULE_CFLAGS"
+ MODULE_LDRELAX="-export-dynamic -shared"
+
diff --git a/net-voip/yate/files/yate.confd b/net-voip/yate/files/yate.confd
new file mode 100644
index 000000000000..926cc563919f
--- /dev/null
+++ b/net-voip/yate/files/yate.confd
@@ -0,0 +1,10 @@
+# /etc/conf.d/yate: config file for /etc/init.d/yate
+
+# Any random options you want to pass to yate
+YATE_OPTS=""
+
+# Pid file to use (needs to be absolute path)
+#YATE_PIDFILE="/var/run/yate.pid"
+
+# Path to yate binary (needs to be absolute path)
+#YATE_BINARY="/usr/bin/yate"
diff --git a/net-voip/yate/files/yate.initd b/net-voip/yate/files/yate.initd
new file mode 100644
index 000000000000..01f07f4a538d
--- /dev/null
+++ b/net-voip/yate/files/yate.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+opts="${opts} reload"
+
+YATE_PIDFILE=${YATE_PIDFILE:-/var/run/${SVCNAME}.pid}
+YATE_BINARY=${YATE_BINARY:-/usr/bin/yate}
+
+depend() {
+ need net
+ use mysql postgresql zaptel
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec "${YATE_BINARY}" \
+ -- -d -p "${YATE_PIDFILE}" ${YATE_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --pidfile="${YATE_PIDFILE}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --stop --exec "${YATE_BINARY}" \
+ --pidfile "${YATE_PIDFILE}" --signal HUP --oknodo
+ eend $?
+}
diff --git a/net-voip/yate/files/yate.rc6 b/net-voip/yate/files/yate.rc6
new file mode 100755
index 000000000000..d2d8a5adac0d
--- /dev/null
+++ b/net-voip/yate/files/yate.rc6
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting YATE"
+ start-stop-daemon --start --exec /usr/bin/yate -- -d -p /var/run/yate.pid ${YATE_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping YATE"
+ start-stop-daemon --stop --pidfile=/var/run/yate.pid
+ eend $?
+}
diff --git a/net-voip/yate/metadata.xml b/net-voip/yate/metadata.xml
new file mode 100644
index 000000000000..58e94f3d0099
--- /dev/null
+++ b/net-voip/yate/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>radio</herd>
+ <use>
+ <flag name="sctp">Enable SCTP sockets</flag>
+ <flag name="dahdi">Enable Dahdi driver</flag>
+ <flag name="zaptel">Enable Zaptel driver</flag>
+ <flag name="wpcard">Enable Wanpipe card driver</flag>
+ <flag name="tdmcard">Enable TDMV API card driver</flag>
+ <flag name="wanpipe">Enable Wanpipe support</flag>
+ <flag name="ilbc">Enable iLBC codec</flag>
+ <flag name="ilbc-webrtc">Enable iLBC webrtc codec</flag>
+ <flag name="isac-float">Enable iSAC float codec</flag>
+ <flag name="isac-fixed">Enable iSAC fixed codec</flag>
+ <flag name="postgres">use Postgress SQL</flag>
+ <flag name="mysql">use MySQL client library</flag>
+ <flag name="gsm">use GSM codec</flag>
+ <flag name="speex">use Speex codec</flag>
+ <flag name="amrnb">use AMR-NB</flag>
+ <flag name="spandsp">use spandsp library</flag>
+ <flag name="h323">use OpenH323</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/net-voip/yate/yate-5.4.0.ebuild b/net-voip/yate/yate-5.4.0.ebuild
new file mode 100644
index 000000000000..fe04d7220062
--- /dev/null
+++ b/net-voip/yate/yate-5.4.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="The Yate AV Suite"
+HOMEPAGE="http://yate.null.ro/"
+
+if [[ ${PV} == 9999 ]] ; then
+ ESVN_REPO_URI="http://voip.null.ro/svn/yate/trunk"
+ inherit subversion
+ KEYWORDS=""
+else
+ SRC_URI="http://voip.null.ro/tarballs/${PN}5/${P}-1.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+ S="${WORKDIR}/${PN}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+IUSE="doc cpu_flags_x86_sse2 sctp dahdi zaptel wpcard tdmcard wanpipe +ilbc +ilbc-webrtc +isac-float isac-fixed postgres mysql +gsm +speex h323 spandsp +ssl qt4 +zlib amrnb"
+
+RDEPEND="
+ postgres? ( dev-db/postgresql )
+ mysql? ( virtual/mysql )
+ gsm? ( media-sound/gsm )
+ speex? ( media-libs/speex )
+ ssl? ( dev-libs/openssl )
+ h323? ( net-libs/h323plus )
+ zlib? ( sys-libs/zlib )
+ qt4? ( dev-qt/qtgui:4 dev-qt/designer:4 )
+ ilbc? ( dev-libs/ilbc-rfc3951 )
+ spandsp? ( >=media-libs/spandsp-0.0.3 )
+ dahdi? ( net-misc/dahdi )
+"
+DEPEND="doc? ( || ( app-doc/doxygen dev-util/kdoc ) )
+ virtual/pkgconfig
+ ${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/dont-mess-with-cflags.patch
+ eautoreconf
+ ./yate-config.sh || die
+}
+
+#fdsize, inline, rtti: keep default values
+#internalregex: use system
+#coredumper: not in the tree, bug 118716
+#wanpipe, wphwec: not in the tree, bug 188939
+#amrnb: not in tree!
+#zaptel: ??
+src_configure() {
+ econf \
+ --with-archlib=$(get_libdir) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable sctp) \
+ $(use_enable dahdi) \
+ $(use_enable zaptel) \
+ $(use_enable wpcard) \
+ $(use_enable tdmcard) \
+ $(use_enable wanpipe) \
+ $(use_enable ilbc) \
+ $(use_enable ilbc-webrtc) \
+ $(use_enable isac-float) \
+ $(use_enable isac-fixed) \
+ $(use_with postgres libpq) \
+ $(use_with mysql) \
+ $(use_with gsm libgsm) \
+ $(use_with speex libspeex) \
+ $(use_with amrnb) \
+ $(use_with spandsp) \
+ $(use_with h323 openh323 /usr) \
+ $(use_with h323 pwlib /usr) \
+ $(use_with ssl openssl) \
+ $(use_with qt4 libqt4)
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ if use doc; then
+ emake DESTDIR="${ED}" install
+ else
+ emake DESTDIR="${ED}" install-noapi
+ fi
+}
diff --git a/net-voip/yate/yate-9999.ebuild b/net-voip/yate/yate-9999.ebuild
new file mode 100644
index 000000000000..a09f6b3ed8e9
--- /dev/null
+++ b/net-voip/yate/yate-9999.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="The Yate AV Suite"
+HOMEPAGE="http://yate.null.ro/"
+
+if [[ ${PV} == 9999 ]] ; then
+ ESVN_REPO_URI="http://voip.null.ro/svn/yate/trunk"
+ inherit subversion
+ KEYWORDS=""
+else
+ SRC_URI="http://voip.null.ro/tarballs/${PN}5/${P}-1.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+ S="${WORKDIR}/${PN}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+IUSE="doc cpu_flags_x86_sse2 sctp dahdi zaptel wpcard tdmcard wanpipe +ilbc +ilbc-webrtc +isac-float isac-fixed postgres mysql +gsm +speex h323 spandsp +ssl qt4 +zlib amrnb"
+
+RDEPEND="
+ postgres? ( dev-db/postgresql )
+ mysql? ( virtual/mysql )
+ gsm? ( media-sound/gsm )
+ speex? ( media-libs/speex )
+ ssl? ( dev-libs/openssl )
+ h323? ( net-libs/h323plus )
+ zlib? ( sys-libs/zlib )
+ qt4? ( dev-qt/qtgui:4 dev-qt/designer:4 )
+ ilbc? ( dev-libs/ilbc-rfc3951 )
+ spandsp? ( >=media-libs/spandsp-0.0.3 )
+ dahdi? ( net-misc/dahdi )
+"
+DEPEND="doc? ( || ( app-doc/doxygen dev-util/kdoc ) )
+ virtual/pkgconfig
+ ${RDEPEND}"
+
+src_prepare() {
+ eautoreconf
+ ./yate-config.sh || die
+}
+
+#fdsize, inline, rtti: keep default values
+#internalregex: use system
+#coredumper: not in the tree, bug 118716
+#wanpipe, wphwec: not in the tree, bug 188939
+#amrnb: not in tree!
+#zaptel: ??
+src_configure() {
+ econf \
+ --with-archlib=$(get_libdir) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable sctp) \
+ $(use_enable dahdi) \
+ $(use_enable zaptel) \
+ $(use_enable wpcard) \
+ $(use_enable tdmcard) \
+ $(use_enable wanpipe) \
+ $(use_enable ilbc) \
+ $(use_enable ilbc-webrtc) \
+ $(use_enable isac-float) \
+ $(use_enable isac-fixed) \
+ $(use_with postgres libpq) \
+ $(use_with mysql) \
+ $(use_with gsm libgsm) \
+ $(use_with speex libspeex) \
+ $(use_with amrnb) \
+ $(use_with spandsp) \
+ $(use_with h323 openh323 /usr) \
+ $(use_with h323 pwlib /usr) \
+ $(use_with ssl openssl) \
+ $(use_with qt4 libqt4)
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ if use doc; then
+ emake DESTDIR="${ED}" install
+ else
+ emake DESTDIR="${ED}" install-noapi
+ fi
+}