mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
326 lines
9.9 KiB
XML
326 lines
9.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY libical-download-http "https://github.com/libical/libical/releases/download/v&libical-version;/libical-&libical-version;.tar.gz">
|
|
<!ENTITY libical-download-ftp " ">
|
|
<!ENTITY libical-md5sum "aab3e2c80a5a61c744204675bff19ae0">
|
|
<!ENTITY libical-size "888 KB">
|
|
<!ENTITY libical-buildsize "38 MB (with tests and API documentation)">
|
|
<!ENTITY libical-time "0.4 SBU (with tests and documentation)">
|
|
<!-- run at -j1 because it fails at -j4 -->
|
|
]>
|
|
|
|
<sect1 id="libical" xreflabel="libical-&libical-version;">
|
|
<?dbhtml filename="libical.html"?>
|
|
|
|
|
|
<title>libical-&libical-version;</title>
|
|
|
|
<indexterm zone="libical">
|
|
<primary sortas="a-libical">libical</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to libical</title>
|
|
|
|
<para>
|
|
The <application>libical</application> package contains an implementation
|
|
of the iCalendar protocols and data formats.
|
|
</para>
|
|
|
|
&lfs120_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&libical-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&libical-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &libical-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &libical-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &libical-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &libical-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">libical Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="cmake"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="gobject-introspection"/> and
|
|
<xref linkend="vala"/> (both required for GNOME)
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="doxygen"/> (for the API documentation),
|
|
<xref linkend="graphviz"/> (for the API documentation),
|
|
<xref linkend="gtk-doc"/> (for the API documentation),
|
|
<xref linkend="icu"/>,
|
|
<xref linkend="pygobject3"/> (for some tests), and
|
|
&berkeley-db;
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of libical</title>
|
|
|
|
<!-- Not needed with 3.0.9
|
|
<para>First make some fixes for the latest versions of icu and Python:</para>
|
|
|
|
<screen><userinput>sed -i '/define LEAP_MONTH/a #define FALSE 0' src/libical/icalrecur.c &&
|
|
sed -i 's/array/arraytest/' src/test/libical-glib/CMakeLists.txt &&
|
|
mv src/test/libical-glib/array.py src/test/libical-glib/arraytest.py</userinput></screen>
|
|
-->
|
|
|
|
<para>
|
|
Install <application>libical</application> by running the
|
|
following commands:
|
|
</para>
|
|
|
|
<!-- Needs confirmation, but I got a race condition at -j8,
|
|
-j1 allowed the build to pass. Pierre 2019-12-06
|
|
I always have it actually. Hence the entity.-->
|
|
¶llel_issues;
|
|
<screen><userinput>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</userinput></screen>
|
|
|
|
<para>
|
|
If you have <xref linkend="doxygen"/>, <xref linkend="graphviz"/>,
|
|
and <xref linkend="gtk-doc"/>
|
|
installed and wish to build the API documentation, you should
|
|
remove the <parameter>-DICAL_BUILD_DOCS=false</parameter> switch
|
|
and issue:
|
|
</para>
|
|
|
|
<screen remap="doc"><userinput>make docs</userinput></screen>
|
|
|
|
<para>
|
|
To test the results, issue: <command>make test</command>.
|
|
<!-- One test, timezones, is known to fail on SysV systems. -->
|
|
<!-- On systemd, we symlink the current timezone to
|
|
/etc/localtime, which is what libical expects.
|
|
This is now done on SysV as well.-->
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
<para>
|
|
If you have built the API documentation, install by issuing, as
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"
|
|
remap="doc"><userinput>install -vdm755 /usr/share/doc/libical-&libical-version;/html &&
|
|
cp -vr apidocs/html/* /usr/share/doc/libical-&libical-version;/html</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used
|
|
to apply higher level of the compiler optimizations.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-DSHARED_ONLY=yes</parameter>: This switch is used
|
|
in order to only build the shared libraries.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-DICAL_BUILD_DOCS=false</parameter>: This switch prevents
|
|
building the <application>GTK</application> documentation. Remove
|
|
if you want to build the documentation.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-DGOBJECT_INTROSPECTION=true</parameter>: This switch is used
|
|
to generate GObject metadata bindings.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-DICAL_GLIB_VAPI=true</parameter>: This switch is used
|
|
in order to build bindings for <xref linkend="vala"/>.
|
|
</para>
|
|
|
|
<para>
|
|
<option>-DUSE_BUILTIN_TZDATA=yes</option>: This switch is used
|
|
in order to build using your own timezone data.
|
|
</para>
|
|
|
|
<!-- No CMake equivalents
|
|
<para>
|
|
<parameter>- -enable-cxx</parameter>: This switch enables
|
|
<application>libical</application> C++ library.
|
|
</para>
|
|
|
|
<para>
|
|
<option>- -enable-python</option>: This switch enables
|
|
<application>libical</application> Python bindings.
|
|
</para> -->
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directory</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
None
|
|
</seg>
|
|
<seg>
|
|
libical_cxx.so,
|
|
libical.so,
|
|
libical-glib.so,
|
|
libicalss_cxx.so,
|
|
libicalss.so,
|
|
and libicalvcal.so
|
|
</seg>
|
|
<seg>
|
|
/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-&libical-version;/html
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="libical-lib">
|
|
<term><filename class="libraryfile">libical.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>libical</application> API
|
|
functions
|
|
</para>
|
|
<indexterm zone="libical libical-lib">
|
|
<primary sortas="c-libical">libical.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libical_cxx-lib">
|
|
<term><filename class="libraryfile">libical_cxx.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>libical</application> C++ bindings
|
|
</para>
|
|
<indexterm zone="libical libical_cxx-lib">
|
|
<primary sortas="c-libical_cxx">libical_cxx.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libical-glib">
|
|
<term><filename class="libraryfile">libical-glib.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>libical</application> glib bindings
|
|
</para>
|
|
<indexterm zone="libical libical-glib">
|
|
<primary sortas="c-libical-glib">libical-glib.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libicalss">
|
|
<term><filename class="libraryfile">libicalss.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
is a library that allows you to store iCal component data
|
|
to disk in a variety of ways
|
|
</para>
|
|
<indexterm zone="libical libicalss">
|
|
<primary sortas="c-libicalss">libicalss.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libicalss_cxx">
|
|
<term><filename class="libraryfile">libicalss_cxx.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>libicalss</application> C++
|
|
bindings
|
|
</para>
|
|
<indexterm zone="libical libicalss_cxx">
|
|
<primary sortas="c-libicalss_cxx">libicalss_cxx.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libicalvcal">
|
|
<term><filename class="libraryfile">libicalvcal.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
is a vCard/vCalendar C interface
|
|
</para>
|
|
<indexterm zone="libical libicalvcal">
|
|
<primary sortas="c-libicalvcal">libicalvcal.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|