1 |
commit: 6c693e0a73b17ba7b4d4ab202e66f96181ffc366 |
2 |
Author: Pacho Ramos <pacho <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Oct 24 07:44:31 2015 +0000 |
4 |
Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Oct 24 07:45:30 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c693e0a |
7 |
|
8 |
net-misc/vino: Apply upstream fixes, also including a fix for a crash when gnome-control-center is not present (#561786 by Mikhail Kurinnoi) |
9 |
|
10 |
Package-Manager: portage-2.2.23 |
11 |
|
12 |
net-misc/vino/files/vino-3.16.0-fix-crash.patch | 53 +++++++++++++++ |
13 |
.../vino/files/vino-3.16.0-name-resolution.patch | 47 +++++++++++++ |
14 |
net-misc/vino/vino-3.16.0-r1.ebuild | 77 ++++++++++++++++++++++ |
15 |
3 files changed, 177 insertions(+) |
16 |
|
17 |
diff --git a/net-misc/vino/files/vino-3.16.0-fix-crash.patch b/net-misc/vino/files/vino-3.16.0-fix-crash.patch |
18 |
new file mode 100644 |
19 |
index 0000000..bf0d190 |
20 |
--- /dev/null |
21 |
+++ b/net-misc/vino/files/vino-3.16.0-fix-crash.patch |
22 |
@@ -0,0 +1,53 @@ |
23 |
+From 22f6575b32675ae38567efd3ed8e2362bbc9240d Mon Sep 17 00:00:00 2001 |
24 |
+From: David King <amigadave@×××××××××.com> |
25 |
+Date: Mon, 19 Oct 2015 14:48:44 +0100 |
26 |
+Subject: Avoid a crash when showing the preferences |
27 |
+ |
28 |
+Show an error message when the preferences desktop file is not found, |
29 |
+such as if gnome-control-center is not installed. |
30 |
+ |
31 |
+https://bugzilla.gnome.org/show_bug.cgi?id=756654 |
32 |
+--- |
33 |
+ server/vino-status-icon.c | 5 +++++ |
34 |
+ server/vino-status-tube-icon.c | 9 ++++++++- |
35 |
+ 2 files changed, 13 insertions(+), 1 deletion(-) |
36 |
+ |
37 |
+diff --git a/server/vino-status-icon.c b/server/vino-status-icon.c |
38 |
+index 53eec02..aaab0af 100644 |
39 |
+--- a/server/vino-status-icon.c |
40 |
++++ b/server/vino-status-icon.c |
41 |
+@@ -202,6 +202,11 @@ vino_status_icon_preferences (VinoStatusIcon *icon) |
42 |
+ info = g_desktop_app_info_new ("gnome-sharing-panel.desktop"); |
43 |
+ if (info == NULL) |
44 |
+ info = g_desktop_app_info_new ("vino-preferences.desktop"); |
45 |
++ if (info == NULL) |
46 |
++ { |
47 |
++ vino_util_show_error (NULL, _("Error displaying preferences"), NULL); |
48 |
++ return; |
49 |
++ } |
50 |
+ context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); |
51 |
+ if (!g_app_info_launch (G_APP_INFO (info), NULL, G_APP_LAUNCH_CONTEXT (context), &error)) |
52 |
+ { |
53 |
+diff --git a/server/vino-status-tube-icon.c b/server/vino-status-tube-icon.c |
54 |
+index 0a23a23..e5cbb11 100644 |
55 |
+--- a/server/vino-status-tube-icon.c |
56 |
++++ b/server/vino-status-tube-icon.c |
57 |
+@@ -165,7 +165,14 @@ vino_status_tube_icon_preferences (VinoStatusTubeIcon *icon) |
58 |
+ GError *error = NULL; |
59 |
+ |
60 |
+ screen = gtk_status_icon_get_screen (GTK_STATUS_ICON (icon)); |
61 |
+- info = g_desktop_app_info_new ("vino-preferences.desktop"); |
62 |
++ info = g_desktop_app_info_new ("gnome-sharing-panel.desktop"); |
63 |
++ if (info == NULL) |
64 |
++ info = g_desktop_app_info_new ("vino-preferences.desktop"); |
65 |
++ if (info == NULL) |
66 |
++ { |
67 |
++ vino_util_show_error (NULL, _("Error displaying preferences"), NULL); |
68 |
++ return; |
69 |
++ } |
70 |
+ context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); |
71 |
+ if (!g_app_info_launch (G_APP_INFO (info), NULL, G_APP_LAUNCH_CONTEXT (context), &error)) |
72 |
+ { |
73 |
+-- |
74 |
+cgit v0.11.2 |
75 |
+ |
76 |
|
77 |
diff --git a/net-misc/vino/files/vino-3.16.0-name-resolution.patch b/net-misc/vino/files/vino-3.16.0-name-resolution.patch |
78 |
new file mode 100644 |
79 |
index 0000000..2989ffa |
80 |
--- /dev/null |
81 |
+++ b/net-misc/vino/files/vino-3.16.0-name-resolution.patch |
82 |
@@ -0,0 +1,47 @@ |
83 |
+From bdd14508f9ea46372fcef93e17a9c14bcb8b4c83 Mon Sep 17 00:00:00 2001 |
84 |
+From: Dimitri Tarassenko <dtarassenko@×××××.com> |
85 |
+Date: Fri, 28 Aug 2015 17:02:15 +0100 |
86 |
+Subject: Improve handling of name resolution failure |
87 |
+ |
88 |
+Ensure that the host string for a client is always filled with a valid |
89 |
+string, by calling getnameinfo() a second time (ensuring a numeric host |
90 |
+is returned) if the first call fails. |
91 |
+ |
92 |
+https://bugzilla.gnome.org/show_bug.cgi?id=754194 |
93 |
+--- |
94 |
+ server/libvncserver/rfbserver.c | 12 ++++++------ |
95 |
+ 1 file changed, 6 insertions(+), 6 deletions(-) |
96 |
+ |
97 |
+diff --git a/server/libvncserver/rfbserver.c b/server/libvncserver/rfbserver.c |
98 |
+index 1295219..0a60fb2 100644 |
99 |
+--- a/server/libvncserver/rfbserver.c |
100 |
++++ b/server/libvncserver/rfbserver.c |
101 |
+@@ -150,7 +150,7 @@ rfbNewClient(rfbScreenInfoPtr rfbScreen, |
102 |
+ struct sockaddr_storage addr; |
103 |
+ socklen_t addrlen = sizeof(addr); |
104 |
+ int i; |
105 |
+- char host[NI_MAXHOST]; |
106 |
++ char host[NI_MAXHOST] = "(unresolved)"; |
107 |
+ const char *prt = "unknown"; |
108 |
+ |
109 |
+ cl = (rfbClientPtr)calloc(sizeof(rfbClientRec),1); |
110 |
+@@ -166,11 +166,11 @@ rfbNewClient(rfbScreenInfoPtr rfbScreen, |
111 |
+ |
112 |
+ getpeername(sock, (struct sockaddr *)&addr, &addrlen); |
113 |
+ |
114 |
+- getnameinfo((struct sockaddr *)&addr, |
115 |
+- addrlen, |
116 |
+- host, sizeof(host), |
117 |
+- NULL, 0, |
118 |
+- 0); |
119 |
++ if (getnameinfo((struct sockaddr *)&addr, addrlen, |
120 |
++ host, sizeof(host), NULL, 0, 0)) { |
121 |
++ getnameinfo((struct sockaddr *)&addr, addrlen, |
122 |
++ host, sizeof(host), NULL, 0, NI_NUMERICHOST); |
123 |
++ } |
124 |
+ |
125 |
+ cl->host = strdup(host); |
126 |
+ |
127 |
+-- |
128 |
+cgit v0.11.2 |
129 |
+ |
130 |
|
131 |
diff --git a/net-misc/vino/vino-3.16.0-r1.ebuild b/net-misc/vino/vino-3.16.0-r1.ebuild |
132 |
new file mode 100644 |
133 |
index 0000000..0b338c3 |
134 |
--- /dev/null |
135 |
+++ b/net-misc/vino/vino-3.16.0-r1.ebuild |
136 |
@@ -0,0 +1,77 @@ |
137 |
+# Copyright 1999-2015 Gentoo Foundation |
138 |
+# Distributed under the terms of the GNU General Public License v2 |
139 |
+# $Id$ |
140 |
+ |
141 |
+EAPI="5" |
142 |
+GCONF_DEBUG="yes" |
143 |
+ |
144 |
+inherit eutils gnome2 |
145 |
+ |
146 |
+DESCRIPTION="An integrated VNC server for GNOME" |
147 |
+HOMEPAGE="https://wiki.gnome.org/Projects/Vino" |
148 |
+ |
149 |
+LICENSE="GPL-2+" |
150 |
+SLOT="0" |
151 |
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" |
152 |
+IUSE="crypt gnome-keyring ipv6 jpeg ssl +telepathy zeroconf +zlib" |
153 |
+# bug #394611; tight encoding requires zlib encoding |
154 |
+REQUIRED_USE="jpeg? ( zlib )" |
155 |
+ |
156 |
+# cairo used in vino-fb |
157 |
+# libSM and libICE used in eggsmclient-xsmp |
158 |
+RDEPEND=" |
159 |
+ >=dev-libs/glib-2.26:2 |
160 |
+ >=dev-libs/libgcrypt-1.1.90:0= |
161 |
+ >=x11-libs/gtk+-3:3 |
162 |
+ |
163 |
+ dev-libs/dbus-glib |
164 |
+ x11-libs/cairo:= |
165 |
+ x11-libs/libICE |
166 |
+ x11-libs/libSM |
167 |
+ x11-libs/libX11 |
168 |
+ x11-libs/libXdamage |
169 |
+ x11-libs/libXext |
170 |
+ x11-libs/libXfixes |
171 |
+ x11-libs/libXtst |
172 |
+ x11-libs/pango[X] |
173 |
+ |
174 |
+ >=x11-libs/libnotify-0.7.0:= |
175 |
+ |
176 |
+ crypt? ( >=dev-libs/libgcrypt-1.1.90:0= ) |
177 |
+ gnome-keyring? ( app-crypt/libsecret ) |
178 |
+ jpeg? ( virtual/jpeg:0= ) |
179 |
+ ssl? ( >=net-libs/gnutls-2.2.0:= ) |
180 |
+ telepathy? ( >=net-libs/telepathy-glib-0.18 ) |
181 |
+ zeroconf? ( >=net-dns/avahi-0.6:=[dbus] ) |
182 |
+ zlib? ( sys-libs/zlib:= ) |
183 |
+" |
184 |
+DEPEND="${RDEPEND} |
185 |
+ >=dev-lang/perl-5 |
186 |
+ >=dev-util/intltool-0.50 |
187 |
+ virtual/pkgconfig |
188 |
+ app-crypt/libsecret |
189 |
+" |
190 |
+# libsecret is always required at build time per bug 322763 |
191 |
+ |
192 |
+src_prepare() { |
193 |
+ # Improve handling of name resolution failure (from 'master') |
194 |
+ epatch "${FILESDIR}"/${P}-name-resolution.patch |
195 |
+ |
196 |
+ # Avoid a crash when showing the preferences (from 'master') |
197 |
+ epatch "${FILESDIR}"/${P}-fix-crash.patch |
198 |
+ |
199 |
+ gnome2_src_prepare |
200 |
+} |
201 |
+ |
202 |
+src_configure() { |
203 |
+ gnome2_src_configure \ |
204 |
+ --with-gcrypt \ |
205 |
+ $(use_enable ipv6) \ |
206 |
+ $(use_with crypt gcrypt) \ |
207 |
+ $(use_with gnome-keyring secret) \ |
208 |
+ $(use_with jpeg) \ |
209 |
+ $(use_with ssl gnutls) \ |
210 |
+ $(use_with telepathy) \ |
211 |
+ $(use_with zeroconf avahi) \ |
212 |
+ $(use_with zlib) |
213 |
+} |