summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/gtk-vnc/ChangeLog12
-rw-r--r--net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch43
-rw-r--r--net-libs/gtk-vnc/gtk-vnc-0.4.2-r1.ebuild (renamed from net-libs/gtk-vnc/gtk-vnc-0.4.2_pre20100917.ebuild)35
3 files changed, 75 insertions, 15 deletions
diff --git a/net-libs/gtk-vnc/ChangeLog b/net-libs/gtk-vnc/ChangeLog
index fcc88e16c116..56199fc65ec3 100644
--- a/net-libs/gtk-vnc/ChangeLog
+++ b/net-libs/gtk-vnc/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-libs/gtk-vnc
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/ChangeLog,v 1.54 2010/11/20 23:09:02 eva Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/ChangeLog,v 1.55 2011/01/13 22:08:01 cardoe Exp $
+
+*gtk-vnc-0.4.2-r1 (13 Jan 2011)
+
+ 13 Jan 2011; Doug Goldstein <cardoe@gentoo.org>
+ -gtk-vnc-0.4.2_pre20100917.ebuild, +gtk-vnc-0.4.2-r1.ebuild,
+ +files/gtk-vnc-0.4.2-memory-leak-fix.patch:
+ Revision bump to fix issue where memory wasn't being unreferenced so that the
+ glib loop was actually slowing down significantly.
20 Nov 2010; Gilles Dartiguelongue <eva@gentoo.org> gtk-vnc-0.4.2.ebuild:
Add missing Text-CSV dependency, bug #345857. Thanks to Diego for reporting.
diff --git a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch
new file mode 100644
index 000000000000..b852feff8b25
--- /dev/null
+++ b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch
@@ -0,0 +1,43 @@
+From 968968c9cf705f5bc96764399ea17a27a454c1c5 Mon Sep 17 00:00:00 2001
+From: Daniel P. Berrange <berrange@redhat.com>
+Date: Tue, 14 Dec 2010 12:41:01 +0000
+Subject: Fix leak of GSource objects which causes performance problems
+
+The GLib event loop scales poorly as the number of GSource objects
+increases. A missing unref on the GSource objects used in the VNC
+connection meant that many unused instances accumulated, slowing
+down the event loop processing.
+
+* src/vncconnection.c: Unref all GSource objects
+---
+diff --git a/src/vncconnection.c b/src/vncconnection.c
+index 165a5f1..51b8b8d 100644
+--- a/src/vncconnection.c
++++ b/src/vncconnection.c
+@@ -234,6 +234,7 @@ static GIOCondition g_io_wait(GSocket *sock, GIOCondition cond)
+ g_source_set_callback(src, (GSourceFunc)g_io_wait_helper, coroutine_self(), NULL);
+ g_source_attach(src, NULL);
+ ret = coroutine_yield(NULL);
++ g_source_unref(src);
+ return *ret;
+ }
+
+@@ -254,6 +255,7 @@ static GIOCondition g_io_wait_interruptable(struct wait_queue *wait,
+ id = g_source_attach(src, NULL);
+ wait->waiting = TRUE;
+ ret = coroutine_yield(NULL);
++ g_source_unref(src);
+ wait->waiting = FALSE;
+
+ if (ret == NULL) {
+@@ -334,6 +336,8 @@ static gboolean g_condition_wait(g_condition_wait_func func, gpointer data)
+ g_source_attach(src, NULL);
+ g_source_set_callback(src, g_condition_wait_helper, coroutine_self(), NULL);
+ coroutine_yield(NULL);
++ g_source_unref(src);
++
+ return TRUE;
+ }
+
+--
+cgit v0.8.3.1
diff --git a/net-libs/gtk-vnc/gtk-vnc-0.4.2_pre20100917.ebuild b/net-libs/gtk-vnc/gtk-vnc-0.4.2-r1.ebuild
index 6e3d5ea77fce..7893e4ec64f6 100644
--- a/net-libs/gtk-vnc/gtk-vnc-0.4.2_pre20100917.ebuild
+++ b/net-libs/gtk-vnc/gtk-vnc-0.4.2-r1.ebuild
@@ -1,47 +1,55 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/gtk-vnc-0.4.2_pre20100917.ebuild,v 1.1 2010/10/13 21:22:02 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/gtk-vnc-0.4.2-r1.ebuild,v 1.1 2011/01/13 22:08:01 cardoe Exp $
EAPI="2"
+PYTHON_DEPEND="python? 2:2.4"
-inherit base
-# gnome.org
+inherit base gnome.org python
DESCRIPTION="VNC viewer widget for GTK."
HOMEPAGE="http://live.gnome.org/gtk-vnc"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples python sasl"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="examples +introspection python sasl"
# libview is used in examples/gvncviewer -- no need
# TODO: review nsplugin when it will be considered less experimental
-RDEPEND=">=x11-libs/gtk+-2.18:2
+RDEPEND=">=dev-libs/glib-2.10:2
>=net-libs/gnutls-1.4
- x11-libs/cairo
+ >=x11-libs/cairo-1.2
+ >=x11-libs/gtk+-2.18:2
x11-libs/libX11
- python? ( >=dev-python/pygtk-2 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.4 )
+ python? ( >=dev-python/pygtk-2:2 )
sasl? ( dev-libs/cyrus-sasl )"
DEPEND="${RDEPEND}
>=dev-lang/perl-5
dev-perl/Text-CSV
dev-util/pkgconfig
sys-devel/gettext
- >=dev-util/intltool-0.35"
+ >=dev-util/intltool-0.40"
+
+pkg_setup() {
+ python_set_active_version 2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-memory-leak-fix.patch
+}
src_configure() {
econf \
$(use_with examples) \
+ $(use_enable introspection) \
$(use_with python) \
$(use_with sasl) \
--with-coroutine=gthread \
--without-libview \
--with-gtk=2.0 \
- --disable-introspection \
--disable-static
}
@@ -49,5 +57,6 @@ src_install() {
# bug #328273
MAKEOPTS="${MAKEOPTS} -j1" \
base_src_install
+ python_clean_installation_image
dodoc AUTHORS ChangeLog NEWS README || die
}