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.28.1
Recommended
gobject-introspection-1.78.1 and Vala-0.56.14 (both required for GNOME)
Optional
Doxygen-1.10.0 (for the API documentation), Graphviz-9.0.0 (for the API documentation), GTK-Doc-1.33.2 (for the API documentation), ICU-74.1, PyGObject-3.46.0 (for some tests), and Berkeley DB (deprecated)
Installation of libical
Install libical by running the following commands:
Note
This package may occasionally fail when building with multiple processors. See Using Multiple Processors for more information.
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DSHARED_ONLY=yes \
-DICAL_BUILD_DOCS=false \
-DGOBJECT_INTROSPECTION=true \
-DICAL_GLIB_VAPI=true \
.. &&
make -j1
If you have Doxygen-1.10.0, Graphviz-9.0.0, and GTK-Doc-1.33.2 installed and wish to build the API documentation, you should remove the -DICAL_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.17/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.17/html
Command Explanations
-DCMAKE_BUILD_TYPE=Release
: This switch is used to apply higher level of the compiler optimizations.
-DSHARED_ONLY=yes
: This switch is used in order to only build the shared libraries.
-DICAL_BUILD_DOCS=false
: This switch prevents building the GTK documentation. Remove if you want to build the documentation.
-DGOBJECT_INTROSPECTION=true
: This switch is used to generate GObject metadata bindings.
-DICAL_GLIB_VAPI=true
: This switch is used in order to build bindings for Vala-0.56.14.
-DUSE_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.17/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
|