source: general/genutils/ibus.xml@ 6e59369

12.1 ken/TL2024 lazarus plabs/newcss python3.11 rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 6e59369 was 8a721c7, checked in by Pierre Labastie <pierre.labastie@…>, 7 months ago

ibus: add --disable-gtk2

This is needed if GTK+-2 is not installed.

  • Property mode set to 100644
File size: 12.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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/refs/tags/&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 &lfs120_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 <xref linkend="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 -uo ../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. -->
194 </para>
195
196 <para>
197 Now, as the &root; user:
198 </para>
199
200<screen role="root"><userinput>make install</userinput></screen>
201
202 </sect2>
203
204 <sect2 role="commands">
205 <title>Command Explanations</title>
206
207 <para>
208 <parameter>--disable-appindicator</parameter>: This switch disables
209 use of libdbusmenu. Omit if you installed the optional dependency.
210 </para>
211
212 <para>
213 <parameter>--disable-emoji-dict</parameter>: This switch disables the
214 use of emoticon dictionaries. Omit if you installed the optional
215 package.
216 </para>
217
218 <para>
219 <parameter>--disable-gtk2</parameter>: This switch removes the dependency
220 on <application>GTK+-2</application>.
221 </para>
222
223 <para>
224 <option>--enable-gtk4</option>: This switch enables building
225 the <application>GTK 4</application> immodule. Use it if
226 you have installed <application>GTK 4</application>.
227 </para>
228
229 <para>
230 <option>--enable-python-library</option>: This switch enables
231 building the <application>Python</application> support
232 library. Use it if you have installed the optional Python modules.
233 </para>
234
235 <para>
236 <option>--enable-wayland</option>: This switch enables building
237 the <application>Wayland</application> support programs.
238 Use it if you have installed the optional dependencies.
239 </para>
240
241 <para>
242 <envar>NOCONFIGURE=1</envar>: Prevent <command>autogen.sh</command>
243 from running the generated <command>configure</command> script. We'll
244 run the script manually instead of relying on
245 <command>autogen.sh</command> to run it, because
246 <command>autogen.sh</command> would set <option>-fsanitize=address
247 -fsanitize=leak</option> in <envar>CFLAGS</envar> running
248 <command>configure</command>, but those compiler options are not
249 suitable for productive use and they may also cause a build failure.
250 <!-- GCC security policy: "Libraries like libvtv and the sanitizers
251 are intended to be used in diagnostic cases and not intended for
252 use in sensitive environments." In my build it also causes
253 "compose/sequences-little-endian" bail out with a sanitizer
254 warning and the package to FTBFS. -->
255 </para>
256
257 <para>
258 <envar>PYTHON=python3</envar>: This environment variable makes
259 the <command>configure</command> script look for
260 <application>Python 3</application>. Use it if you want
261 to build the <application>Python 3</application> support
262 library.
263 </para>
264
265 <para>
266 <envar>SAVE_DIST_FILES=1</envar>: This environment variable makes
267 the <command>autogen.sh</command> script save some pre-generated
268 header files instead of overwriting them when it is run. This prevents
269 build failures when generating <filename>ibusemojigen.h</filename>.
270 <!-- This is needed because we do not have the Emoji dictionary.-->
271 </para>
272
273 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
274 href="../../xincludes/gtk-doc-rebuild.xml"/>
275<!--
276 <para>
277 <command>gzip -dfv ...</command>: Decompress installed man pages
278 in accordance with other man pages.
279 </para>
280-->
281 </sect2>
282
283 <sect2 role="configuration">
284 <title>Configuring Ibus</title>
285
286 <para>
287 If GTK+-3 or GTK+-2 are installed and
288 <option>--disable-gtk{3,2}</option> are not used, the ibus IM module
289 for GTK+-3 or GTK+-2 will be installed. As the &root; user,
290 update a cache file of GTK+-3 or GTK+-2 so the GTK-based applications
291 can find the newly installed IM module and use ibus as an input
292 method:
293 </para>
294
295 <screen role='nodump'><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
296
297 <para>
298 The command above updates the cache file for GTK+-3. For GTK+-2,
299 use <command>gtk-query-immodules-2.0</command> instead of
300 <command>gtk-query-immodules-3.0</command>. GTK-4 does not require
301 a cache file for IM modules.
302 </para>
303 </sect2>
304
305 <sect2 role="content">
306 <title>Contents</title>
307
308 <segmentedlist>
309 <segtitle>Installed Programs</segtitle>
310 <segtitle>Installed Library</segtitle>
311 <segtitle>Installed Directories</segtitle>
312
313 <seglistitem>
314 <seg>
315 ibus,
316 ibus-daemon, and
317 ibus-setup
318 </seg>
319 <seg>
320 libibus-1.0.so and
321 im-ibus.so (<application>GTK+ Immodule</application>)
322 </seg>
323 <seg>
324 /etc/dconf/db/ibus.d,
325 /usr/include/ibus-1.0,
326 /usr/share/gtk-doc/html/ibus, and
327 /usr/share/ibus
328 </seg>
329 </seglistitem>
330 </segmentedlist>
331
332 <variablelist>
333 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
334 <?dbfo list-presentation="list"?>
335 <?dbhtml list-presentation="table"?>
336
337 <varlistentry id="ibus-daemon">
338 <term><command>ibus-daemon</command></term>
339 <listitem>
340 <para>
341 is the Intelligent Input Bus Daemon
342 </para>
343 <indexterm zone="ibus ibus-daemon">
344 <primary sortas="b-ibus-daemon">ibus-daemon</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="ibus-setup">
350 <term><command>ibus-setup</command></term>
351 <listitem>
352 <para>
353 is the <application>GTK+</application> program used to configure
354 the <command>ibus-daemon</command>
355 </para>
356 <indexterm zone="ibus ibus-setup">
357 <primary sortas="b-ibus-setup">ibus-setup</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="libibus-1.0">
363 <term><filename class="libraryfile">libibus-1.0.so</filename></term>
364 <listitem>
365 <para>
366 contains the <application>ibus</application> API functions
367 </para>
368 <indexterm zone="ibus libibus-1.0">
369 <primary sortas="c-libibus-1.0">libibus-1.0.so</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 </variablelist>
375
376 </sect2>
377
378</sect1>
Note: See TracBrowser for help on using the repository browser.