Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-extra/evolution-data-server/files/, gnome-extra/evolution-data-server/
Date: Tue, 09 Jan 2018 02:03:10
Message-Id: 1515416220.7e605439425d9d382896c8224064691e8cf6760b.leio@gentoo
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 +