1 |
commit: 7e605439425d9d382896c8224064691e8cf6760b |
2 |
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Jan 8 11:13:40 2018 +0000 |
4 |
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Jan 8 12:57:00 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e605439 |
7 |
|
8 |
gnome-extra/evolution-data-server: bump to 3.24.7, fresh install fix, libical3 compat |
9 |
|
10 |
Bump, patch to honor DESTDIR and not update caches when set (might cause sandbox |
11 |
violation for us and be generally wrong), patches for libical:0/3 compatibility. |
12 |
|
13 |
Bug: https://bugs.gentoo.org/628460 |
14 |
Package-Manager: Portage-2.3.19, Repoman-2.3.6 |
15 |
|
16 |
gnome-extra/evolution-data-server/Manifest | 1 + |
17 |
.../evolution-data-server-3.24.7.ebuild | 152 +++++++++++++++++++++ |
18 |
.../files/3.24.7-DESTDIR-honoring.patch | 31 +++++ |
19 |
.../files/3.24.7-libical3-compat.patch | 146 ++++++++++++++++++++ |
20 |
4 files changed, 330 insertions(+) |
21 |
|
22 |
diff --git a/gnome-extra/evolution-data-server/Manifest b/gnome-extra/evolution-data-server/Manifest |
23 |
index d481b5f9a47..45eaf7d0e19 100644 |
24 |
--- a/gnome-extra/evolution-data-server/Manifest |
25 |
+++ b/gnome-extra/evolution-data-server/Manifest |
26 |
@@ -1,2 +1,3 @@ |
27 |
DIST evolution-data-server-3.22.7.tar.xz 5564924 BLAKE2B 8107a13ef46a4457e122c5d719c0d29ccbf5ec61424fb6b4810b1e165bb68cb8c1c87ec9ab34446458321c0c56ba5a5408f45ae9fc95bcee965c21caaad6a230 SHA512 53648c0b893982b3577008aeae57e213e084aa5ba4663ca109f200b268635fd1544408c1ace065e91e5eaf48a20f59609c8e895a1907501ea5e64119d1590d44 |
28 |
DIST evolution-data-server-3.24.6.tar.xz 4252940 BLAKE2B 42a0a39a8248628964cfd026e4b8bc3794e897f447aadb73e0e7870865314c47d6de11a1aa85d6e7fcb0a414a3552a74cb3012c8a6d4908b280ae7440e1154d7 SHA512 01eece83217e66ce7e08e333ceaf38bae226800dd8a015dda29583b0155b9f1fbef4f18d95a7127d08421cd27b3203d2b7cc6a3bc0b5adba1b06197c85be96e6 |
29 |
+DIST evolution-data-server-3.24.7.tar.xz 4253252 BLAKE2B ca435a4e6c3a003c5166bd06f0308766686cc9e02f1eb6a15a521c58805bafdfd39cbc7ee058339ba383329ab34a11ed2b0eeebd9b545219c4b3d8f51de8df60 SHA512 3e83cb0e87ec822ebf6c81963693e7c701d20266e0811bd261a78073c75724e2c24ac5d5561e997ed8567e9e519c175b3104fa6e2e28158854c8c3ec39a8e9df |
30 |
|
31 |
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild |
32 |
new file mode 100644 |
33 |
index 00000000000..9c317ebf417 |
34 |
--- /dev/null |
35 |
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild |
36 |
@@ -0,0 +1,152 @@ |
37 |
+# Copyright 1999-2018 Gentoo Foundation |
38 |
+# Distributed under the terms of the GNU General Public License v2 |
39 |
+ |
40 |
+EAPI=6 |
41 |
+GNOME2_LA_PUNT="yes" |
42 |
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy ) |
43 |
+VALA_USE_DEPEND="vapigen" |
44 |
+ |
45 |
+inherit cmake-utils db-use flag-o-matic gnome2 python-any-r1 systemd vala virtualx |
46 |
+ |
47 |
+DESCRIPTION="Evolution groupware backend" |
48 |
+HOMEPAGE="https://wiki.gnome.org/Apps/Evolution" |
49 |
+ |
50 |
+# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". |
51 |
+LICENSE="|| ( LGPL-2 LGPL-3 ) BSD Sleepycat" |
52 |
+SLOT="0/60" # subslot = libcamel-1.2 soname version |
53 |
+ |
54 |
+IUSE="api-doc-extras berkdb +gnome-online-accounts +gtk google +introspection ipv6 ldap kerberos vala +weather" |
55 |
+REQUIRED_USE="vala? ( introspection )" |
56 |
+ |
57 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris" |
58 |
+ |
59 |
+# sys-libs/db is only required for migrating from <3.13 versions |
60 |
+# gdata-0.17.7 soft required for new gdata_feed_get_next_page_token API to handle more than 100 google tasks |
61 |
+# berkdb needed only for migrating old calendar data, bug #519512 |
62 |
+gdata_depend=">=dev-libs/libgdata-0.17.7:=" |
63 |
+RDEPEND=" |
64 |
+ >=app-crypt/gcr-3.4 |
65 |
+ >=app-crypt/libsecret-0.5[crypt] |
66 |
+ >=dev-db/sqlite-3.7.17:= |
67 |
+ >=dev-libs/glib-2.46:2 |
68 |
+ >=dev-libs/libical-0.43:= |
69 |
+ >=dev-libs/libxml2-2 |
70 |
+ >=dev-libs/nspr-4.4:= |
71 |
+ >=dev-libs/nss-3.9:= |
72 |
+ >=net-libs/libsoup-2.42:2.4 |
73 |
+ |
74 |
+ dev-libs/icu:= |
75 |
+ sys-libs/zlib:= |
76 |
+ virtual/libiconv |
77 |
+ |
78 |
+ berkdb? ( >=sys-libs/db-4:= ) |
79 |
+ gtk? ( |
80 |
+ >=app-crypt/gcr-3.4[gtk] |
81 |
+ >=x11-libs/gtk+-3.10:3 |
82 |
+ ) |
83 |
+ google? ( |
84 |
+ >=dev-libs/json-glib-1.0.4 |
85 |
+ >=net-libs/webkit-gtk-2.11.91:4 |
86 |
+ ${gdata_depend} |
87 |
+ ) |
88 |
+ gnome-online-accounts? ( |
89 |
+ >=net-libs/gnome-online-accounts-3.8:= |
90 |
+ ${gdata_depend} ) |
91 |
+ introspection? ( >=dev-libs/gobject-introspection-0.9.12:= ) |
92 |
+ kerberos? ( virtual/krb5:= ) |
93 |
+ ldap? ( >=net-nds/openldap-2:= ) |
94 |
+ weather? ( >=dev-libs/libgweather-3.10:2= ) |
95 |
+" |
96 |
+DEPEND="${RDEPEND} |
97 |
+ ${PYTHON_DEPS} |
98 |
+ dev-util/gdbus-codegen |
99 |
+ dev-util/gperf |
100 |
+ >=dev-util/gtk-doc-am-1.14 |
101 |
+ >=dev-util/intltool-0.35.5 |
102 |
+ >=sys-devel/gettext-0.18.3 |
103 |
+ virtual/pkgconfig |
104 |
+ vala? ( $(vala_depend) ) |
105 |
+" |
106 |
+ |
107 |
+# Some tests fail due to missings locales. |
108 |
+# Also, dbus tests are flacky, bugs #397975 #501834 |
109 |
+# It looks like a nightmare to disable those for now. |
110 |
+RESTRICT="test" |
111 |
+ |
112 |
+PATCHES=( |
113 |
+ "${FILESDIR}"/${PV}-DESTDIR-honoring.patch |
114 |
+ "${FILESDIR}"/${PV}-libical3-compat.patch |
115 |
+) |
116 |
+ |
117 |
+pkg_setup() { |
118 |
+ python-any-r1_pkg_setup |
119 |
+} |
120 |
+ |
121 |
+src_prepare() { |
122 |
+ use vala && vala_src_prepare |
123 |
+ gnome2_src_prepare |
124 |
+ |
125 |
+ # Make CMakeLists versioned vala enabled |
126 |
+ sed -e "s;\(find_program(VALAC\) valac);\1 ${VALAC});" \ |
127 |
+ -e "s;\(find_program(VAPIGEN\) vapigen);\1 ${VAPIGEN});" \ |
128 |
+ -i "${S}"/CMakeLists.txt || die |
129 |
+} |
130 |
+ |
131 |
+src_configure() { |
132 |
+ # /usr/include/db.h is always db-1 on FreeBSD |
133 |
+ # so include the right dir in CPPFLAGS |
134 |
+ use berkdb && append-cppflags "-I$(db_includedir)" |
135 |
+ |
136 |
+ local google_auth_enable |
137 |
+ if use google || use gnome-online-accounts; then |
138 |
+ google_auth_enable="ON" |
139 |
+ else |
140 |
+ google_auth_enable="OFF" |
141 |
+ fi |
142 |
+ |
143 |
+ # phonenumber does not exist in tree |
144 |
+ local mycmakeargs=( |
145 |
+ -DENABLE_GTK_DOC=$(usex api-doc-extras) |
146 |
+ -DWITH_PRIVATE_DOCS=$(usex api-doc-extras) |
147 |
+ -DENABLE_SCHEMAS_COMPILE=OFF |
148 |
+ -DENABLE_INTROSPECTION=$(usex introspection) |
149 |
+ -DWITH_KRB5=$(usex kerberos) |
150 |
+ -DWITH_KRB5_INCLUDES=$(usex kerberos "${EPREFIX}"/usr "") |
151 |
+ -DWITH_KRB5_LIBS=$(usex kerberos "${EPREFIX}"/usr/$(get_libdir) "") |
152 |
+ -DWITH_OPENLDAP=$(usex ldap) |
153 |
+ -DWITH_PHONENUMBER=OFF |
154 |
+ -DENABLE_SMIME=ON |
155 |
+ -DENABLE_GTK=$(usex gtk) |
156 |
+ -DENABLE_GOOGLE_AUTH=${google_auth_enable} |
157 |
+ -DENABLE_EXAMPLES=OFF |
158 |
+ -DENABLE_GOA=$(usex gnome-online-accounts) |
159 |
+ -DENABLE_UOA=OFF |
160 |
+ -DWITH_LIBDB=$(usex berkdb "${EPREFIX}"/usr OFF) |
161 |
+ # ENABLE_BACKTRACES requires libdwarf ? |
162 |
+ -DENABLE_IPV6=$(usex ipv6) |
163 |
+ -DENABLE_WEATHER=$(usex weather) |
164 |
+ -DENABLE_GOOGLE=$(usex google) |
165 |
+ -DENABLE_LARGEFILE=ON |
166 |
+ -DENABLE_VALA_BINDINGS=$(usex vala) |
167 |
+ ) |
168 |
+ |
169 |
+ cmake-utils_src_configure |
170 |
+} |
171 |
+ |
172 |
+src_compile() { |
173 |
+ cmake-utils_src_compile |
174 |
+} |
175 |
+ |
176 |
+src_test() { |
177 |
+ virtx cmake-utils_src_test |
178 |
+} |
179 |
+ |
180 |
+src_install() { |
181 |
+ cmake-utils_src_install |
182 |
+ |
183 |
+ if use ldap; then |
184 |
+ insinto /etc/openldap/schema |
185 |
+ doins "${FILESDIR}"/calentry.schema |
186 |
+ dosym ../../../usr/share/${PN}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema |
187 |
+ fi |
188 |
+} |
189 |
|
190 |
diff --git a/gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch b/gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch |
191 |
new file mode 100644 |
192 |
index 00000000000..a3a3d470b98 |
193 |
--- /dev/null |
194 |
+++ b/gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch |
195 |
@@ -0,0 +1,31 @@ |
196 |
+From 5406fcda088be73f462e7d02d4a2ae56cc7329cc Mon Sep 17 00:00:00 2001 |
197 |
+From: Milan Crha <mcrha@××××××.com> |
198 |
+Date: Mon, 2 Oct 2017 19:20:36 +0200 |
199 |
+Subject: Bug 781645 - Skip GSettings schema compile when DESTDIR is set |
200 |
+ |
201 |
+--- |
202 |
+ cmake/modules/GLibTools.cmake | 8 +++++--- |
203 |
+ 1 file changed, 5 insertions(+), 3 deletions(-) |
204 |
+ |
205 |
+diff --git a/cmake/modules/GLibTools.cmake b/cmake/modules/GLibTools.cmake |
206 |
+index fc8eb82..f0be558 100644 |
207 |
+--- a/cmake/modules/GLibTools.cmake |
208 |
++++ b/cmake/modules/GLibTools.cmake |
209 |
+@@ -238,9 +238,11 @@ macro(add_gsettings_schemas _target _schema0) |
210 |
+ if(_install_code) |
211 |
+ # Compile gsettings schemas and ensure that all of them are in the place. |
212 |
+ install(CODE |
213 |
+- "execute_process(${_install_code} |
214 |
+- COMMAND ${CMAKE_COMMAND} -E chdir . \"${GLIB_COMPILE_SCHEMAS}\" \"${GSETTINGS_SCHEMAS_DIR}\" |
215 |
+- )") |
216 |
++ "if(\"\$ENV{DESTDIR}\" STREQUAL \"\") |
217 |
++ execute_process(${_install_code} |
218 |
++ COMMAND ${CMAKE_COMMAND} -E chdir . \"${GLIB_COMPILE_SCHEMAS}\" \"${GSETTINGS_SCHEMAS_DIR}\" |
219 |
++ ) |
220 |
++ endif(\"\$ENV{DESTDIR}\" STREQUAL \"\")") |
221 |
+ endif(_install_code) |
222 |
+ endmacro(add_gsettings_schemas) |
223 |
+ |
224 |
+-- |
225 |
+cgit v0.12 |
226 |
+ |
227 |
|
228 |
diff --git a/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch b/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch |
229 |
new file mode 100644 |
230 |
index 00000000000..8f574b0f8d9 |
231 |
--- /dev/null |
232 |
+++ b/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch |
233 |
@@ -0,0 +1,146 @@ |
234 |
+From dc5fc0e163421f5a01c3cdaab23ca2ea1eb3fae2 Mon Sep 17 00:00:00 2001 |
235 |
+From: Milan Crha <mcrha@××××××.com> |
236 |
+Date: Wed, 4 Oct 2017 11:48:48 +0200 |
237 |
+Subject: [PATCH 1/2] Use icaltime_is_utc() instead of icaltimetype::is_utc |
238 |
+ |
239 |
+The structure member is going to be removed from libical in the next release |
240 |
+and the function is available for a long time, thus it's safe to replace |
241 |
+the usage in the code. |
242 |
+ |
243 |
+(cherry picked from commit f607f8628a28440374579531bc78848dfe0c782e) |
244 |
+--- |
245 |
+ src/calendar/backends/contacts/e-cal-backend-contacts.c | 1 - |
246 |
+ src/calendar/libecal/e-cal-component.c | 8 ++++---- |
247 |
+ src/calendar/libecal/e-cal-recur.c | 8 ++++---- |
248 |
+ src/calendar/libecal/e-cal-time-util.c | 3 +-- |
249 |
+ 4 files changed, 9 insertions(+), 11 deletions(-) |
250 |
+ |
251 |
+diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c |
252 |
+index d2b570885..cf2c62062 100644 |
253 |
+--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c |
254 |
++++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c |
255 |
+@@ -699,7 +699,6 @@ cdate_to_icaltime (EContactDate *cdate) |
256 |
+ ret.month = cdate->month; |
257 |
+ ret.day = cdate->day; |
258 |
+ ret.is_date = TRUE; |
259 |
+- ret.is_utc = FALSE; |
260 |
+ ret.zone = NULL; |
261 |
+ ret.is_daylight = FALSE; |
262 |
+ |
263 |
+diff --git a/src/calendar/libecal/e-cal-component.c b/src/calendar/libecal/e-cal-component.c |
264 |
+index 65b530d1e..6d8a9814d 100644 |
265 |
+--- a/src/calendar/libecal/e-cal-component.c |
266 |
++++ b/src/calendar/libecal/e-cal-component.c |
267 |
+@@ -2522,7 +2522,7 @@ get_datetime (struct datetime *datetime, |
268 |
+ * This makes the timezone code simpler. */ |
269 |
+ if (datetime->tzid_param) |
270 |
+ dt->tzid = g_strdup (icalparameter_get_tzid (datetime->tzid_param)); |
271 |
+- else if (dt->value && dt->value->is_utc) |
272 |
++ else if (dt->value && icaltime_is_utc (*dt->value)) |
273 |
+ dt->tzid = g_strdup ("UTC"); |
274 |
+ else |
275 |
+ dt->tzid = NULL; |
276 |
+@@ -2559,9 +2559,9 @@ set_datetime (ECalComponent *comp, |
277 |
+ |
278 |
+ /* If the TZID is set to "UTC", we set the is_utc flag. */ |
279 |
+ if (dt->tzid && !strcmp (dt->tzid, "UTC")) |
280 |
+- dt->value->is_utc = 1; |
281 |
+- else |
282 |
+- dt->value->is_utc = 0; |
283 |
++ dt->value->zone = icaltimezone_get_utc_timezone (); |
284 |
++ else if (dt->value->zone == icaltimezone_get_utc_timezone ()) |
285 |
++ dt->value->zone = NULL; |
286 |
+ |
287 |
+ if (datetime->prop) { |
288 |
+ /* make sure no VALUE property is left if not needed */ |
289 |
+diff --git a/src/calendar/libecal/e-cal-recur.c b/src/calendar/libecal/e-cal-recur.c |
290 |
+index 535d56c14..cad588c4d 100644 |
291 |
+--- a/src/calendar/libecal/e-cal-recur.c |
292 |
++++ b/src/calendar/libecal/e-cal-recur.c |
293 |
+@@ -195,7 +195,7 @@ ensure_timezone (icalcomponent *comp, |
294 |
+ a different icalcomponent and cause use-after-free. */ |
295 |
+ tt->zone = NULL; |
296 |
+ |
297 |
+- if (tt->is_utc) |
298 |
++ if (icaltime_is_utc (*tt)) |
299 |
+ return TRUE; |
300 |
+ |
301 |
+ tt->zone = default_timezone; |
302 |
+@@ -435,7 +435,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp, |
303 |
+ rrule.until.minute = 0; |
304 |
+ rrule.until.second = 0; |
305 |
+ |
306 |
+- if (!rrule.until.zone && !rrule.until.is_utc) |
307 |
++ if (!rrule.until.zone && !icaltime_is_utc (rrule.until)) |
308 |
+ rrule.until.zone = dtstart.zone; |
309 |
+ } |
310 |
+ |
311 |
+@@ -542,7 +542,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp, |
312 |
+ exrule.until.minute = 0; |
313 |
+ exrule.until.second = 0; |
314 |
+ |
315 |
+- if (!exrule.until.zone && !exrule.until.is_utc) |
316 |
++ if (!exrule.until.zone && !icaltime_is_utc (exrule.until)) |
317 |
+ exrule.until.zone = dtstart.zone; |
318 |
+ } |
319 |
+ |
320 |
+@@ -586,7 +586,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp, |
321 |
+ if (!success) |
322 |
+ break; |
323 |
+ |
324 |
+- if (!exdate.zone && !exdate.is_utc) |
325 |
++ if (!exdate.zone && !icaltime_is_utc (exdate)) |
326 |
+ exdate.zone = dtstart.zone; |
327 |
+ |
328 |
+ if (intersects_interval (&exdate, NULL, duration_days, duration_seconds, &interval_start, &interval_end)) { |
329 |
+diff --git a/src/calendar/libecal/e-cal-time-util.c b/src/calendar/libecal/e-cal-time-util.c |
330 |
+index 7bcbc8ba1..914761cb0 100644 |
331 |
+--- a/src/calendar/libecal/e-cal-time-util.c |
332 |
++++ b/src/calendar/libecal/e-cal-time-util.c |
333 |
+@@ -763,9 +763,8 @@ tm_to_icaltimetype (struct tm *tm, |
334 |
+ |
335 |
+ itt.day = tm->tm_mday; |
336 |
+ itt.month = tm->tm_mon + 1; |
337 |
+- itt.year = tm->tm_year+ 1900; |
338 |
++ itt.year = tm->tm_year + 1900; |
339 |
+ |
340 |
+- itt.is_utc = 0; |
341 |
+ itt.is_date = is_date; |
342 |
+ |
343 |
+ return itt; |
344 |
+-- |
345 |
+2.15.1 |
346 |
+ |
347 |
+ |
348 |
+From fccd77cf4620ca76c4fd2bf7721e3fb7eaf55ec6 Mon Sep 17 00:00:00 2001 |
349 |
+From: Milan Crha <mcrha@××××××.com> |
350 |
+Date: Thu, 5 Oct 2017 13:50:08 +0200 |
351 |
+Subject: [PATCH 2/2] e-cal-recur.c:ensure_timezone(): Unset icaltimetype::zone |
352 |
+ only if not UTC |
353 |
+ |
354 |
+With a removal of icaltimetype::is_utc the icaltimetype::zone is used |
355 |
+to determine whether it's UTC or not. That means that the icaltimetype::zone |
356 |
+can be unset only if it's not the built-in UTC time zone. |
357 |
+ |
358 |
+(cherry picked from commit 1f39ade8db00091d6fa4c752ccb70361ef0e8abc) |
359 |
+--- |
360 |
+ src/calendar/libecal/e-cal-recur.c | 3 ++- |
361 |
+ 1 file changed, 2 insertions(+), 1 deletion(-) |
362 |
+ |
363 |
+diff --git a/src/calendar/libecal/e-cal-recur.c b/src/calendar/libecal/e-cal-recur.c |
364 |
+index cad588c4d..fc14fb15c 100644 |
365 |
+--- a/src/calendar/libecal/e-cal-recur.c |
366 |
++++ b/src/calendar/libecal/e-cal-recur.c |
367 |
+@@ -193,7 +193,8 @@ ensure_timezone (icalcomponent *comp, |
368 |
+ |
369 |
+ /* Do not trust the 'zone' set on the structure, as it can come from |
370 |
+ a different icalcomponent and cause use-after-free. */ |
371 |
+- tt->zone = NULL; |
372 |
++ if (tt->zone != icaltimezone_get_utc_timezone ()) |
373 |
++ tt->zone = NULL; |
374 |
+ |
375 |
+ if (icaltime_is_utc (*tt)) |
376 |
+ return TRUE; |
377 |
+-- |
378 |
+2.15.1 |
379 |
+ |