source: general/genlib/libical.xml@ 0cbc592a

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 0cbc592a was 0cbc592a, checked in by Xi Ruoyao <xry111@…>, 2 months ago

libical: Fix/document ICU-75 related issue

I've noticed the issue for a long time. Part of it is a trivial
compatibility issue which can be solved by a sed. But it seems the
islamic calender is still broken.

  • Property mode set to 100644
File size: 10.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY libical-download-http "https://github.com/libical/libical/releases/download/v&libical-version;/libical-&libical-version;.tar.gz">
8 <!ENTITY libical-download-ftp " ">
9 <!ENTITY libical-md5sum "cc790ea49701df0335d42b89d57c04bc">
10 <!ENTITY libical-size "888 KB">
11 <!ENTITY libical-buildsize "24 MB (with tests)">
12 <!ENTITY libical-time "0.1 SBU (using parallelism=4; with tests)">
13<!-- run at -j1 because it fails at -j4 -->
14]>
15
16<sect1 id="libical" xreflabel="libical-&libical-version;">
17 <?dbhtml filename="libical.html"?>
18
19
20 <title>libical-&libical-version;</title>
21
22 <indexterm zone="libical">
23 <primary sortas="a-libical">libical</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to libical</title>
28
29 <para>
30 The <application>libical</application> package contains an implementation
31 of the iCalendar protocols and data formats.
32 </para>
33
34 &lfs121_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&libical-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&libical-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &libical-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &libical-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &libical-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &libical-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">libical Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <xref linkend="cmake"/>
76 </para>
77
78 <bridgehead renderas="sect4">Recommended</bridgehead>
79 <para role="recommended">
80 &gobject-introspection; and
81 <xref linkend="vala"/> (both required for GNOME)
82 </para>
83
84 <bridgehead renderas="sect4">Optional</bridgehead>
85 <para role="optional">
86 <xref linkend="doxygen"/> (for the API documentation),
87 <xref linkend="graphviz"/> (for the API documentation),
88 <xref linkend="gtk-doc"/> (for the API documentation),
89 <xref linkend="icu"/>,
90 <xref linkend="pygobject3"/> (for some tests), and
91 &berkeley-db;
92 </para>
93
94 </sect2>
95
96 <sect2 role="installation">
97 <title>Installation of libical</title>
98
99 <!-- https://github.com/libical/libical/pull/690 -->
100 <para>
101 If <xref linkend='icu'/> is installed, fix an incompatibility
102 with ICU 75 or later:
103 </para>
104
105 <screen><userinput>sed '/getKeywordValuesForLocale/s/NULL/""/' \
106 -i ../src/libical/icalrecur.c</userinput></screen>
107
108 <para>
109 Install <application>libical</application> by running the
110 following commands:
111 </para>
112
113 <!-- Needs confirmation, but I got a race condition at -j8,
114 -j1 allowed the build to pass. Pierre 2019-12-06
115 I always have it actually. Hence the entity.
116
117 Works at -j8 and -j4 for version 3.0.18
118 &parallel_issues;-->
119<screen><userinput>mkdir build &amp;&amp;
120cd build &amp;&amp;
121
122cmake -D CMAKE_INSTALL_PREFIX=/usr \
123 -D CMAKE_BUILD_TYPE=Release \
124 -D SHARED_ONLY=yes \
125 -D ICAL_BUILD_DOCS=false \
126 -D ICAL_BUILD_EXAMPLES=false \
127 -D GOBJECT_INTROSPECTION=true \
128 -D ICAL_GLIB_VAPI=true \
129 .. &amp;&amp;
130make</userinput></screen>
131
132 <para>
133 If you have <xref linkend="doxygen"/>, <xref linkend="graphviz"/>,
134 and <xref linkend="gtk-doc"/>
135 installed and wish to build the API documentation, you should
136 remove the <parameter>-DICAL_BUILD_DOCS=false</parameter> switch
137 and issue:
138 </para>
139
140<screen remap="doc"><userinput>make docs</userinput></screen>
141
142 <!-- https://github.com/libical/libical/pull/684
143 It looks like an ICU bug but I've not got time to investigate
144 carefully. -->
145 <para>
146 To test the results, issue: <command>make test</command>.
147 One test named <literal>icalrecurtest-r</literal> is known to fail.
148 </para>
149
150 <para>
151 Now, as the <systemitem class="username">root</systemitem> user:
152 </para>
153
154<screen role="root"><userinput>make install</userinput></screen>
155
156 <para>
157 If you have built the API documentation, install by issuing, as
158 <systemitem class="username">root</systemitem> user:
159 </para>
160
161<screen role="root"
162 remap="doc"><userinput>install -vdm755 /usr/share/doc/libical-&libical-version;/html &amp;&amp;
163cp -vr apidocs/html/* /usr/share/doc/libical-&libical-version;/html</userinput></screen>
164
165 </sect2>
166
167 <sect2 role="commands">
168 <title>Command Explanations</title>
169
170 <para>
171 <parameter>-D CMAKE_BUILD_TYPE=Release</parameter>: This switch is used
172 to apply higher level of the compiler optimizations.
173 </para>
174
175 <para>
176 <parameter>-D SHARED_ONLY=yes</parameter>: This switch is used
177 in order to only build the shared libraries.
178 </para>
179
180 <para>
181 <parameter>-D ICAL_BUILD_DOCS=false</parameter>: This switch prevents
182 building the <application>GTK</application> documentation. Remove
183 if you want to build the documentation.
184 </para>
185
186 <para>
187 <parameter>-D ICAL_BUILD_EXAMPLES=false</parameter>: This switch prevents
188 building examples. Remove if you want to build them.
189 </para>
190
191 <para>
192 <parameter>-D GOBJECT_INTROSPECTION=true</parameter>: This switch is used
193 to generate GObject metadata bindings.
194 </para>
195
196 <para>
197 <parameter>-D ICAL_GLIB_VAPI=true</parameter>: This switch is used
198 in order to build bindings for <xref linkend="vala"/>.
199 </para>
200
201 <para>
202 <option>-D USE_BUILTIN_TZDATA=yes</option>: This switch is used
203 in order to build using your own timezone data.
204 </para>
205
206 <!-- No CMake equivalents
207 <para>
208 <parameter>- -enable-cxx</parameter>: This switch enables
209 <application>libical</application> C++ library.
210 </para>
211
212 <para>
213 <option>- -enable-python</option>: This switch enables
214 <application>libical</application> Python bindings.
215 </para> -->
216
217 </sect2>
218
219 <sect2 role="content">
220 <title>Contents</title>
221
222 <segmentedlist>
223 <segtitle>Installed Programs</segtitle>
224 <segtitle>Installed Libraries</segtitle>
225 <segtitle>Installed Directory</segtitle>
226
227 <seglistitem>
228 <seg>
229 None
230 </seg>
231 <seg>
232 libical_cxx.so,
233 libical.so,
234 libical-glib.so,
235 libicalss_cxx.so,
236 libicalss.so,
237 and libicalvcal.so
238 </seg>
239 <seg>
240 /usr/include/libical,
241 /usr/include/libical-glib,
242 /usr/lib/cmake/LibIcal,
243 /usr/libexec/libical,
244 /usr/share/gtk-doc/html/libical-glib (optional),
245 and /usr/share/doc/libical-&libical-version;/html
246 </seg>
247 </seglistitem>
248 </segmentedlist>
249
250 <variablelist>
251 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
252 <?dbfo list-presentation="list"?>
253 <?dbhtml list-presentation="table"?>
254
255 <varlistentry id="libical-lib">
256 <term><filename class="libraryfile">libical.so</filename></term>
257 <listitem>
258 <para>
259 contains the <application>libical</application> API
260 functions
261 </para>
262 <indexterm zone="libical libical-lib">
263 <primary sortas="c-libical">libical.so</primary>
264 </indexterm>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry id="libical_cxx-lib">
269 <term><filename class="libraryfile">libical_cxx.so</filename></term>
270 <listitem>
271 <para>
272 contains the <application>libical</application> C++ bindings
273 </para>
274 <indexterm zone="libical libical_cxx-lib">
275 <primary sortas="c-libical_cxx">libical_cxx.so</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="libical-glib">
281 <term><filename class="libraryfile">libical-glib.so</filename></term>
282 <listitem>
283 <para>
284 contains the <application>libical</application> glib bindings
285 </para>
286 <indexterm zone="libical libical-glib">
287 <primary sortas="c-libical-glib">libical-glib.so</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 <varlistentry id="libicalss">
293 <term><filename class="libraryfile">libicalss.so</filename></term>
294 <listitem>
295 <para>
296 is a library that allows you to store iCal component data
297 to disk in a variety of ways
298 </para>
299 <indexterm zone="libical libicalss">
300 <primary sortas="c-libicalss">libicalss.so</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 <varlistentry id="libicalss_cxx">
306 <term><filename class="libraryfile">libicalss_cxx.so</filename></term>
307 <listitem>
308 <para>
309 contains the <application>libicalss</application> C++
310 bindings
311 </para>
312 <indexterm zone="libical libicalss_cxx">
313 <primary sortas="c-libicalss_cxx">libicalss_cxx.so</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="libicalvcal">
319 <term><filename class="libraryfile">libicalvcal.so</filename></term>
320 <listitem>
321 <para>
322 is a vCard/vCalendar C interface
323 </para>
324 <indexterm zone="libical libicalvcal">
325 <primary sortas="c-libicalvcal">libicalvcal.so</primary>
326 </indexterm>
327 </listitem>
328 </varlistentry>
329
330 </variablelist>
331
332 </sect2>
333
334</sect1>
Note: See TracBrowser for help on using the repository browser.