Introduction to libical
The libical package contains an
implementation of the iCalendar protocols and data formats.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
libical Dependencies
Required
CMake-3.31.2
Recommended
GLib-2.82.2 (with GObject Introspection) and
Vala-0.56.17 (both required for GNOME)
Optional
Doxygen-1.12.0 (for the API documentation),
Graphviz-12.2.1 (for the API documentation),
GTK-Doc-1.34.0 (for the API documentation),
ICU-76.1,
PyGObject-3.50.0 (for some tests), and
Berkeley
DB (deprecated)
Installation of libical
If ICU-76.1 is
installed, fix an incompatibility with ICU 75 or later:
sed -i '/getKeywordValuesForLocale/s/NULL/""/' src/libical/icalrecur.c
Install libical by running the
following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D SHARED_ONLY=yes \
-D ICAL_BUILD_DOCS=false \
-D ICAL_BUILD_EXAMPLES=false \
-D GOBJECT_INTROSPECTION=true \
-D ICAL_GLIB_VAPI=true \
.. &&
make
If you have Doxygen-1.12.0, Graphviz-12.2.1, and
GTK-Doc-1.34.0 installed and wish to build the
API documentation, you should remove the -D ICAL_BUILD_DOCS=false
switch and
issue:
make docs
To test the results, issue: make
test.
Now, as the root
user:
make install
If you have built the API documentation, install by issuing, as
root
user:
install -vdm755 /usr/share/doc/libical-3.0.18/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.18/html
Command Explanations
-D
CMAKE_BUILD_TYPE=Release
: This switch is used to apply
higher level of the compiler optimizations.
-D SHARED_ONLY=yes
: This
switch is used in order to only build the shared libraries.
-D ICAL_BUILD_DOCS=false
:
This switch prevents building the GTK documentation. Remove if you want to build
the documentation.
-D
ICAL_BUILD_EXAMPLES=false
: This switch prevents
building examples. Remove if you want to build them.
-D
GOBJECT_INTROSPECTION=true
: This switch is used to
generate GObject metadata bindings.
-D ICAL_GLIB_VAPI=true
:
This switch is used in order to build bindings for Vala-0.56.17.
-D USE_BUILTIN_TZDATA=yes
: This switch
is used in order to build using your own timezone data.
Contents
Installed Programs:
None
Installed Libraries:
libical_cxx.so, libical.so,
libical-glib.so, libicalss_cxx.so, libicalss.so, and
libicalvcal.so
Installed Directory:
/usr/include/libical,
/usr/include/libical-glib, /usr/lib/cmake/LibIcal,
/usr/libexec/libical, /usr/share/gtk-doc/html/libical-glib
(optional), and /usr/share/doc/libical-3.0.18/html
Short Descriptions
libical.so
|
contains the libical API
functions
|
libical_cxx.so
|
contains the libical C++
bindings
|
libical-glib.so
|
contains the libical
glib bindings
|
libicalss.so
|
is a library that allows you to store iCal component data
to disk in a variety of ways
|
libicalss_cxx.so
|
contains the libicalss
C++ bindings
|
libicalvcal.so
|
is a vCard/vCalendar C interface
|