source: general/genutils/ibus.xml

trunk
Last change on this file was a80c832, checked in by Xi Ruoyao <xry111@…>, 4 days ago

treewide: Simplify GitHub archive URL by removing redundant "refs/tags/"

The "refs/tags/" component is only useful when a tag shares its name
with a branch. Any rational upstream maintainer shall not create such
a namesis.

I've verified all the changes does not affect the md5sum of download
files.

  • Property mode set to 100644
File size: 12.3 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 ibus-download-http "https://github.com/ibus/ibus/archive/&ibus-version;/ibus-&ibus-version;.tar.gz">
8 <!ENTITY ibus-download-ftp " ">
9 <!ENTITY ibus-md5sum "2e29a7fb0f8c5ffcf42462fda45348fd">
10 <!ENTITY ibus-size "1.4 MB">
11 <!ENTITY ibus-buildsize "54 MB (add 3 MB for tests)">
12 <!ENTITY ibus-time "0.3 SBU (Using parallelism=4; add 0.6 SBU for tests)">
13<!-- Since UCD.zip can be used by gucharmap too, let's use the same version:
14 This prevents version mismatches, since UCD.zip filename is not versioned.
15-->
16 <!ENTITY ucd-download-http "https://www.unicode.org/Public/zipped/&gucharmap-major-version;.0/UCD.zip">
17]>
18
19<sect1 id="ibus" xreflabel="ibus-&ibus-version;">
20 <?dbhtml filename="ibus.html"?>
21
22
23 <title>ibus-&ibus-version;</title>
24
25 <indexterm zone="ibus">
26 <primary sortas="a-ibus">ibus</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to ibus</title>
31
32 <para>
33 <application>ibus</application> is an Intelligent Input Bus. It is a new
34 input framework for the Linux OS. It provides a fully featured and user
35 friendly input method user interface.
36 </para>
37
38 &lfs121_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&ibus-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&ibus-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &ibus-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &ibus-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &ibus-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &ibus-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Unicode Character Database:
80 <ulink url="&ucd-download-http;"> &ucd-download-http;</ulink>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">ibus Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="dconf"/>,
90 <!-- needed since we're using autogen.sh -->
91 <xref linkend="iso-codes"/>, and
92 <xref linkend="vala"/>
93 </para>
94
95 <bridgehead renderas="sect4">Recommended</bridgehead>
96 <para role="recommended">
97 &gobject-introspection;,
98 <xref linkend="gtk3"/>, and
99 <xref linkend="libnotify"/>
100 </para>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para role="optional">
104 <xref linkend="gtk4"/> (to build IM module for it),
105 <xref linkend="gtk-doc"/> (for generating API documentation),
106 <xref linkend="dbus-python"/> and
107 <xref linkend="pygobject3"/> (both to build the Python support library),
108 <!--<xref linkend="pyxdg" role="runtime"/>
109 (runtime, for the <command>ibus-setup</command>), and
110 NOTE: The reference to the 'xdg' python module is commented out in the source -->
111 <xref linkend="libxkbcommon"/>,
112 <xref linkend="wayland"/> (both to build the Wayland support programs),
113 <ulink url="https://www.joypixels.com/">EmojiOne</ulink>, and
114 <ulink url="https://github.com/AyatanaIndicators/libdbusmenu">libdbusmenu</ulink>
115 </para>
116
117 </sect2>
118
119 <sect2 role="installation">
120 <title>Installation of ibus</title>
121
122<!--
123 <para>
124 If the optional Unicode Character Database was downloaded, install it
125 now as the <systemitem class="username">root</systemitem> user:
126 </para>
127-->
128
129 <para>
130 First, install the Unicode Character Database as the &root; user:
131 </para>
132
133<screen role="root"><userinput>mkdir -p /usr/share/unicode/ucd &amp;&amp;
134unzip -o ../UCD.zip -d /usr/share/unicode/ucd</userinput></screen>
135
136<!--
137 <note>
138 <para>
139 Be sure to also remove the - -disable-unicode-dict in
140 the configure step below.
141 </para>
142 </note>
143-->
144 <para>
145 Fix an issue with deprecated schema entries:
146 </para>
147
148<screen><userinput>sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \
149 -i data/dconf/org.freedesktop.ibus.gschema.xml</userinput></screen>
150
151 <para>
152 If <xref linkend='gtk-doc'/> is not installed, remove the references
153 to it:
154 </para>
155
156<screen><userinput>if ! [ -e /usr/bin/gtkdocize ]; then
157 sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac
158fi</userinput></screen>
159
160 <para>
161 Install <application>ibus</application> by running the following
162 commands:
163 </para>
164
165<screen revision='sysv'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
166
167PYTHON=python3 \
168./configure --prefix=/usr \
169 --sysconfdir=/etc \
170 --disable-python2 \
171 --disable-appindicator \
172 --disable-emoji-dict \
173 --disable-gtk2 \
174 --disable-systemd-services &amp;&amp;
175make</userinput></screen>
176
177<screen revision='systemd'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
178
179PYTHON=python3 \
180./configure --prefix=/usr \
181 --sysconfdir=/etc \
182 --disable-python2 \
183 --disable-appindicator \
184 --disable-gtk2 \
185 --disable-emoji-dict &amp;&amp;
186make</userinput></screen>
187
188 <para>
189 To test the results, issue: <command>make -k check</command>.
190 The test named ibus-compose fails because it uses some locales
191 not installed in LFS.
192 <!-- The log says "No idea to simulate key events in Wayland"
193 in a Mutter wayland session. DO NOT REMOVE UNLESS TESTED
194 IN WAYLAND. -->
195 The test named ibus-keypress will fail if running in a Wayland
196 session.
197 </para>
198
199 <para>
200 Now, as the &root; user:
201 </para>
202
203<screen role="root"><userinput>make install</userinput></screen>
204
205 </sect2>
206
207 <sect2 role="commands">
208 <title>Command Explanations</title>
209
210 <para>
211 <parameter>--disable-appindicator</parameter>: This switch disables
212 use of libdbusmenu. Omit if you installed the optional dependency.
213 </para>
214
215 <para>
216 <parameter>--disable-emoji-dict</parameter>: This switch disables the
217 use of emoticon dictionaries. Omit if you installed the optional
218 package.
219 </para>
220
221 <para>
222 <parameter>--disable-gtk2</parameter>: This switch removes the dependency
223 on <application>GTK+-2</application>.
224 </para>
225
226 <para>
227 <option>--enable-gtk4</option>: This switch enables building
228 the <application>GTK 4</application> immodule. Use it if
229 you have installed <application>GTK 4</application>.
230 </para>
231
232 <para>
233 <option>--enable-python-library</option>: This switch enables
234 building the <application>Python</application> support
235 library. Use it if you have installed the optional Python modules.
236 </para>
237
238 <para>
239 <option>--enable-wayland</option>: This switch enables building
240 the <application>Wayland</application> support programs.
241 It's automatically enabled if both <xref linkend='libxkbcommon'/> and
242 <xref linkend='wayland'/> are installed.
243 </para>
244
245 <para>
246 <envar>NOCONFIGURE=1</envar>: Prevent <command>autogen.sh</command>
247 from running the generated <command>configure</command> script. We'll
248 run the script manually instead of relying on
249 <command>autogen.sh</command> to run it, because
250 <command>autogen.sh</command> would set <option>-fsanitize=address
251 -fsanitize=leak</option> in <envar>CFLAGS</envar> running
252 <command>configure</command>, but those compiler options are not
253 suitable for productive use and they may also cause a build failure.
254 <!-- GCC security policy: "Libraries like libvtv and the sanitizers
255 are intended to be used in diagnostic cases and not intended for
256 use in sensitive environments." In my build it also causes
257 "compose/sequences-little-endian" bail out with a sanitizer
258 warning and the package to FTBFS. -->
259 </para>
260
261 <para>
262 <envar>PYTHON=python3</envar>: This environment variable makes
263 the <command>configure</command> script look for
264 <application>Python 3</application>. Use it if you want
265 to build the <application>Python 3</application> support
266 library.
267 </para>
268
269 <para>
270 <envar>SAVE_DIST_FILES=1</envar>: This environment variable makes
271 the <command>autogen.sh</command> script save some pre-generated
272 header files instead of overwriting them when it is run. This prevents
273 build failures when generating <filename>ibusemojigen.h</filename>.
274 <!-- This is needed because we do not have the Emoji dictionary.-->
275 </para>
276
277 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
278 href="../../xincludes/gtk-doc-rebuild.xml"/>
279<!--
280 <para>
281 <command>gzip -dfv ...</command>: Decompress installed man pages
282 in accordance with other man pages.
283 </para>
284-->
285 </sect2>
286
287 <sect2 role="configuration">
288 <title>Configuring Ibus</title>
289
290 <para>
291 If GTK+-3 or GTK+-2 are installed and
292 <option>--disable-gtk{3,2}</option> are not used, the ibus IM module
293 for GTK+-3 or GTK+-2 will be installed. As the &root; user,
294 update a cache file of GTK+-3 or GTK+-2 so the GTK-based applications
295 can find the newly installed IM module and use ibus as an input
296 method:
297 </para>
298
299 <screen role='nodump'><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
300
301 <para>
302 The command above updates the cache file for GTK+-3. For GTK+-2,
303 use <command>gtk-query-immodules-2.0</command> instead of
304 <command>gtk-query-immodules-3.0</command>. GTK-4 does not require
305 a cache file for IM modules.
306 </para>
307 </sect2>
308
309 <sect2 role="content">
310 <title>Contents</title>
311
312 <segmentedlist>
313 <segtitle>Installed Programs</segtitle>
314 <segtitle>Installed Library</segtitle>
315 <segtitle>Installed Directories</segtitle>
316
317 <seglistitem>
318 <seg>
319 ibus,
320 ibus-daemon, and
321 ibus-setup
322 </seg>
323 <seg>
324 libibus-1.0.so and
325 im-ibus.so (<application>GTK+ Immodule</application>)
326 </seg>
327 <seg>
328 /etc/dconf/db/ibus.d,
329 /usr/include/ibus-1.0,
330 /usr/share/gtk-doc/html/ibus, and
331 /usr/share/ibus
332 </seg>
333 </seglistitem>
334 </segmentedlist>
335
336 <variablelist>
337 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
338 <?dbfo list-presentation="list"?>
339 <?dbhtml list-presentation="table"?>
340
341 <varlistentry id="ibus-daemon">
342 <term><command>ibus-daemon</command></term>
343 <listitem>
344 <para>
345 is the Intelligent Input Bus Daemon
346 </para>
347 <indexterm zone="ibus ibus-daemon">
348 <primary sortas="b-ibus-daemon">ibus-daemon</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="ibus-setup">
354 <term><command>ibus-setup</command></term>
355 <listitem>
356 <para>
357 is the <application>GTK+</application> program used to configure
358 the <command>ibus-daemon</command>
359 </para>
360 <indexterm zone="ibus ibus-setup">
361 <primary sortas="b-ibus-setup">ibus-setup</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="libibus-1.0">
367 <term><filename class="libraryfile">libibus-1.0.so</filename></term>
368 <listitem>
369 <para>
370 contains the <application>ibus</application> API functions
371 </para>
372 <indexterm zone="ibus libibus-1.0">
373 <primary sortas="c-libibus-1.0">libibus-1.0.so</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 </variablelist>
379
380 </sect2>
381
382</sect1>
Note: See TracBrowser for help on using the repository browser.