libical-3.0.16

Introduction to libical

The libical package contains an implementation of the iCalendar protocols and data formats.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libical Dependencies

Required

CMake-3.25.2

Recommended

Optional

Berkeley DB-5.3.28, Doxygen-1.9.6 (for the API documentation), Graphviz-7.1.0 (for the API documentation), GTK-Doc-1.33.2 (for the API documentation), ICU-72.1, and PyGObject-3.42.2 (for some tests)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libical

Installation of libical

Install libical by running the following commands:

[Note]

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.9.6, Graphviz-7.1.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.16/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.16/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.4.

-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.16/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