libical >= 2.0.0 support (patch)

Ken Murchison murch at
Tue May 24 09:47:11 EDT 2016

It looks like this patch is against Cyrus 2.5 since the 3.x code didn't 
use any add_by*() functions.  Those patches have already been ported 
back to 2.5.  Both Cyrus 2.5 and 3.x (in git) now compile with both 
libical 1.x and 2.x.

On 05/24/2016 04:40 AM, Ondřej Surý via Cyrus-devel wrote:
> Hi,
> Debian has recently switched to libical >= 2.0.0 that hides some
> previously exported symbols.
> I rewrote custom icalrecur_add_rule to reconstruct RRULE from XML or
> JSON to be reparsed again with icalrecurrencetype_from_string(char *).
> I understand this is not optimal, but I believe that simplicity of the
> code outweights the speed.
> And I suggest to drop support for libical << 2.0.0 for simplicity. And
> in that case I will weed out the HAVE_ICAL_<foo> macros and send another
> patch with that (0018-* is just basic to get it compiled).
> Please review (and apply) attached patch. I used buf_* functions to
> reconstruct the cstring, but it desperately needs a review if I am using
> those correctly and if it doesn't leak memory (it probably does? But in
> that case json_x_value leaks it as well).
> But hey it compiles! :)
> Cheers,

Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

More information about the Cyrus-devel mailing list