libical-3.0.18

#### Beyond Linux® From Scratch (systemd Edition) - Version 12.2

### Chapter 9. General Libraries

- Prev

  libgusb-0.4.9

- Next

  libidn-1.42

- Up
- Home

# libical-3.0.18

## 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 12.2 platform.

### Package Information

- Download (HTTP): https://github.com/libical/libical/releases/download/v3.0.18/libical-3.0.18.tar.gz

- Download MD5 sum: cc790ea49701df0335d42b89d57c04bc

- Download size: 888 KB

- Estimated disk space required: 24 MB (with tests)

- Estimated build time: 0.1 SBU (using parallelism=4; with tests)

### libical Dependencies

#### Required

CMake-3.30.2

#### Recommended

GLib-2.80.4 (with GObject Introspection) and Vala-0.56.17 (both required for GNOME)

#### Optional

Doxygen-1.12.0 (for the API documentation), Graphviz-12.1.0 (for the API documentation), GTK-Doc-1.34.0 (for the API documentation), ICU-75.1, PyGObject-3.48.2 (for some tests), and Berkeley DB (deprecated)

## Installation of libical

If ICU-75.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.1.0, 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. One test named `icalrecurtest-r` is known to fail.

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

- Prev

  libgusb-0.4.9

- Next

  libidn-1.42

- Up
- Home