1 |
commit: 96645c4e78bb42991eb98af63db8e54ac1007c20 |
2 |
Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Aug 30 07:30:26 2017 +0000 |
4 |
Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Aug 30 07:33:18 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96645c4e |
7 |
|
8 |
net-misc/vinagre: fix build with newer freerdp snapshots, bug #609474 |
9 |
|
10 |
Package-Manager: Portage-2.3.8, Repoman-2.3.3 |
11 |
|
12 |
.../vinagre/files/vinagre-3.22.0-freerdp2-2.patch | 117 +++++++++++++++++++++ |
13 |
net-misc/vinagre/vinagre-3.22.0-r2.ebuild | 70 ++++++++++++ |
14 |
2 files changed, 187 insertions(+) |
15 |
|
16 |
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 |
17 |
new file mode 100644 |
18 |
index 00000000000..6c22b46b258 |
19 |
--- /dev/null |
20 |
+++ b/net-misc/vinagre/files/vinagre-3.22.0-freerdp2-2.patch |
21 |
@@ -0,0 +1,117 @@ |
22 |
+Fix build issue with freerdp2 |
23 |
+ |
24 |
+Gnome-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=765444 |
25 |
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=609474 |
26 |
+ |
27 |
+diff --git c/plugins/rdp/vinagre-rdp-tab.c i/plugins/rdp/vinagre-rdp-tab.c |
28 |
+index b731f9b20ec910cc..13100de3dc0e07e1 100644 |
29 |
+--- c/plugins/rdp/vinagre-rdp-tab.c |
30 |
++++ i/plugins/rdp/vinagre-rdp-tab.c |
31 |
+@@ -476,16 +476,17 @@ frdp_drawing_area_draw (GtkWidget *area, |
32 |
+ return TRUE; |
33 |
+ } |
34 |
+ |
35 |
+-static void |
36 |
++static BOOL |
37 |
+ frdp_begin_paint (rdpContext *context) |
38 |
+ { |
39 |
+ rdpGdi *gdi = context->gdi; |
40 |
+ |
41 |
+ gdi->primary->hdc->hwnd->invalid->null = 1; |
42 |
+ gdi->primary->hdc->hwnd->ninvalid = 0; |
43 |
++ return TRUE; |
44 |
+ } |
45 |
+ |
46 |
+-static void |
47 |
++static BOOL |
48 |
+ frdp_end_paint (rdpContext *context) |
49 |
+ { |
50 |
+ VinagreRdpTab *rdp_tab = ((frdpContext *) context)->rdp_tab; |
51 |
+@@ -495,7 +496,7 @@ frdp_end_paint (rdpContext *context) |
52 |
+ gint x, y, w, h; |
53 |
+ |
54 |
+ if (gdi->primary->hdc->hwnd->invalid->null) |
55 |
+- return; |
56 |
++ return TRUE; |
57 |
+ |
58 |
+ x = gdi->primary->hdc->hwnd->invalid->x; |
59 |
+ y = gdi->primary->hdc->hwnd->invalid->y; |
60 |
+@@ -517,6 +518,7 @@ frdp_end_paint (rdpContext *context) |
61 |
+ { |
62 |
+ gtk_widget_queue_draw_area (priv->display, x, y, w, h); |
63 |
+ } |
64 |
++ return TRUE; |
65 |
+ } |
66 |
+ |
67 |
+ static BOOL |
68 |
+@@ -587,15 +589,7 @@ frdp_post_connect (freerdp *instance) |
69 |
+ rdpGdi *gdi; |
70 |
+ int stride; |
71 |
+ |
72 |
+- gdi_init (instance, |
73 |
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \ |
74 |
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \ |
75 |
+- FREERDP_VERSION_MINOR >= 2)) |
76 |
+- CLRBUF_24BPP, |
77 |
+-#else |
78 |
+- CLRBUF_32BPP, |
79 |
+-#endif |
80 |
+- NULL); |
81 |
++ gdi_init (instance, PIXEL_FORMAT_BGRA32); |
82 |
+ gdi = instance->context->gdi; |
83 |
+ |
84 |
+ instance->update->BeginPaint = frdp_begin_paint; |
85 |
+@@ -934,11 +928,13 @@ frdp_authenticate (freerdp *instance, |
86 |
+ return TRUE; |
87 |
+ } |
88 |
+ |
89 |
+-static BOOL |
90 |
++static DWORD |
91 |
+ frdp_certificate_verify (freerdp *instance, |
92 |
+- char *subject, |
93 |
+- char *issuer, |
94 |
+- char *fingerprint) |
95 |
++ const char *common_name, |
96 |
++ const char *subject, |
97 |
++ const char *issuer, |
98 |
++ const char *fingerprint, |
99 |
++ BOOL host_mismatch) |
100 |
+ { |
101 |
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab); |
102 |
+ GtkBuilder *builder; |
103 |
+@@ -968,17 +964,20 @@ frdp_certificate_verify (freerdp *instance, |
104 |
+ gtk_widget_hide (dialog); |
105 |
+ |
106 |
+ |
107 |
+- return response == GTK_RESPONSE_YES; |
108 |
++ return (response == GTK_RESPONSE_YES) ? 1 : 0; |
109 |
+ } |
110 |
+ |
111 |
+ |
112 |
+ #if HAVE_FREERDP_1_1 |
113 |
+-static BOOL |
114 |
++static DWORD |
115 |
+ frdp_changed_certificate_verify (freerdp *instance, |
116 |
+- char *subject, |
117 |
+- char *issuer, |
118 |
+- char *new_fingerprint, |
119 |
+- char *old_fingerprint) |
120 |
++ const char *common_name, |
121 |
++ const char *subject, |
122 |
++ const char *issuer, |
123 |
++ const char *new_fingerprint, |
124 |
++ const char *old_subject, |
125 |
++ const char *old_issuer, |
126 |
++ const char *old_fingerprint) |
127 |
+ { |
128 |
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab); |
129 |
+ GtkBuilder *builder; |
130 |
+@@ -1023,7 +1022,7 @@ frdp_changed_certificate_verify (freerdp *instance, |
131 |
+ gtk_widget_hide (dialog); |
132 |
+ |
133 |
+ |
134 |
+- return response == GTK_RESPONSE_YES; |
135 |
++ return (response == GTK_RESPONSE_YES) ? 1 : 0; |
136 |
+ } |
137 |
+ #endif |
138 |
+ |
139 |
|
140 |
diff --git a/net-misc/vinagre/vinagre-3.22.0-r2.ebuild b/net-misc/vinagre/vinagre-3.22.0-r2.ebuild |
141 |
new file mode 100644 |
142 |
index 00000000000..93fecd7376a |
143 |
--- /dev/null |
144 |
+++ b/net-misc/vinagre/vinagre-3.22.0-r2.ebuild |
145 |
@@ -0,0 +1,70 @@ |
146 |
+# Copyright 1999-2017 Gentoo Foundation |
147 |
+# Distributed under the terms of the GNU General Public License v2 |
148 |
+ |
149 |
+EAPI=6 |
150 |
+inherit autotools gnome2 linux-info vala |
151 |
+ |
152 |
+DESCRIPTION="VNC client for the GNOME desktop" |
153 |
+HOMEPAGE="https://wiki.gnome.org/Apps/Vinagre" |
154 |
+ |
155 |
+LICENSE="GPL-3+" |
156 |
+SLOT="0" |
157 |
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86" |
158 |
+IUSE="rdp +ssh spice +telepathy zeroconf" |
159 |
+ |
160 |
+# cairo used in vinagre-tab |
161 |
+# gdk-pixbuf used all over the place |
162 |
+RDEPEND=" |
163 |
+ >=dev-libs/glib-2.32.0:2 |
164 |
+ >=x11-libs/gtk+-3.9.6:3 |
165 |
+ app-crypt/libsecret |
166 |
+ >=dev-libs/libxml2-2.6.31:2 |
167 |
+ >=net-libs/gtk-vnc-0.4.3[gtk3] |
168 |
+ x11-libs/cairo:= |
169 |
+ x11-libs/gdk-pixbuf:2 |
170 |
+ x11-themes/hicolor-icon-theme |
171 |
+ |
172 |
+ rdp? ( >=net-misc/freerdp-1.1:= ) |
173 |
+ ssh? ( >=x11-libs/vte-0.20:2.91 ) |
174 |
+ spice? ( |
175 |
+ app-emulation/spice-protocol |
176 |
+ >=net-misc/spice-gtk-0.5[gtk3] ) |
177 |
+ telepathy? ( |
178 |
+ dev-libs/dbus-glib |
179 |
+ >=net-libs/telepathy-glib-0.11.6 ) |
180 |
+ zeroconf? ( >=net-dns/avahi-0.6.26[dbus,gtk3] ) |
181 |
+" |
182 |
+DEPEND="${RDEPEND} |
183 |
+ $(vala_depend) |
184 |
+ app-text/yelp-tools |
185 |
+ dev-libs/appstream-glib |
186 |
+ >=dev-util/intltool-0.50 |
187 |
+ >=sys-devel/gettext-0.17 |
188 |
+ virtual/pkgconfig |
189 |
+ |
190 |
+ gnome-base/gnome-common |
191 |
+" |
192 |
+# gnome-base/gnome-common needed for eautoreconf |
193 |
+pkg_pretend() { |
194 |
+ # Needed for VNC ssh tunnel, bug #518574 |
195 |
+ CONFIG_CHECK="~IPV6" |
196 |
+ check_extra_config |
197 |
+} |
198 |
+ |
199 |
+src_prepare() { |
200 |
+ # https://bugzilla.gnome.org/show_bug.cgi?id=765444 |
201 |
+ eapply "${FILESDIR}"/${PN}-3.20.2-freerdp2.patch |
202 |
+ eapply "${FILESDIR}"/${PN}-3.22.0-freerdp2-2.patch |
203 |
+ vala_src_prepare |
204 |
+ eautoreconf |
205 |
+ gnome2_src_prepare |
206 |
+} |
207 |
+ |
208 |
+src_configure() { |
209 |
+ gnome2_src_configure \ |
210 |
+ $(use_enable rdp) \ |
211 |
+ $(use_enable ssh) \ |
212 |
+ $(use_enable spice) \ |
213 |
+ $(use_with telepathy) \ |
214 |
+ $(use_with zeroconf avahi) |
215 |
+} |