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

### Chapter 9. General Libraries

- Prev

  libgusb-0.3.5

- Next

  libidn-1.36

- Up
- Home

# libical-3.0.9

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

### Package Information

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

- Download MD5 sum: 734099cc0b0f52bdcc5e3e191a0d9769

- Download size: 868 KB

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

- Estimated build time: 0.2 SBU (Using parallelism=4; with tests)

### libical Dependencies

#### Required

CMake-3.19.5

#### Recommended

gobject-introspection-1.66.1 and Vala-0.50.3(both required for Gnome)

#### Optional

Berkeley DB-5.3.28, Doxygen-1.9.1 (for the API documentation), GTK-Doc-1.33.2 (for the API documentation), ICU-68.2, and PyGObject-3.38.0 (for some tests)

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

## 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

If you have Doxygen-1.9.1 and GTK-Doc-1.33.2 installed and wish to build the API documentation, 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.9/html &&
    cp -vr apidocs/html/* /usr/share/doc/libical-3.0.9/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.

`-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.50.3.

`-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, and /usr/share/doc/libical-3.0.9/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

Last updated on 2021-02-19 22:13:48 -0800

- Prev

  libgusb-0.3.5

- Next

  libidn-1.36

- Up
- Home