diff options
author | Mounir Lamouri <volkmar@gentoo.org> | 2009-04-28 16:14:39 +0000 |
---|---|---|
committer | Mounir Lamouri <volkmar@gentoo.org> | 2009-04-28 16:14:39 +0000 |
commit | e1935da6afebb621742b562961d8ce543d01b607 (patch) | |
tree | 78503c1a7d3b230473547704c4a2b3cda413cba9 /net-voip/ekiga | |
parent | removing kphone from net-misc, it has moved to net-voip (diff) | |
download | gentoo-2-e1935da6afebb621742b562961d8ce543d01b607.tar.gz gentoo-2-e1935da6afebb621742b562961d8ce543d01b607.tar.bz2 gentoo-2-e1935da6afebb621742b562961d8ce543d01b607.zip |
moving from net-im to net-voip
(Portage version: 2.1.6.7/cvs/Linux ppc, RepoMan options: --force)
Diffstat (limited to 'net-voip/ekiga')
-rw-r--r-- | net-voip/ekiga/ChangeLog | 238 | ||||
-rw-r--r-- | net-voip/ekiga/ekiga-2.0.12.ebuild | 97 | ||||
-rw-r--r-- | net-voip/ekiga/files/ekiga-1.99.0-configure.patch | 25 | ||||
-rw-r--r-- | net-voip/ekiga/files/ekiga-2.0.12-gdu.patch | 111 | ||||
-rw-r--r-- | net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff | 95 | ||||
-rw-r--r-- | net-voip/ekiga/files/ekiga-eggtrayicon-update.diff | 535 | ||||
-rw-r--r-- | net-voip/ekiga/files/not-gnome.patch | 13 | ||||
-rw-r--r-- | net-voip/ekiga/metadata.xml | 5 |
8 files changed, 1119 insertions, 0 deletions
diff --git a/net-voip/ekiga/ChangeLog b/net-voip/ekiga/ChangeLog new file mode 100644 index 000000000000..1fc1127fea32 --- /dev/null +++ b/net-voip/ekiga/ChangeLog @@ -0,0 +1,238 @@ +# ChangeLog for net-im/ekiga +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-voip/ekiga/ChangeLog,v 1.1 2009/04/28 16:14:39 volkmar Exp $ + + 28 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> + +files/ekiga-1.99.0-configure.patch, +files/ekiga-2.0.12-gdu.patch, + +files/ekiga-eggtrayicon-transparency.diff, + +files/ekiga-eggtrayicon-update.diff, +files/not-gnome.patch, + +metadata.xml, +ekiga-2.0.12.ebuild: + Moving from net-im to net-voip. + + 07 Mar 2009; Thomas Anderson <gentoofan23@gentoo.org> ekiga-2.0.12.ebuild: + Transition to eapi 2 use deps + + 27 Feb 2009; Torsten Veller <tove@gentoo.org> ekiga-2.0.12.ebuild: + Add missing die: || "..." -> || die "..." + + 16 Feb 2009; Jeremy Olexa <darkside@gentoo.org> -ekiga-2.0.11.ebuild, + ekiga-2.0.12.ebuild: + (non maintainer commit) fix tests when USE=gnome is present, bug 235849 by + Mounir Lamouri + + 05 Feb 2009; Jeremy Olexa <darkside@gentoo.org> ekiga-2.0.12.ebuild: + (non maintainer commit) Don't use bundled intltool, causes problems for some + people, bug 234851 + + 13 Nov 2008; Brent Baude <ranger@gentoo.org> ekiga-2.0.12.ebuild: + Marking ekiga-2.0.12 ppc64 stable for bug 236971 + + 09 Nov 2008; Gilles Dartiguelongue <eva@gentoo.org> ekiga-2.0.12.ebuild: + fix sandbox issue with gconf 2.24, bug #244430. + + 25 Sep 2008; Jeroen Roovers <jer@gentoo.org> ekiga-2.0.12.ebuild: + Stable for HPPA (bug #236971). + + 12 Aug 2008; Raúl Porcel <armin76@gentoo.org> ekiga-2.0.12.ebuild: + alpha/ia64/sparc stable wrt #229709 + + 10 Aug 2008; Markus Meier <maekke@gentoo.org> ekiga-2.0.12.ebuild: + x86 stable, bug #229709 + + 30 Jul 2008; Brent Baude <ranger@gentoo.org> ekiga-2.0.12.ebuild: + Marking ekiga-2.0.12 ppc stable for bug 229709 + + 26 Jul 2008; Olivier Crête <tester@gentoo.org> ekiga-2.0.12.ebuild: + Stable on amd64/x86, bug #222219 + +*ekiga-2.0.12 (20 Mar 2008) + + 20 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org> + +files/ekiga-2.0.12-gdu.patch, +ekiga-2.0.12.ebuild: + bump to 2.0.12, cleanup dependencies + + 21 Nov 2007; Michael Sterrett <mr_bones_@gentoo.org> -ekiga-2.0.7.ebuild, + -ekiga-2.0.9.ebuild: + remove old, dep-broken ebuilds + + 12 Oct 2007; Tobias Scherbaum <dertobi123@gentoo.org> ekiga-2.0.11.ebuild: + ppc stable, bug #193095 + + 11 Oct 2007; Raúl Porcel <armin76@gentoo.org> ekiga-2.0.11.ebuild: + alpha/ia64/sparc stable wrt security #193095 + + 11 Oct 2007; Markus Rothe <corsair@gentoo.org> ekiga-2.0.11.ebuild: + Stable on ppc64; bug #193095 + + 11 Oct 2007; Mike Doty <kingtaco@gentoo.org> ekiga-2.0.11.ebuild: + amd64 stable bug 193095 + + 10 Oct 2007; Jeroen Roovers <jer@gentoo.org> ekiga-2.0.11.ebuild: + Stable for HPPA (bug #193095). + + 10 Oct 2007; Christian Faulhammer <opfer@gentoo.org> ekiga-2.0.11.ebuild: + stable x86, security bug 193095 + + 09 Oct 2007; Stefan Schweizer <genstef@gentoo.org> +files/not-gnome.patch, + ekiga-2.0.11.ebuild: + Fix USE=-gnome thanks to Charles Clément <caratorn@gmail.com> in bug 195227 + +*ekiga-2.0.11 (08 Oct 2007) + + 08 Oct 2007; Stefan Schweizer <genstef@gentoo.org> +ekiga-2.0.11.ebuild: + version bump + + 02 Aug 2007; Michael Sterrett <mr_bones_@gentoo.org> ekiga-2.0.7.ebuild, + ekiga-2.0.9.ebuild: + correct dbus deps (bug #187369) + + 08 Jul 2007; Michael Sterrett <mr_bones_@gentoo.org> ekiga-2.0.7.ebuild, + ekiga-2.0.9.ebuild: + remove reference to old, removed dbus (bug #183696) + +*ekiga-2.0.9 (14 Apr 2007) + + 14 Apr 2007; Stefan Schweizer <genstef@gentoo.org> +ekiga-2.0.9.ebuild: + version bump + + 14 Apr 2007; Stefan Schweizer <genstef@gentoo.org> -ekiga-2.0.3.ebuild, + -ekiga-2.0.5.ebuild: + remove old + + 23 Mar 2007; René Nussbaumer <killerfox@gentoo.org> ekiga-2.0.7.ebuild: + Stable on hppa. See bug #167643. + + 23 Mar 2007; Chris Gianelloni <wolf31o2@gentoo.org> ekiga-2.0.7.ebuild: + Stable on alpha/amd64/ia64/ppc wrt bug #167643. + + 23 Mar 2007; Markus Rothe <corsair@gentoo.org> ekiga-2.0.7.ebuild: + Stable on ppc64; bug #167643 + + 23 Mar 2007; Christian Faulhammer <opfer@gentoo.org> ekiga-2.0.7.ebuild: + stable x86, security bug 167643 + +*ekiga-2.0.7 (21 Mar 2007) + + 21 Mar 2007; Gustavo Zacarias <gustavoz@gentoo.org> +ekiga-2.0.7.ebuild: + Verbump wrt #167643 and #169066 + + 10 Mar 2007; Bryan Østergaard <kloeri@gentoo.org> ekiga-2.0.5.ebuild: + Stable on Alpha + IA64, bug 167643. + + 03 Mar 2007; Tobias Scherbaum <dertobi123@gentoo.org> ekiga-2.0.5.ebuild: + Stable on ppc wrt bug #167643. + + 02 Mar 2007; Steve Dibb <beandog@gentoo.org> ekiga-2.0.5.ebuild: + amd64 stable, security bug 167643 + + 01 Mar 2007; René Nussbaumer <killerfox@gentoo.org> ekiga-2.0.5.ebuild: + Stable on hppa. See bug #167643. + + 27 Feb 2007; Jason Wever <weeve@gentoo.org> ekiga-2.0.5.ebuild: + Stable on SPARC wrt security bug #167643. + + 25 Feb 2007; Markus Rothe <corsair@gentoo.org> ekiga-2.0.5.ebuild: + Stable on ppc64; bug #167643 + + 24 Feb 2007; Raúl Porcel <armin76@gentoo.org> ekiga-2.0.5.ebuild: + x86 stable wrt bug 167643 + +*ekiga-2.0.5 (21 Feb 2007) + + 21 Feb 2007; Remi Cardona <remi@gentoo.org> +ekiga-2.0.5.ebuild: + bumping ekiga to 2.0.5 + + 19 Jan 2007; Jeroen Roovers <jer@gentoo.org> ekiga-2.0.3.ebuild: + Stable for HPPA (bug #147751). + + 14 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ekiga-2.0.3.ebuild: + Stable on Alpha. + + 06 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> -ekiga-2.0.2.ebuild, + ekiga-2.0.3.ebuild: + Changed einfo to eerror, removed old version. + + 06 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ekiga-2.0.3.ebuild: + Add ~ia64 keyword, bug 142482. + + 21 Dec 2006; Markus Rothe <corsair@gentoo.org> ekiga-2.0.3.ebuild: + Stable on ppc64; bug #156662 + + 18 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> ekiga-2.0.3.ebuild: + Stable on sparc + + 17 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org> ekiga-2.0.3.ebuild: + Stable on ppc wrt bug #156662. + + 12 Dec 2006; Chris Gianelloni <wolf31o2@gentoo.org> ekiga-2.0.3.ebuild: + Stable on amd64 wrt bug #156662. + + 10 Dec 2006; Andrej Kacian <ticho@gentoo.org> ekiga-2.0.3.ebuild: + Stable on x86, bug #156662. + + 03 Dec 2006; Piotr Jaroszyński <peper@gentoo.org> ekiga-2.0.2.ebuild, + ekiga-2.0.3.ebuild: + Fix dep: dbus wrt bug #154521. + + 25 Nov 2006; Bryan Østergaard <kloeri@gentoo.org> ekiga-2.0.3.ebuild: + Add ~alpha keyword. + +*ekiga-2.0.3 (12 Sep 2006) + + 12 Sep 2006; Stefan Schweizer <genstef@gentoo.org> +ekiga-2.0.3.ebuild: + version bump + + 17 Aug 2006; Markus Rothe <corsair@gentoo.org> ekiga-2.0.2.ebuild: + Stable on ppc64 + + 13 Aug 2006; Stefan Schweizer <genstef@gentoo.org> -ekiga-2.0.1.ebuild, + ekiga-2.0.2.ebuild: + fix avahi dbus useflag detection and remove old, thanks solar + + 20 Jul 2006; Markus Rothe <corsair@gentoo.org> ekiga-2.0.2.ebuild: + Added ~ppc64; bug #136615 + + 17 Jul 2006; Daniel Gryniewicz <dang@gentoo.org> ekiga-2.0.2.ebuild: + Marked stable on amd64 for bug #139612 + + 14 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org> ekiga-2.0.2.ebuild: + ppc stable, bug #139612 + + 12 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> ekiga-2.0.2.ebuild: + Stable on x86 wrt bug #139612. + + 10 Jul 2006; Gustavo Zacarias <gustavoz@gentoo.org> ekiga-2.0.2.ebuild: + Stable on sparc wrt #139612 and #115652 + + 05 Jul 2006; Stefan Schweizer <genstef@gentoo.org> ekiga-2.0.2.ebuild: + needs avahi w/ USE=dbus thanks to Cedric Krier <ced@ced.homedns.org> and + Gilles Dartiguelongue <dartigug@esiee.fr> in bug 136254 + + 07 Jun 2006; Stefan Schweizer <genstef@gentoo.org> ekiga-2.0.2.ebuild: + Remove unused ssl and ipv6 use flags, use use_enable, truncate useless docs, + fixes bug 132657 + +*ekiga-2.0.2 (06 Jun 2006) + + 06 Jun 2006; Stefan Schweizer <genstef@gentoo.org> + +files/ekiga-eggtrayicon-transparency.diff, + +files/ekiga-eggtrayicon-update.diff, +ekiga-2.0.2.ebuild: + version bump including a kde trayicon fix, bug 135327, and a doc fix, bug + 129344, version bump bug 135785 + + 24 Mar 2006; Stefan Schweizer <genstef@gentoo.org> ekiga-2.0.1.ebuild: + Readd ermissions fix thanks to Mike Auty <mike.auty@gmail.com> and David + PIRY <klessou@gmail.com> in bug 127108 and depend on >=dbus-0.61 thanks to + David Stevenson <david@avoncliff.com> in bug 127170 + + 21 Mar 2006; Stefan Schweizer <genstef@gentoo.org> ekiga-2.0.1.ebuild: + Add ldap-pwlib check thanks to Serkan Kaba <serkan_kaba@yahoo.com> in bug + 127090, remove postinstall thanks to David PIRY <klessou@gmail.com> in bug + 127108 + +*ekiga-2.0.1 (20 Mar 2006) + + 20 Mar 2006; Stefan Schweizer <genstef@gentoo.org> + +files/ekiga-1.99.0-configure.patch, +metadata.xml, +ekiga-2.0.1.ebuild: + New ebuild thanks to many people in bug 119611 + diff --git a/net-voip/ekiga/ekiga-2.0.12.ebuild b/net-voip/ekiga/ekiga-2.0.12.ebuild new file mode 100644 index 000000000000..2c2fde08a8ea --- /dev/null +++ b/net-voip/ekiga/ekiga-2.0.12.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-voip/ekiga/ekiga-2.0.12.ebuild,v 1.1 2009/04/28 16:14:39 volkmar Exp $ + +EAPI="2" +inherit gnome2 eutils flag-o-matic + +DESCRIPTION="H.323 and SIP VoIP softphone" +HOMEPAGE="http://www.ekiga.org/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" +IUSE="avahi dbus doc gnome sdl" + +RDEPEND="~dev-libs/pwlib-1.10.$[${PV##*.}-2][ldap] + ~net-libs/opal-2.2.$[${PV##*.}-1] + >=x11-libs/gtk+-2.4.0 + >=dev-libs/glib-2.0.0 + sdl? ( >=media-libs/libsdl-1.2.4 ) + dbus? ( >=dev-libs/dbus-glib-0.71 ) + avahi? ( net-dns/avahi[dbus] ) + gnome? ( + >=gnome-base/libbonobo-2.2.0 + >=gnome-base/libgnomeui-2.2.0 + >=gnome-base/libgnome-2.2.0 + >=gnome-base/gconf-2.2.0 + >=gnome-base/orbit-2.5.0 + gnome-extra/evolution-data-server + >=media-sound/esound-0.2.28 )" + +DEPEND="${RDEPEND} + dev-lang/perl + >=dev-util/pkgconfig-0.12.0 + >=dev-util/intltool-0.20 + gnome? ( app-text/scrollkeeper + doc? ( app-text/gnome-doc-utils ) )" + +DOCS="AUTHORS ChangeLog NEWS" + +pkg_setup() { + G2CONF="${G2CONF} + $(use_enable dbus) + $(use_enable sdl) + $(use_enable avahi) + $(use_enable doc) + $(use_enable gnome) + --disable-scrollkeeper + --disable-schemas-install" +} + +src_unpack() { + gnome2_src_unpack + + # Fix configure to install schemafile into the proper directory + epatch "${FILESDIR}"/${PN}-1.99.0-configure.patch + + # Fix gnome-doc-utils detection + epatch "${FILESDIR}"/${P}-gdu.patch + + # Use installed inittools, see bug #234851 + sed -i -e 's#$(top_builddir)/intltool-#intltool-#' configure \ + || die "patching configure failed" +} + +src_test() { + # xml files don't follow dtd, see bug #235849 + # prevent tests to fail + if use gnome; then + sed -i -e "/,check-doc/d" help/Makefile \ + || die "patching help/Makefile for tests failed" + sed -i -e "/^check:/d" help/Makefile \ + || die "patching help/Makefile for tests failed" + fi + + emake -j1 check || die "emake check failed" +} + +src_install() { + if use gnome; then + gnome2_src_install + else + emake DESTDIR="${D}" install || die "make install failed" + + dodoc ${DOCS} + fi +} + +pkg_postinst() { + if use gnome; then + gnome2_pkg_postinst + + # we need to fix the GConf permissions, see bug #59764 + einfo "Fixing GConf permissions for ekiga" + ekiga-config-tool --fix-permissions + 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-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..02207a5a38e2 --- /dev/null +++ b/net-voip/ekiga/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>voip</herd> +</pkgmetadata> |