libical is an Open Source (MPL/LGPL) implementation of the IETF's iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446, and 2447). It parses iCal components and provides C/C++/Python/Java APIs for manipulating the component properties, parameters, and subcomponents. By default c++ and python bindings are enabled. Java bindings can be enabled by passing JAVA=yes to the script but require the jdk from /extra to be installed.