diff options
Diffstat (limited to 'syncevolution-1.5.2-libical3.patch')
-rw-r--r-- | syncevolution-1.5.2-libical3.patch | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/syncevolution-1.5.2-libical3.patch b/syncevolution-1.5.2-libical3.patch new file mode 100644 index 000000000000..d2de4801dafc --- /dev/null +++ b/syncevolution-1.5.2-libical3.patch @@ -0,0 +1,125 @@ +diff -aur syncevolution-1.5.2.pristine/src/backends/webdav/CalDAVSource.cpp syncevolution-1.5.2.new/src/backends/webdav/CalDAVSource.cpp +--- syncevolution-1.5.2.pristine/src/backends/webdav/CalDAVSource.cpp 2014-07-14 13:42:44.000000000 +0200 ++++ syncevolution-1.5.2.new/src/backends/webdav/CalDAVSource.cpp 2017-12-16 10:45:51.611051290 +0100 +@@ -721,8 +721,8 @@ + eptr<icalcomponent> fullcal = event.m_calendar; + loadItem(event); + event.m_sequence++; +- lastmodtime = icaltime_from_timet(event.m_lastmodtime, false); +- lastmodtime.is_utc = 1; ++ lastmodtime = icaltime_from_timet_with_zone(event.m_lastmodtime, false, NULL); ++ lastmodtime.zone = icaltimezone_get_utc_timezone(); + event.m_calendar = fullcal; + for (icalcomponent *comp = icalcomponent_get_first_component(event.m_calendar, ICAL_VEVENT_COMPONENT); + comp; +diff -aur syncevolution-1.5.2.pristine/src/syncevo/icaltz-util.c syncevolution-1.5.2.new/src/syncevo/icaltz-util.c +--- syncevolution-1.5.2.pristine/src/syncevo/icaltz-util.c 2016-09-26 13:20:05.000000000 +0200 ++++ syncevolution-1.5.2.new/src/syncevo/icaltz-util.c 2017-12-16 10:45:51.611051290 +0100 +@@ -224,7 +224,7 @@ + struct icaltimetype itime; + + now = time (NULL); +- itime = icaltime_from_timet (now, 0); ++ itime = icaltime_from_timet_with_zone (now, 0, NULL); + itime.month = itime.day = 1; + itime.hour = itime.minute = itime.second = 0; + year_start = icaltime_as_timet(itime); +@@ -304,13 +304,13 @@ + icalrecur_iterator *iter; + + now = time (NULL); +- itime = icaltime_from_timet (now, 0); ++ itime = icaltime_from_timet_with_zone (now, 0, NULL); + itime.month = itime.day = 1; + itime.hour = itime.minute = itime.second = 0; + year_start = icaltime_as_timet(itime); + + comp_start = icalcomponent_get_dtstart (comp); +- start = icaltime_from_timet (year_start, 0); ++ start = icaltime_from_timet_with_zone (year_start, 0, NULL); + + iter = icalrecur_iterator_new (rule, start); + iter_start = icalrecur_iterator_next (iter); +@@ -478,7 +478,7 @@ + trans = transitions [stdidx] + types [zp_idx].gmtoff; + else + trans = types [zp_idx].gmtoff; +- icaltime = icaltime_from_timet (trans, 0); ++ icaltime = icaltime_from_timet_with_zone (trans, 0, NULL); + dtstart = icaltime; + dtstart.year = 1970; + dtstart.minute = dtstart.second = 0; +@@ -520,7 +520,7 @@ + trans = transitions [dstidx] + types [zp_idx].gmtoff; + else + trans = types [zp_idx].gmtoff; +- icaltime = icaltime_from_timet (trans, 0); ++ icaltime = icaltime_from_timet_with_zone (trans, 0, NULL); + dtstart = icaltime; + dtstart.year = 1970; + dtstart.minute = dtstart.second = 0; +diff -aur syncevolution-1.5.2.pristine/src/synthesis/configure.in syncevolution-1.5.2.new/src/synthesis/configure.in +--- syncevolution-1.5.2.pristine/src/synthesis/configure.in 2016-10-06 16:40:43.000000000 +0200 ++++ syncevolution-1.5.2.new/src/synthesis/configure.in 2017-12-16 10:45:51.611051290 +0100 +@@ -101,9 +101,14 @@ + if test "$enable_libical" == "yes"; then + PKG_CHECK_MODULES(LIBICAL, libical, + [AC_DEFINE(HAVE_LIBICAL, 1, "libical available") +- PKG_CHECK_MODULES(LIBICAL2, libical >= 2, +- [AC_DEFINE(USE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT, 1, "Use icaltzutil_set_exact_vtimezones_support() to enable interoperable timezone definitions.")], +- [true])], ++ PKG_CHECK_MODULES(LIBICAL3, libical >= 3, ++ [have_libical3="yes"], ++ [have_libical3="no"]) ++ if test "$have_libical3" == "no"; then ++ PKG_CHECK_MODULES(LIBICAL2, libical >= 2, ++ [AC_DEFINE(USE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT, 1, "Use icaltzutil_set_exact_vtimezones_support() to enable interoperable timezone definitions.")], ++ [true]) ++ fi], + [AC_ERROR([libical not found, required for --enable-libical])]) + fi + +diff -aur syncevolution-1.5.2.pristine/src/synthesis/src/platform_adapters/linux/platform_timezones.cpp syncevolution-1.5.2.new/src/synthesis/src/platform_adapters/linux/platform_timezones.cpp +--- syncevolution-1.5.2.pristine/src/synthesis/src/platform_adapters/linux/platform_timezones.cpp 2016-10-06 16:40:43.000000000 +0200 ++++ syncevolution-1.5.2.new/src/synthesis/src/platform_adapters/linux/platform_timezones.cpp 2017-12-16 10:45:51.611051290 +0100 +@@ -59,6 +59,7 @@ + icalcomponent *(* icaltimezone_get_component_p)(icaltimezone *zone); + char *(* icalcomponent_as_ical_string_p)(icalcomponent *comp); + void (* icaltzutil_set_exact_vtimezones_support)(int on); ++ int (* icalrecur_iterator_set_start)(icalrecur_iterator *impl, struct icaltimetype start); + bool must_free_strings; + } icalcontext; + +@@ -89,6 +90,8 @@ + } + icalcontext.icaltzutil_set_exact_vtimezones_support = + (typeof(icalcontext.icaltzutil_set_exact_vtimezones_support))dlsym(RTLD_DEFAULT, "icaltzutil_set_exact_vtimezones_support"); ++ icalcontext.icalrecur_iterator_set_start = ++ (typeof(icalcontext.icalrecur_iterator_set_start))dlsym(RTLD_DEFAULT, "icalrecur_iterator_set_start"); + + return icalcontext.icaltimezone_get_builtin_timezones_p ? + icalcontext.icaltimezone_get_builtin_timezones_p() : +@@ -121,8 +124,8 @@ + }; + // distinguish between v2 and older based on + // icaltzutil_set_exact_vtimezones_support, which was introduced in +- // v2 +- return icalcontext.icaltzutil_set_exact_vtimezones_support ? ++ // v2, or icalrecur_iterator_set_start, which was introduced in v3 ++ return (icalcontext.icaltzutil_set_exact_vtimezones_support || icalcontext.icalrecur_iterator_set_start) ? + reinterpret_cast<icalarray_v2 *>(array)->num_elements : + reinterpret_cast<icalarray_traditional *>(array)->num_elements; + } +@@ -193,9 +196,10 @@ + icalarray *builtin = ICALTIMEZONE_GET_BUILTIN_TIMEZONES(); + #ifdef ICAL_COMPATIBILITY + PLOGDEBUGPRINTFX(aGZones->getDbgLogger, DBG_PARSE+DBG_EXOTIC, +- ("runtime check: libical %s, %s icaltzutil_set_exact_vtimezones_support", ++ ("runtime check: libical %s, %s icaltzutil_set_exact_vtimezones_support, %s icalrecur_iterator_set_start", + icalcontext.icaltimezone_get_builtin_timezones_p ? "available" : "unavailable", +- icalcontext.icaltzutil_set_exact_vtimezones_support ? "with" : "without")); ++ icalcontext.icaltzutil_set_exact_vtimezones_support ? "with" : "without", ++ icalcontext.icalrecur_iterator_set_start ? "with" : "without")); + // If we end up using the libical code (and not some replacement + // provided by SyncEvolution, which is the solution for distros with + // a libical that doesn't have the API), then enable timezones in the |