libical-3.0.14

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.2 platform.

Package Information

libical Dependencies

Required

CMake-3.24.1

Recommended

Optional

Berkeley DB-5.3.28, Doxygen-1.9.4 (for the API documentation), Graphviz-5.0.1 (for the API documentation), GTK-Doc-1.33.2 (for the API documentation), ICU-71.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.4, Graphviz-5.0.1, 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.14/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.14/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.2.

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