ibus is an Intelligent Input Bus. It is a new input framework for the Linux OS. It provides a fully featured and user friendly input method user interface.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://github.com/ibus/ibus/archive/refs/tags/1.5.29/ibus-1.5.29.tar.gz
Download MD5 sum: 2e29a7fb0f8c5ffcf42462fda45348fd
Download size: 1.4 MB
Estimated disk space required: 54 MB (add 3 MB for tests)
Estimated build time: 0.3 SBU (Using parallelism=4; add 0.6 SBU for tests)
Unicode Character Database: https://www.unicode.org/Public/zipped/15.1.0/UCD.zip
DConf-0.40.0, ISO Codes-4.15.0, and Vala-0.56.14
gobject-introspection-1.78.1, GTK+-3.24.38, and libnotify-0.8.3
GTK-4.12.4 (to build IM module for it), GTK-Doc-1.33.2 (for generating API documentation), D-Bus Python-1.3.2 and PyGObject-3.46.0 (both to build the Python support library), libxkbcommon-1.6.0, Wayland-1.22.0 (both to build the Wayland support programs), EmojiOne, and libdbusmenu
First, install the Unicode Character Database as the root
user:
mkdir -p /usr/share/unicode/ucd && unzip -uo ../UCD.zip -d /usr/share/unicode/ucd
Fix an issue with deprecated schema entries:
sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \ -i data/dconf/org.freedesktop.ibus.gschema.xml
If GTK-Doc-1.33.2 is not installed, remove the references to it:
if ! [ -e /usr/bin/gtkdocize ]; then sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac fi
Install ibus by running the following commands:
SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh && PYTHON=python3 \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-python2 \ --disable-appindicator \ --disable-emoji-dict && make
To test the results, issue: make -k check. The test named ibus-compose fails because it uses some locales not installed in LFS.
Now, as the root
user:
make install
--disable-appindicator
: This switch disables
use of libdbusmenu. Omit if you installed the optional dependency.
--disable-emoji-dict
: This switch disables the
use of emoticon dictionaries. Omit if you installed the optional
package.
--disable-gtk2
: This switch disables building
the GTK+ 2 immodule. Use it if
you have not installed GTK+ 2.
--enable-gtk4
: This switch enables building
the GTK 4 immodule. Use it if
you have installed GTK 4.
--enable-python-library
: This switch enables
building the Python support
library. Use it if you have installed the optional Python modules.
--enable-wayland
: This switch enables building
the Wayland support programs.
Use it if you have installed the optional dependencies.
NOCONFIGURE=1
: Prevent autogen.sh
from running the generated configure script. We'll
run the script manually instead of relying on
autogen.sh to run it, because
autogen.sh would set -fsanitize=address
-fsanitize=leak
in CFLAGS
running
configure, but those compiler options are not
suitable for productive use and they may also cause a build failure.
PYTHON=python3
: This environment variable makes
the autogen.sh script look for
Python 3. Use it if you want
to build the Python 3 support
library.
SAVE_DIST_FILES=1
: This environment variable makes
the autogen.sh script save some pre-generated
header files instead of overwriting them when it is run. This prevents
build failures when generating ibusemojigen.h
.
--enable-gtk-doc
: Use this parameter if
GTK-Doc is installed and you wish to rebuild
and install the API documentation.
If GTK+-3 or GTK+-2 are installed and
--disable-gtk{3,2}
are not used, the ibus IM module
for GTK+-3 or GTK+-2 will be installed. As the root
user,
update a cache file of GTK+-3 or GTK+-2 so the GTK-based applications
can find the newly installed IM module and use ibus as an input
method:
gtk-query-immodules-3.0 --update-cache
The command above updates the cache file for GTK+-3. For GTK+-2, use gtk-query-immodules-2.0 instead of gtk-query-immodules-3.0. GTK-4 does not require a cache file for IM modules.