diff options
author | 2011-11-13 21:13:50 +0000 | |
---|---|---|
committer | 2011-11-13 21:13:50 +0000 | |
commit | 12332a3a25096279b6eb283bdd3bd7fb73ef8ad9 (patch) | |
tree | 7d73c88cc56bb4ce83adfc9419a3ccd84ed748d0 /net-libs | |
parent | whitespace (diff) | |
download | gentoo-2-12332a3a25096279b6eb283bdd3bd7fb73ef8ad9.tar.gz gentoo-2-12332a3a25096279b6eb283bdd3bd7fb73ef8ad9.tar.bz2 gentoo-2-12332a3a25096279b6eb283bdd3bd7fb73ef8ad9.zip |
Version bump. Add support for vala bindings. Clean up old revisions.
(Portage version: 2.2.0_alpha73/cvs/Linux x86_64)
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/gtk-vnc/ChangeLog | 13 | ||||
-rw-r--r-- | net-libs/gtk-vnc/files/gtk-vnc-0.4.2-fb-bounds-fix.patch | 78 | ||||
-rw-r--r-- | net-libs/gtk-vnc/files/gtk-vnc-0.4.2-gnutls-crash-fix.patch | 62 | ||||
-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/files/gtk-vnc-0.4.2-pre-conn-crash-fix.patch | 36 | ||||
-rw-r--r-- | net-libs/gtk-vnc/files/gtk-vnc-0.4.2-shared-flag.patch | 34 | ||||
-rw-r--r-- | net-libs/gtk-vnc/gtk-vnc-0.4.2-r2.ebuild | 66 | ||||
-rw-r--r-- | net-libs/gtk-vnc/gtk-vnc-0.4.3.ebuild | 62 | ||||
-rw-r--r-- | net-libs/gtk-vnc/gtk-vnc-0.4.4.ebuild | 146 | ||||
-rw-r--r-- | net-libs/gtk-vnc/metadata.xml | 1 |
10 files changed, 159 insertions, 382 deletions
diff --git a/net-libs/gtk-vnc/ChangeLog b/net-libs/gtk-vnc/ChangeLog index 0afe1beeed40..fe7c047a366e 100644 --- a/net-libs/gtk-vnc/ChangeLog +++ b/net-libs/gtk-vnc/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for net-libs/gtk-vnc # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/ChangeLog,v 1.74 2011/11/07 06:12:13 nirbheek Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/ChangeLog,v 1.75 2011/11/13 21:13:49 eva Exp $ + +*gtk-vnc-0.4.4 (13 Nov 2011) + + 13 Nov 2011; Gilles Dartiguelongue <eva@gentoo.org> -gtk-vnc-0.4.2-r2.ebuild, + -files/gtk-vnc-0.4.2-fb-bounds-fix.patch, + -files/gtk-vnc-0.4.2-gnutls-crash-fix.patch, + -files/gtk-vnc-0.4.2-memory-leak-fix.patch, + -files/gtk-vnc-0.4.2-pre-conn-crash-fix.patch, + -files/gtk-vnc-0.4.2-shared-flag.patch, -gtk-vnc-0.4.3.ebuild, + +gtk-vnc-0.4.4.ebuild, metadata.xml: + Version bump. Add support for vala bindings. Clean up old revisions. 07 Nov 2011; Nirbheek Chauhan <nirbheek@gentoo.org> Manifest: Fix manifest diff --git a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-fb-bounds-fix.patch b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-fb-bounds-fix.patch deleted file mode 100644 index c983456dcbf4..000000000000 --- a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-fb-bounds-fix.patch +++ /dev/null @@ -1,78 +0,0 @@ -From f3fc5e57a78d4be9872f1394f697b9929873a737 Mon Sep 17 00:00:00 2001 -From: Daniel P. Berrange <dan@berrange.com> -Date: Tue, 23 Nov 2010 22:59:37 +0000 -Subject: Fix framebuffer update boundary check - -Framebuffer boundary checks need to take into account offset, -in addition to width/height - -* src/vncconnection.c: Fix boundary check ---- -diff --git a/src/vncconnection.c b/src/vncconnection.c -index 433256a..165a5f1 100644 ---- a/src/vncconnection.c -+++ b/src/vncconnection.c -@@ -2653,13 +2653,14 @@ static void vnc_connection_ext_key_event(VncConnection *conn) - - - static gboolean vnc_connection_validate_boundary(VncConnection *conn, -+ guint16 x, guint16 y, - guint16 width, guint16 height) - { - VncConnectionPrivate *priv = conn->priv; - -- if (width > priv->width || height > priv->height) { -- VNC_DEBUG("Framebuffer update %dx%d outside boundary %dx%d", -- width, height, priv->width, priv->height); -+ if ((x + width) > priv->width || (y + height) > priv->height) { -+ VNC_DEBUG("Framebuffer update %dx%d at %d,%d outside boundary %dx%d", -+ width, height, x, y, priv->width, priv->height); - priv->has_error = TRUE; - } - -@@ -2681,37 +2682,37 @@ static gboolean vnc_connection_framebuffer_update(VncConnection *conn, gint32 et - - switch (etype) { - case VNC_CONNECTION_ENCODING_RAW: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_raw_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); - break; - case VNC_CONNECTION_ENCODING_COPY_RECT: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_copyrect_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); - break; - case VNC_CONNECTION_ENCODING_RRE: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_rre_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); - break; - case VNC_CONNECTION_ENCODING_HEXTILE: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_hextile_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); - break; - case VNC_CONNECTION_ENCODING_ZRLE: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_zrle_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); - break; - case VNC_CONNECTION_ENCODING_TIGHT: -- if (!vnc_connection_validate_boundary(conn, width, height)) -+ if (!vnc_connection_validate_boundary(conn, x, y, width, height)) - break; - vnc_connection_tight_update(conn, x, y, width, height); - vnc_connection_update(conn, x, y, width, height); --- -cgit v0.8.3.1 diff --git a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-gnutls-crash-fix.patch b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-gnutls-crash-fix.patch deleted file mode 100644 index d9dff3e80d34..000000000000 --- a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-gnutls-crash-fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5760a2a28d85cb79e39063cfd8ee8aee975caf24 Mon Sep 17 00:00:00 2001 -From: Daniel P. Berrange <dan@berrange.com> -Date: Mon, 22 Nov 2010 21:44:56 +0000 -Subject: Avoid crash in TLS cleanup code on shutdown - -The gnutls_bye() method may try to send data on the socket todo -graceful TLS shutdown. The priv->sock variable is possibly -already NULL at this point if the close was triggered via the -vnc_connection_shutdown() method. Change the latter so that -it only calls g_socket_close, not actually free'ing the -priv->sock object immediately. Also put sanity check code in -the TLS push/pull functions to catch future bugs in this area ---- -diff --git a/src/vncconnection.c b/src/vncconnection.c -index 4a0c53c..433256a 100644 ---- a/src/vncconnection.c -+++ b/src/vncconnection.c -@@ -939,6 +939,12 @@ static ssize_t vnc_connection_tls_push(gnutls_transport_ptr_t transport, - int ret; - GError *error = NULL; - -+ if (!priv->sock) { -+ VNC_DEBUG("Unexpected TLS push on closed socket"); -+ errno = EBADF; -+ return -1; -+ } -+ - ret = g_socket_send(priv->sock, data, len, NULL, &error); - if (ret < 0) { - if (error) { -@@ -962,6 +968,12 @@ static ssize_t vnc_connection_tls_pull(gnutls_transport_ptr_t transport, - int ret; - GError *error = NULL; - -+ if (!priv->sock) { -+ VNC_DEBUG("Unexpected TLS pull on closed socket"); -+ errno = EBADF; -+ return -1; -+ } -+ - ret = g_socket_receive(priv->sock, data, len, NULL, &error); - if (ret < 0) { - if (error) { -@@ -4461,11 +4473,12 @@ void vnc_connection_shutdown(VncConnection *conn) - VNC_DEBUG("Waking up couroutine to shutdown gracefully"); - g_io_wakeup(&priv->wait); - -- if (priv->sock) { -+ /* Closing the socket triggers an I/O error in the -+ * event loop resulting...eventually.. in a call -+ * to vnc_connection_close for full cleanup -+ */ -+ if (priv->sock) - g_socket_close(priv->sock, NULL); -- g_object_unref(priv->sock); -- priv->sock = NULL; -- } - } - - gboolean vnc_connection_is_open(VncConnection *conn) --- -cgit v0.8.3.1 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 deleted file mode 100644 index b852feff8b25..000000000000 --- a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-memory-leak-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -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/files/gtk-vnc-0.4.2-pre-conn-crash-fix.patch b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-pre-conn-crash-fix.patch deleted file mode 100644 index e3a77c11886e..000000000000 --- a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-pre-conn-crash-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f23f0ebf1b659208d5036e10ab1f32249a2e1a4c Mon Sep 17 00:00:00 2001 -From: Daniel P. Berrange <dan@berrange.com> -Date: Mon, 22 Nov 2010 21:18:29 +0000 -Subject: Avoid crash in motion event & vnc_display_get_pixbuf - -If a mouse event occurs before a connection completes setup -priv->fb will be NULL and a crash can occur. Likewise if -vnc_display_get_pixbuf() is called before priv->fb is set, -then a crash occurs. Add checks for NULL in both cases ---- -diff --git a/src/vncdisplay.c b/src/vncdisplay.c -index 55fbcf4..0b7e800 100644 ---- a/src/vncdisplay.c -+++ b/src/vncdisplay.c -@@ -557,6 +557,9 @@ static gboolean motion_event(GtkWidget *widget, GdkEventMotion *motion) - if (priv->conn == NULL || !vnc_connection_is_initialized(priv->conn)) - return FALSE; - -+ if (!priv->fb) -+ return FALSE; -+ - fbw = vnc_framebuffer_get_width(VNC_FRAMEBUFFER(priv->fb)); - fbh = vnc_framebuffer_get_height(VNC_FRAMEBUFFER(priv->fb)); - -@@ -2050,6 +2053,9 @@ GdkPixbuf *vnc_display_get_pixbuf(VncDisplay *obj) - !vnc_connection_is_initialized(priv->conn)) - return NULL; - -+ if (!priv->fb) -+ return NULL; -+ - fb = VNC_FRAMEBUFFER(priv->fb); - surface = vnc_cairo_framebuffer_get_surface(priv->fb); - content = cairo_surface_get_content(surface) | CAIRO_CONTENT_COLOR; --- -cgit v0.8.3.1 diff --git a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-shared-flag.patch b/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-shared-flag.patch deleted file mode 100644 index 16d5cd9017f7..000000000000 --- a/net-libs/gtk-vnc/files/gtk-vnc-0.4.2-shared-flag.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ba169973b875f90bf787158588ee4258b71a6ba6 Mon Sep 17 00:00:00 2001 -From: Sébastien Granjoux <seb.sfo@free.fr> -Date: Thu, 13 Jan 2011 16:36:33 +0000 -Subject: Fix setup of 'shared flag' when opening connection - -The VncDisplay class forgot to pass the 'shared flag' onto -the VncConnection class when establishing a connection ---- -diff --git a/src/vncdisplay.c b/src/vncdisplay.c -index deab4d8..f8ee9ea 100644 ---- a/src/vncdisplay.c -+++ b/src/vncdisplay.c -@@ -1407,6 +1407,9 @@ gboolean vnc_display_open_fd(VncDisplay *obj, int fd) - if (vnc_connection_is_open(priv->conn)) - return FALSE; - -+ if (!vnc_connection_set_shared(priv->conn, priv->shared_flag)) -+ return FALSE; -+ - if (!vnc_connection_open_fd(priv->conn, fd)) - return FALSE; - -@@ -1422,6 +1425,9 @@ gboolean vnc_display_open_host(VncDisplay *obj, const char *host, const char *po - if (vnc_connection_is_open(priv->conn)) - return FALSE; - -+ if (!vnc_connection_set_shared(priv->conn, priv->shared_flag)) -+ return FALSE; -+ - if (!vnc_connection_open_host(priv->conn, host, port)) - return FALSE; - --- -cgit v0.8.3.1 diff --git a/net-libs/gtk-vnc/gtk-vnc-0.4.2-r2.ebuild b/net-libs/gtk-vnc/gtk-vnc-0.4.2-r2.ebuild deleted file mode 100644 index 7725572bb2e9..000000000000 --- a/net-libs/gtk-vnc/gtk-vnc-0.4.2-r2.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# 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-r2.ebuild,v 1.6 2011/03/22 19:41:58 ranger Exp $ - -EAPI="2" -PYTHON_DEPEND="python? 2:2.4" - -inherit base gnome.org python - -DESCRIPTION="VNC viewer widget for GTK." -HOMEPAGE="http://live.gnome.org/gtk-vnc" - -LICENSE="GPL-2" -SLOT="0" -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=">=dev-libs/glib-2.10:2 - >=net-libs/gnutls-1.4 - >=x11-libs/cairo-1.2 - >=x11-libs/gtk+-2.18:2 - x11-libs/libX11 - 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.40" - -pkg_setup() { - python_set_active_version 2 -} - -src_prepare() { - epatch "${FILESDIR}"/${P}-pre-conn-crash-fix.patch - epatch "${FILESDIR}"/${P}-gnutls-crash-fix.patch - epatch "${FILESDIR}"/${P}-fb-bounds-fix.patch - epatch "${FILESDIR}"/${P}-memory-leak-fix.patch - epatch "${FILESDIR}"/${P}-shared-flag.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-static -} - -src_install() { - # bug #328273 - MAKEOPTS="${MAKEOPTS} -j1" \ - base_src_install - python_clean_installation_image - dodoc AUTHORS ChangeLog NEWS README || die -} diff --git a/net-libs/gtk-vnc/gtk-vnc-0.4.3.ebuild b/net-libs/gtk-vnc/gtk-vnc-0.4.3.ebuild deleted file mode 100644 index 1a6bf67d7077..000000000000 --- a/net-libs/gtk-vnc/gtk-vnc-0.4.3.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# 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.3.ebuild,v 1.5 2011/10/05 17:01:49 xarthisius Exp $ - -EAPI="3" -PYTHON_DEPEND="python? 2:2.4" - -inherit base gnome.org python - -DESCRIPTION="VNC viewer widget for GTK." -HOMEPAGE="http://live.gnome.org/gtk-vnc" - -LICENSE="GPL-2" -SLOT="0" -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=">=dev-libs/glib-2.10:2 - >=net-libs/gnutls-1.4 - >=x11-libs/cairo-1.2 - >=x11-libs/gtk+-2.18:2 - x11-libs/libX11 - 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.40" - -pkg_setup() { - python_set_active_version 2 -} - -src_prepare() { - python_convert_shebangs -r 2 . -} - -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-static -} - -src_install() { - # bug #328273 - MAKEOPTS="${MAKEOPTS} -j1" \ - base_src_install - python_clean_installation_image - dodoc AUTHORS ChangeLog NEWS README || die -} diff --git a/net-libs/gtk-vnc/gtk-vnc-0.4.4.ebuild b/net-libs/gtk-vnc/gtk-vnc-0.4.4.ebuild new file mode 100644 index 000000000000..62a3a79f7f14 --- /dev/null +++ b/net-libs/gtk-vnc/gtk-vnc-0.4.4.ebuild @@ -0,0 +1,146 @@ +# 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.4.ebuild,v 1.1 2011/11/13 21:13:49 eva Exp $ + +EAPI="3" +GNOME_TARBALL_SUFFIX="xz" + +inherit base eutils gnome.org python + +DESCRIPTION="VNC viewer widget for GTK" +HOMEPAGE="http://live.gnome.org/gtk-vnc" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="examples gtk3 +introspection python sasl vala" + +# libview is used in examples/gvncviewer -- no need +# TODO: review nsplugin when it will be considered less experimental + +COMMON_DEPEND=">=dev-libs/glib-2.10:2 + >=net-libs/gnutls-1.4 + >=x11-libs/cairo-1.2 + >=x11-libs/gtk+-2.18:2 + x11-libs/libX11 + gtk3? ( >=x11-libs/gtk+-2.91.3:3 ) + introspection? ( >=dev-libs/gobject-introspection-0.9.4 ) + python? ( >=dev-python/pygtk-2:2 ) + sasl? ( dev-libs/cyrus-sasl )" +RDEPEND="${COMMON_DEPEND}" +DEPEND="${COMMON_DEPEND} + >=dev-lang/perl-5 + dev-util/pkgconfig + sys-devel/gettext + >=dev-util/intltool-0.40 + vala? ( + dev-lang/vala:0.14[vapigen] + >=dev-libs/gobject-introspection-0.9.4 ) +" + +GTK2_BUILDDIR="${WORKDIR}/${P}_gtk2" +GTK3_BUILDDIR="${WORKDIR}/${P}_gtk3" + +pkg_setup() { + python_set_active_version 2 + + if use vala && ! use gtk3; then + ewarn "You must set USE=gtk3 to enable vala bindings support." + fi +} + +src_prepare() { + python_convert_shebangs -r 2 . + mkdir "${GTK2_BUILDDIR}" || die + mkdir "${GTK3_BUILDDIR}" || die + + # Remove a few files that were autogenerated during distcheck. + # Having these around in srcdir breaks out of tree build since they're + # expected to be in builddir, which is correct for trunk builds since + # they're generated files, not source files. Funny false dichotomy. + rm -vf "${S}"/src/{vncconnectionenums.[ch],vncdisplayenums.[ch]} + + # Fix incorrect codegendir check: h2def.py is in pygobject, not pygtk + sed -e 's/codegendir pygtk-2.0/codegendir pygobject-2.0/g' \ + -i src/Makefile.* || die +} + +src_configure() { + local myconf + myconf=" + $(use_with examples) \ + $(use_enable introspection) \ + $(use_with sasl) \ + --with-coroutine=gthread \ + --without-libview \ + --disable-static \ + --disable-vala" + + cd ${GTK2_BUILDDIR} + einfo "Running configure in ${GTK2_BUILDDIR}" + ECONF_SOURCE="${S}" econf ${myconf} \ + $(use_with python) \ + --with-gtk=2.0 + + if use gtk3; then + if use vala; then + myconf="${myconf} \ + --enable-introspection \ + --enable-vala \ + VAPIGEN=$(type -p vapigen-0.14)" + fi + + cd ${GTK3_BUILDDIR} + einfo "Running configure in ${GTK3_BUILDDIR}" + # Python support is via gobject-introspection + # Ex: from gi.repository import GtkVnc + ECONF_SOURCE="${S}" econf ${myconf} \ + --with-python=no \ + --with-gtk=3.0 + fi +} + +src_compile() { + cd ${GTK2_BUILDDIR} + einfo "Running make in ${GTK2_BUILDDIR}" + emake || die + + if use gtk3; then + cd ${GTK3_BUILDDIR} + einfo "Running make in ${GTK3_BUILDDIR}" + emake || die + fi +} + +src_test() { + cd ${GTK2_BUILDDIR} + einfo "Running make check in ${GTK2_BUILDDIR}" + emake check || die + + if use gtk3; then + cd ${GTK3_BUILDDIR} + einfo "Running make check in ${GTK3_BUILDDIR}" + emake check || die + fi +} + +src_install() { + dodoc AUTHORS ChangeLog NEWS README || die + + cd ${GTK2_BUILDDIR} + einfo "Running make install in ${GTK2_BUILDDIR}" + # bug #328273 + MAKEOPTS="${MAKEOPTS} -j1" base_src_install + + if use gtk3; then + cd ${GTK3_BUILDDIR} + einfo "Running make install in ${GTK3_BUILDDIR}" + # bug #328273 + MAKEOPTS="${MAKEOPTS} -j1" base_src_install + fi + + python_clean_installation_image + + # Remove .la files + find "${ED}" -name '*.la' -exec rm -f '{}' + || die +} diff --git a/net-libs/gtk-vnc/metadata.xml b/net-libs/gtk-vnc/metadata.xml index 21064efa27ad..e54548dae0dc 100644 --- a/net-libs/gtk-vnc/metadata.xml +++ b/net-libs/gtk-vnc/metadata.xml @@ -6,5 +6,6 @@ <flag name="gtk3">Build the gtk3 gtk-vnc library and other gtk3 assets</flag> <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> for introspection</flag> + <flag name="vala">Enable bindings for <pkg>dev-lang/vala</pkg></flag> </use> </pkgmetadata> |