summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2017-08-30 09:30:26 +0200
committerGilles Dartiguelongue <eva@gentoo.org>2017-08-30 09:33:18 +0200
commit96645c4e78bb42991eb98af63db8e54ac1007c20 (patch)
tree01544d64fbeb7bff228f21cf518f0f164b978088
parentsys-auth/pam_ssh_agent_auth: marked ~arm (diff)
downloadgentoo-96645c4e78bb42991eb98af63db8e54ac1007c20.tar.gz
gentoo-96645c4e78bb42991eb98af63db8e54ac1007c20.tar.bz2
gentoo-96645c4e78bb42991eb98af63db8e54ac1007c20.zip
net-misc/vinagre: fix build with newer freerdp snapshots, bug #609474
Package-Manager: Portage-2.3.8, Repoman-2.3.3
-rw-r--r--net-misc/vinagre/files/vinagre-3.22.0-freerdp2-2.patch117
-rw-r--r--net-misc/vinagre/vinagre-3.22.0-r2.ebuild70
2 files changed, 187 insertions, 0 deletions
diff --git a/net-misc/vinagre/files/vinagre-3.22.0-freerdp2-2.patch b/net-misc/vinagre/files/vinagre-3.22.0-freerdp2-2.patch
new file mode 100644
index 000000000000..6c22b46b2583
--- /dev/null
+++ b/net-misc/vinagre/files/vinagre-3.22.0-freerdp2-2.patch
@@ -0,0 +1,117 @@
+Fix build issue with freerdp2
+
+Gnome-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=765444
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=609474
+
+diff --git c/plugins/rdp/vinagre-rdp-tab.c i/plugins/rdp/vinagre-rdp-tab.c
+index b731f9b20ec910cc..13100de3dc0e07e1 100644
+--- c/plugins/rdp/vinagre-rdp-tab.c
++++ i/plugins/rdp/vinagre-rdp-tab.c
+@@ -476,16 +476,17 @@ frdp_drawing_area_draw (GtkWidget *area,
+ return TRUE;
+ }
+
+-static void
++static BOOL
+ frdp_begin_paint (rdpContext *context)
+ {
+ rdpGdi *gdi = context->gdi;
+
+ gdi->primary->hdc->hwnd->invalid->null = 1;
+ gdi->primary->hdc->hwnd->ninvalid = 0;
++ return TRUE;
+ }
+
+-static void
++static BOOL
+ frdp_end_paint (rdpContext *context)
+ {
+ VinagreRdpTab *rdp_tab = ((frdpContext *) context)->rdp_tab;
+@@ -495,7 +496,7 @@ frdp_end_paint (rdpContext *context)
+ gint x, y, w, h;
+
+ if (gdi->primary->hdc->hwnd->invalid->null)
+- return;
++ return TRUE;
+
+ x = gdi->primary->hdc->hwnd->invalid->x;
+ y = gdi->primary->hdc->hwnd->invalid->y;
+@@ -517,6 +518,7 @@ frdp_end_paint (rdpContext *context)
+ {
+ gtk_widget_queue_draw_area (priv->display, x, y, w, h);
+ }
++ return TRUE;
+ }
+
+ static BOOL
+@@ -587,15 +589,7 @@ frdp_post_connect (freerdp *instance)
+ rdpGdi *gdi;
+ int stride;
+
+- gdi_init (instance,
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
+- FREERDP_VERSION_MINOR >= 2))
+- CLRBUF_24BPP,
+-#else
+- CLRBUF_32BPP,
+-#endif
+- NULL);
++ gdi_init (instance, PIXEL_FORMAT_BGRA32);
+ gdi = instance->context->gdi;
+
+ instance->update->BeginPaint = frdp_begin_paint;
+@@ -934,11 +928,13 @@ frdp_authenticate (freerdp *instance,
+ return TRUE;
+ }
+
+-static BOOL
++static DWORD
+ frdp_certificate_verify (freerdp *instance,
+- char *subject,
+- char *issuer,
+- char *fingerprint)
++ const char *common_name,
++ const char *subject,
++ const char *issuer,
++ const char *fingerprint,
++ BOOL host_mismatch)
+ {
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ GtkBuilder *builder;
+@@ -968,17 +964,20 @@ frdp_certificate_verify (freerdp *instance,
+ gtk_widget_hide (dialog);
+
+
+- return response == GTK_RESPONSE_YES;
++ return (response == GTK_RESPONSE_YES) ? 1 : 0;
+ }
+
+
+ #if HAVE_FREERDP_1_1
+-static BOOL
++static DWORD
+ frdp_changed_certificate_verify (freerdp *instance,
+- char *subject,
+- char *issuer,
+- char *new_fingerprint,
+- char *old_fingerprint)
++ const char *common_name,
++ const char *subject,
++ const char *issuer,
++ const char *new_fingerprint,
++ const char *old_subject,
++ const char *old_issuer,
++ const char *old_fingerprint)
+ {
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ GtkBuilder *builder;
+@@ -1023,7 +1022,7 @@ frdp_changed_certificate_verify (freerdp *instance,
+ gtk_widget_hide (dialog);
+
+
+- return response == GTK_RESPONSE_YES;
++ return (response == GTK_RESPONSE_YES) ? 1 : 0;
+ }
+ #endif
+
diff --git a/net-misc/vinagre/vinagre-3.22.0-r2.ebuild b/net-misc/vinagre/vinagre-3.22.0-r2.ebuild
new file mode 100644
index 000000000000..93fecd7376ae
--- /dev/null
+++ b/net-misc/vinagre/vinagre-3.22.0-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools gnome2 linux-info vala
+
+DESCRIPTION="VNC client for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Apps/Vinagre"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="rdp +ssh spice +telepathy zeroconf"
+
+# cairo used in vinagre-tab
+# gdk-pixbuf used all over the place
+RDEPEND="
+ >=dev-libs/glib-2.32.0:2
+ >=x11-libs/gtk+-3.9.6:3
+ app-crypt/libsecret
+ >=dev-libs/libxml2-2.6.31:2
+ >=net-libs/gtk-vnc-0.4.3[gtk3]
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-themes/hicolor-icon-theme
+
+ rdp? ( >=net-misc/freerdp-1.1:= )
+ ssh? ( >=x11-libs/vte-0.20:2.91 )
+ spice? (
+ app-emulation/spice-protocol
+ >=net-misc/spice-gtk-0.5[gtk3] )
+ telepathy? (
+ dev-libs/dbus-glib
+ >=net-libs/telepathy-glib-0.11.6 )
+ zeroconf? ( >=net-dns/avahi-0.6.26[dbus,gtk3] )
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ app-text/yelp-tools
+ dev-libs/appstream-glib
+ >=dev-util/intltool-0.50
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+
+ gnome-base/gnome-common
+"
+# gnome-base/gnome-common needed for eautoreconf
+pkg_pretend() {
+ # Needed for VNC ssh tunnel, bug #518574
+ CONFIG_CHECK="~IPV6"
+ check_extra_config
+}
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=765444
+ eapply "${FILESDIR}"/${PN}-3.20.2-freerdp2.patch
+ eapply "${FILESDIR}"/${PN}-3.22.0-freerdp2-2.patch
+ vala_src_prepare
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable rdp) \
+ $(use_enable ssh) \
+ $(use_enable spice) \
+ $(use_with telepathy) \
+ $(use_with zeroconf avahi)
+}