diff options
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/gtk-vnc/ChangeLog | 12 | ||||
-rw-r--r-- | net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch | 43 | ||||
-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 } |