[packages/claws-mail] - upstream fixes for libical 4.x; release 3
qboosh
qboosh at pld-linux.org
Tue Jul 21 20:41:39 CEST 2026
commit 5b37f7c2bda7f8c707604a13d1596898470488de
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Jul 21 20:41:48 2026 +0200
- upstream fixes for libical 4.x; release 3
claws-mail-libical4.patch | 475 ++++++++++++++++++++++++++++++++++++++++++++++
claws-mail.spec | 4 +-
2 files changed, 478 insertions(+), 1 deletion(-)
---
diff --git a/claws-mail.spec b/claws-mail.spec
index ef8d7d0..800d75e 100644
--- a/claws-mail.spec
+++ b/claws-mail.spec
@@ -13,7 +13,7 @@ Summary: A bleeding edge branch of Sylpheed, a GTK3 based, lightweight, and fast
Summary(pl.UTF-8): Rozwojowa wersja Sylpheed z dużą ilością zmian oraz ulepszeń
Name: claws-mail
Version: 4.4.0
-Release: 2
+Release: 3
License: GPL v3+
Group: X11/Applications/Mail
#Source0Download: https://www.claws-mail.org/releases.php
@@ -22,6 +22,7 @@ Source0: https://www.claws-mail.org/releases/%{name}-%{version}.tar.xz
Source1: %{name}.desktop
Patch0: %{name}-link.patch
Patch1: cxx-absolute-path.patch
+Patch2: %{name}-libical4.patch
URL: https://www.claws-mail.org/
BuildRequires: NetworkManager-devel
BuildRequires: autoconf >= 2.69
@@ -414,6 +415,7 @@ webCal.
%setup -q
%patch -P0 -p1
%patch -P1 -p1
+%patch -P2 -p1
%{__rm} po/stamp-po
diff --git a/claws-mail-libical4.patch b/claws-mail-libical4.patch
new file mode 100644
index 0000000..eb68b33
--- /dev/null
+++ b/claws-mail-libical4.patch
@@ -0,0 +1,475 @@
+From 1ad8482186cdcd056047aa5f9e2d495e6296a1bb Mon Sep 17 00:00:00 2001
+From: Paul <paul at claws-mail.org>
+Date: Wed, 24 Jun 2026 09:49:45 +0100
+Subject: [PATCH] fix bug 4942, 'Build fails with with libical 4.x'
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+based on original patch by Antonio Rojas, modified by Páder RezsŠand me
+---
+ configure.ac | 5 +++
+ src/plugins/vcalendar/vcal_folder.c | 56 ++++++++++++++++++++++--
+ src/plugins/vcalendar/vcal_manager.c | 14 ++++--
+ src/plugins/vcalendar/vcal_meeting_gtk.c | 4 ++
+ 4 files changed, 71 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 01865ed0a..f6e796880 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1291,6 +1291,11 @@ AC_SUBST(LIBGUMBO_LIBS)
+
+ dnl libical ********************************************************************
+ PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
++if test x"$HAVE_LIBICAL" = xyes; then
++ PKG_CHECK_MODULES(LIBICAL, libical >= 4.0, [
++ AC_DEFINE(HAVE_LIBICAL_V4, 1, [Define if libical v4 is detected.])
++ ], [ ])
++fi
+ AC_SUBST(LIBICAL_CFLAGS)
+ AC_SUBST(LIBICAL_LIBS)
+
+diff --git a/src/plugins/vcalendar/vcal_folder.c b/src/plugins/vcalendar/vcal_folder.c
+index edcf8e8b8..608fbb786 100644
+--- a/src/plugins/vcalendar/vcal_folder.c
++++ b/src/plugins/vcalendar/vcal_folder.c
+@@ -536,7 +536,11 @@ static gint feed_fetch(FolderItem *fitem, MsgNumberList ** list, gboolean *old_u
+ while (evt) {
+ icalproperty *prop;
+ icalproperty *rprop = icalcomponent_get_first_property(evt, ICAL_RRULE_PROPERTY);
++#ifdef HAVE_LIBICAL_V4
++ struct icalrecurrencetype* recur;
++#else
+ struct icalrecurrencetype recur;
++#endif
+ struct icaltimetype next;
+ icalrecur_iterator* ritr = NULL;
+ EventTime days;
+@@ -559,7 +563,12 @@ static gint feed_fetch(FolderItem *fitem, MsgNumberList ** list, gboolean *old_u
+ gchar *orig_uid = NULL;
+ gchar *uid = g_strdup(icalproperty_get_uid(prop));
+ IcalFeedData *data = icalfeeddata_new(
+- icalcomponent_new_clone(evt), NULL);
++#ifdef HAVE_LIBICAL_V4
++ icalcomponent_clone(evt),
++#else
++ icalcomponent_new_clone(evt),
++#endif
++ NULL);
+ int i = 0;
+ orig_uid = g_strdup(uid);
+
+@@ -610,7 +619,11 @@ add_new:
+ struct icaldurationtype ical_dur;
+ struct icaltimetype dtstart = icaltime_null_time();
+ struct icaltimetype dtend = icaltime_null_time();
++#ifdef HAVE_LIBICAL_V4
++ evt = icalcomponent_clone(evt);
++#else
+ evt = icalcomponent_new_clone(evt);
++#endif
+ prop = icalcomponent_get_first_property(evt, ICAL_RRULE_PROPERTY);
+ if (prop) {
+ icalcomponent_remove_property(evt, prop);
+@@ -626,7 +639,11 @@ add_new:
+ dtend = icalproperty_get_dtend(prop);
+ else
+ debug_print("event has no DTEND!\n");
++#ifdef HAVE_LIBICAL_V4
++ ical_dur = icalduration_from_times(dtend, dtstart);
++#else
+ ical_dur = icaltime_subtract(dtend, dtstart);
++#endif
+ next = icalrecur_iterator_next(ritr);
+ if (!icaltime_is_null_time(next) &&
+ !icaltime_is_null_time(dtstart) && i < 100) {
+@@ -635,8 +652,11 @@ add_new:
+
+ prop = icalcomponent_get_first_property(evt, ICAL_DTEND_PROPERTY);
+ if (prop)
++#ifdef HAVE_LIBICAL_V4
++ icalproperty_set_dtend(prop, icalduration_extend(next, ical_dur));
++#else
+ icalproperty_set_dtend(prop, icaltime_add(next, ical_dur));
+-
++#endif
+ prop = icalcomponent_get_first_property(evt, ICAL_UID_PROPERTY);
+ uid = g_strdup_printf("%s-%d", orig_uid, i);
+ icalproperty_set_uid(prop, uid);
+@@ -770,7 +790,11 @@ GSList *vcal_get_events_list(FolderItem *item)
+ if ((status == ICAL_PARTSTAT_ACCEPTED
+ || status == ICAL_PARTSTAT_TENTATIVE)
+ && event->recur && *(event->recur)) {
++#ifdef HAVE_LIBICAL_V4
++ struct icalrecurrencetype* recur;
++#else
+ struct icalrecurrencetype recur;
++#endif
+ struct icaltimetype dtstart;
+ struct icaltimetype next;
+ icalrecur_iterator* ritr;
+@@ -779,14 +803,21 @@ GSList *vcal_get_events_list(FolderItem *item)
+ int i = 0;
+
+ debug_print("dumping recurring events from main event %s\n", d);
++#ifdef HAVE_LIBICAL_V4
++ recur = icalrecurrencetype_new_from_string(event->recur);
++#else
+ recur = icalrecurrencetype_from_string(event->recur);
++#endif
+ dtstart = icaltime_from_string(event->dtstart);
+
+ duration = icaltime_as_timet(icaltime_from_string(event->dtend))
+ - icaltime_as_timet(icaltime_from_string(event->dtstart));
+
++#ifdef HAVE_LIBICAL_V4
++ ical_dur = icaldurationtype_from_seconds(duration);
++#else
+ ical_dur = icaldurationtype_from_int(duration);
+-
++#endif
+ ritr = icalrecur_iterator_new(recur, dtstart);
+
+ next = icalrecur_iterator_next(ritr); /* skip first one */
+@@ -799,7 +830,12 @@ GSList *vcal_get_events_list(FolderItem *item)
+ gchar *uid = g_strdup_printf("%s-%d", event->uid, i);
+ new_start = icaltime_as_ical_string(next);
+ new_end = icaltime_as_ical_string(
+- icaltime_add(next, ical_dur));
++#ifdef HAVE_LIBICAL_V4
++ icalduration_extend(next, ical_dur)
++#else
++ icaltime_add(next, ical_dur)
++#endif
++ );
+ debug_print("adding with start/end %s:%s\n", new_start, new_end);
+ nevent = vcal_manager_new_event(uid, event->organizer, event->orgname,
+ event->location, event->summary, event->description,
+@@ -825,6 +861,9 @@ GSList *vcal_get_events_list(FolderItem *item)
+ i++;
+ }
+ icalrecur_iterator_free(ritr);
++#ifdef HAVE_LIBICAL_V4
++ icalrecurrencetype_unref(recur);
++#endif
+ }
+ } else {
+ vcal_manager_free_event(event);
+@@ -2379,7 +2418,11 @@ VCalEvent *vcal_get_event_from_ical(const gchar *ical, const gchar *charset)
+ if (prop) {
+ itt = icalproperty_get_dtstart(prop);
+ icalproperty_free(prop);
++#ifdef HAVE_LIBICAL_V4
++ dtend = g_strdup(icaltime_as_ical_string(icalduration_extend(itt,duration)));
++#else
+ dtend = g_strdup(icaltime_as_ical_string(icaltime_add(itt,duration)));
++#endif
+ TO_UTF8(dtend);
+ }
+ }
+@@ -2434,8 +2477,13 @@ VCalEvent *vcal_get_event_from_ical(const gchar *ical, const gchar *charset)
+ }
+ GET_PROP(comp, prop, ICAL_RRULE_PROPERTY);
+ if (prop) {
++#ifdef HAVE_LIBICAL_V4
++ struct icalrecurrencetype* rrule = icalproperty_get_rrule(prop);
++ recur = g_strdup(icalrecurrencetype_as_string(rrule));
++#else
+ struct icalrecurrencetype rrule = icalproperty_get_rrule(prop);
+ recur = g_strdup(icalrecurrencetype_as_string(&rrule));
++#endif
+ TO_UTF8(recur);
+ icalproperty_free(prop);
+ }
+diff --git a/src/plugins/vcalendar/vcal_manager.c b/src/plugins/vcalendar/vcal_manager.c
+index 4e008a332..30d60ef67 100644
+--- a/src/plugins/vcalendar/vcal_manager.c
++++ b/src/plugins/vcalendar/vcal_manager.c
+@@ -1,6 +1,6 @@
+ /*
+ * Claws Mail -- a GTK based, lightweight, and fast e-mail client
+- * Copyright (C) 1999-2023 the Claws Mail team and Colin Leroy <colin at colino.net>
++ * Copyright (C) 1999-2026 the Claws Mail team and Colin Leroy <colin at colino.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -401,8 +401,12 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
+ icalcomponent_add_property(ievent,
+ icalproperty_vanew_dtend((icaltime_from_string(event->dtend)), (void*)0));
+ if (event->recur && *(event->recur)) {
+- icalcomponent_add_property(ievent,
++ icalcomponent_add_property(ievent,
++#ifdef HAVE_LIBICAL_V4
++ icalproperty_vanew_rrule((icalrecurrencetype_new_from_string(event->recur)), (void*)0));
++#else
+ icalproperty_vanew_rrule((icalrecurrencetype_from_string(event->recur)), (void*)0));
++#endif
+ }
+ icalcomponent_add_property(ievent,
+ icalproperty_new_description(event->description));
+@@ -689,9 +693,11 @@ gchar *vcal_manager_icalevent_dump(icalcomponent *event, gchar *orga, icalcompon
+ icalproperty *prop;
+ icalcomponent *ievent = NULL;
+ int i = 0;
+-
++#ifdef HAVE_LIBICAL_V4
++ ievent = icalcomponent_clone(event);
++#else
+ ievent = icalcomponent_new_clone(event);
+-
++#endif
+ prop = icalcomponent_get_first_property(ievent, ICAL_UID_PROPERTY);
+ if (prop) {
+ gchar *sanitized_uid = g_strdup(icalproperty_get_uid(prop));
+diff --git a/src/plugins/vcalendar/vcal_meeting_gtk.c b/src/plugins/vcalendar/vcal_meeting_gtk.c
+index c4bf1d2ea..f6c412fde 100644
+--- a/src/plugins/vcalendar/vcal_meeting_gtk.c
++++ b/src/plugins/vcalendar/vcal_meeting_gtk.c
+@@ -2110,7 +2110,11 @@ gboolean vcal_meeting_export_freebusy(const gchar *path, const gchar *user,
+
+ ipt.start = icaltime_from_string(event->dtstart);
+ ipt.end = icaltime_from_string(event->dtend);
++#ifdef HAVE_LIBICAL_V4
++ ipt.duration = icalduration_from_times(ipt.end, ipt.start);
++#else
+ ipt.duration = icaltime_subtract(ipt.end, ipt.start);
++#endif
+ if (icaltime_as_timet(ipt.start) <= icaltime_as_timet(itt_end)
+ && icaltime_as_timet(ipt.end) >= icaltime_as_timet(itt_start)) {
+ prop = icalproperty_new_freebusy(ipt);
+--
+2.43.0
+
+From f754d8d9ae50f2beb1385798c541af623d5c2820 Mon Sep 17 00:00:00 2001
+From: wwp <subscript at free.fr>
+Date: Fri, 26 Jun 2026 20:08:26 +0200
+Subject: [PATCH] Fix detecting/compiling with libical 3 (at last).
+
+---
+ configure.ac | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f6e796880..60f88ff3c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1292,9 +1292,10 @@ AC_SUBST(LIBGUMBO_LIBS)
+ dnl libical ********************************************************************
+ PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
+ if test x"$HAVE_LIBICAL" = xyes; then
+- PKG_CHECK_MODULES(LIBICAL, libical >= 4.0, [
+- AC_DEFINE(HAVE_LIBICAL_V4, 1, [Define if libical v4 is detected.])
+- ], [ ])
++ PKG_CHECK_MODULES(HAVE_LIBICAL_V4, libical >= 4.0, HAVE_LIBICAL_V4=yes, HAVE_LIBICAL_V4=no)
++ if test x"$HAVE_LIBICAL_V4" = xyes; then
++ AC_DEFINE(HAVE_LIBICAL_V4, 1, [Define if libical v4 is detected])
++ fi
+ fi
+ AC_SUBST(LIBICAL_CFLAGS)
+ AC_SUBST(LIBICAL_LIBS)
+--
+2.43.0
+
+From 9b6b82879c75ceb52d93eaa137eafe04b258136e Mon Sep 17 00:00:00 2001
+From: Paul <paul at claws-mail.org>
+Date: Sat, 18 Jul 2026 17:44:47 +0100
+Subject: [PATCH] check for libical 4.x.x the right way. thanks to Funda Wang
+
+---
+ AUTHORS | 1 +
+ configure.ac | 6 ------
+ src/gtk/authors.h | 1 +
+ src/plugins/vcalendar/vcal_folder.c | 24 ++++++++++++------------
+ src/plugins/vcalendar/vcal_manager.c | 4 ++--
+ src/plugins/vcalendar/vcal_meeting_gtk.c | 2 +-
+ 6 files changed, 17 insertions(+), 21 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index 540e420ba..1b8a4412e 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -361,3 +361,4 @@ contributors (in addition to the above; based on Changelog)
+ Peter Wagner
+ Giacomo Tesio
+ Chris Billington
++ Funda Wang
+diff --git a/configure.ac b/configure.ac
+index 60f88ff3c..01865ed0a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1291,12 +1291,6 @@ AC_SUBST(LIBGUMBO_LIBS)
+
+ dnl libical ********************************************************************
+ PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
+-if test x"$HAVE_LIBICAL" = xyes; then
+- PKG_CHECK_MODULES(HAVE_LIBICAL_V4, libical >= 4.0, HAVE_LIBICAL_V4=yes, HAVE_LIBICAL_V4=no)
+- if test x"$HAVE_LIBICAL_V4" = xyes; then
+- AC_DEFINE(HAVE_LIBICAL_V4, 1, [Define if libical v4 is detected])
+- fi
+-fi
+ AC_SUBST(LIBICAL_CFLAGS)
+ AC_SUBST(LIBICAL_LIBS)
+
+diff --git a/src/gtk/authors.h b/src/gtk/authors.h
+index 2128fd0a6..ff038eb63 100644
+--- a/src/gtk/authors.h
++++ b/src/gtk/authors.h
+@@ -338,6 +338,7 @@ static char *CONTRIBS_LIST[] = {
+ "Botalov Vyacheslav",
+ "Radek Vybiral",
+ "Peter Wagner",
++"Funda Wang",
+ "Jonathan Ware",
+ "Watanabe",
+ "Rafal Weglarz",
+diff --git a/src/plugins/vcalendar/vcal_folder.c b/src/plugins/vcalendar/vcal_folder.c
+index 608fbb786..d3922ce69 100644
+--- a/src/plugins/vcalendar/vcal_folder.c
++++ b/src/plugins/vcalendar/vcal_folder.c
+@@ -536,7 +536,7 @@ static gint feed_fetch(FolderItem *fitem, MsgNumberList ** list, gboolean *old_u
+ while (evt) {
+ icalproperty *prop;
+ icalproperty *rprop = icalcomponent_get_first_property(evt, ICAL_RRULE_PROPERTY);
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ struct icalrecurrencetype* recur;
+ #else
+ struct icalrecurrencetype recur;
+@@ -563,7 +563,7 @@ static gint feed_fetch(FolderItem *fitem, MsgNumberList ** list, gboolean *old_u
+ gchar *orig_uid = NULL;
+ gchar *uid = g_strdup(icalproperty_get_uid(prop));
+ IcalFeedData *data = icalfeeddata_new(
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ icalcomponent_clone(evt),
+ #else
+ icalcomponent_new_clone(evt),
+@@ -619,7 +619,7 @@ add_new:
+ struct icaldurationtype ical_dur;
+ struct icaltimetype dtstart = icaltime_null_time();
+ struct icaltimetype dtend = icaltime_null_time();
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ evt = icalcomponent_clone(evt);
+ #else
+ evt = icalcomponent_new_clone(evt);
+@@ -639,7 +639,7 @@ add_new:
+ dtend = icalproperty_get_dtend(prop);
+ else
+ debug_print("event has no DTEND!\n");
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ ical_dur = icalduration_from_times(dtend, dtstart);
+ #else
+ ical_dur = icaltime_subtract(dtend, dtstart);
+@@ -652,7 +652,7 @@ add_new:
+
+ prop = icalcomponent_get_first_property(evt, ICAL_DTEND_PROPERTY);
+ if (prop)
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ icalproperty_set_dtend(prop, icalduration_extend(next, ical_dur));
+ #else
+ icalproperty_set_dtend(prop, icaltime_add(next, ical_dur));
+@@ -790,7 +790,7 @@ GSList *vcal_get_events_list(FolderItem *item)
+ if ((status == ICAL_PARTSTAT_ACCEPTED
+ || status == ICAL_PARTSTAT_TENTATIVE)
+ && event->recur && *(event->recur)) {
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ struct icalrecurrencetype* recur;
+ #else
+ struct icalrecurrencetype recur;
+@@ -803,7 +803,7 @@ GSList *vcal_get_events_list(FolderItem *item)
+ int i = 0;
+
+ debug_print("dumping recurring events from main event %s\n", d);
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ recur = icalrecurrencetype_new_from_string(event->recur);
+ #else
+ recur = icalrecurrencetype_from_string(event->recur);
+@@ -813,7 +813,7 @@ GSList *vcal_get_events_list(FolderItem *item)
+ duration = icaltime_as_timet(icaltime_from_string(event->dtend))
+ - icaltime_as_timet(icaltime_from_string(event->dtstart));
+
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ ical_dur = icaldurationtype_from_seconds(duration);
+ #else
+ ical_dur = icaldurationtype_from_int(duration);
+@@ -830,7 +830,7 @@ GSList *vcal_get_events_list(FolderItem *item)
+ gchar *uid = g_strdup_printf("%s-%d", event->uid, i);
+ new_start = icaltime_as_ical_string(next);
+ new_end = icaltime_as_ical_string(
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ icalduration_extend(next, ical_dur)
+ #else
+ icaltime_add(next, ical_dur)
+@@ -861,7 +861,7 @@ GSList *vcal_get_events_list(FolderItem *item)
+ i++;
+ }
+ icalrecur_iterator_free(ritr);
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ icalrecurrencetype_unref(recur);
+ #endif
+ }
+@@ -2418,7 +2418,7 @@ VCalEvent *vcal_get_event_from_ical(const gchar *ical, const gchar *charset)
+ if (prop) {
+ itt = icalproperty_get_dtstart(prop);
+ icalproperty_free(prop);
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ dtend = g_strdup(icaltime_as_ical_string(icalduration_extend(itt,duration)));
+ #else
+ dtend = g_strdup(icaltime_as_ical_string(icaltime_add(itt,duration)));
+@@ -2477,7 +2477,7 @@ VCalEvent *vcal_get_event_from_ical(const gchar *ical, const gchar *charset)
+ }
+ GET_PROP(comp, prop, ICAL_RRULE_PROPERTY);
+ if (prop) {
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ struct icalrecurrencetype* rrule = icalproperty_get_rrule(prop);
+ recur = g_strdup(icalrecurrencetype_as_string(rrule));
+ #else
+diff --git a/src/plugins/vcalendar/vcal_manager.c b/src/plugins/vcalendar/vcal_manager.c
+index 30d60ef67..645499c8f 100644
+--- a/src/plugins/vcalendar/vcal_manager.c
++++ b/src/plugins/vcalendar/vcal_manager.c
+@@ -402,7 +402,7 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
+ icalproperty_vanew_dtend((icaltime_from_string(event->dtend)), (void*)0));
+ if (event->recur && *(event->recur)) {
+ icalcomponent_add_property(ievent,
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ icalproperty_vanew_rrule((icalrecurrencetype_new_from_string(event->recur)), (void*)0));
+ #else
+ icalproperty_vanew_rrule((icalrecurrencetype_from_string(event->recur)), (void*)0));
+@@ -693,7 +693,7 @@ gchar *vcal_manager_icalevent_dump(icalcomponent *event, gchar *orga, icalcompon
+ icalproperty *prop;
+ icalcomponent *ievent = NULL;
+ int i = 0;
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ ievent = icalcomponent_clone(event);
+ #else
+ ievent = icalcomponent_new_clone(event);
+diff --git a/src/plugins/vcalendar/vcal_meeting_gtk.c b/src/plugins/vcalendar/vcal_meeting_gtk.c
+index f6c412fde..7d05a999f 100644
+--- a/src/plugins/vcalendar/vcal_meeting_gtk.c
++++ b/src/plugins/vcalendar/vcal_meeting_gtk.c
+@@ -2110,7 +2110,7 @@ gboolean vcal_meeting_export_freebusy(const gchar *path, const gchar *user,
+
+ ipt.start = icaltime_from_string(event->dtstart);
+ ipt.end = icaltime_from_string(event->dtend);
+-#ifdef HAVE_LIBICAL_V4
++#if ICAL_CHECK_VERSION(4, 0, 0)
+ ipt.duration = icalduration_from_times(ipt.end, ipt.start);
+ #else
+ ipt.duration = icaltime_subtract(ipt.end, ipt.start);
+--
+2.43.0
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/claws-mail.git/commitdiff/5b37f7c2bda7f8c707604a13d1596898470488de
More information about the pld-cvs-commit
mailing list