commit: 96645c4e78bb42991eb98af63db8e54ac1007c20 Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org> AuthorDate: Wed Aug 30 07:30:26 2017 +0000 Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org> CommitDate: Wed Aug 30 07:33:18 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96645c4e
net-misc/vinagre: fix build with newer freerdp snapshots, bug #609474 Package-Manager: Portage-2.3.8, Repoman-2.3.3 .../vinagre/files/vinagre-3.22.0-freerdp2-2.patch | 117 +++++++++++++++++++++ net-misc/vinagre/vinagre-3.22.0-r2.ebuild | 70 ++++++++++++ 2 files changed, 187 insertions(+) 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 00000000000..6c22b46b258 --- /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 00000000000..93fecd7376a --- /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) +}