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/1.5.31/ibus-1.5.31.tar.gz
Download MD5 sum: 3d685af1010d871bb858dc8a8aabb5c4
Download size: 1.5 MB
Estimated disk space required: 55 MB (add 1 MB for tests)
Estimated build time: 0.3 SBU (Using parallelism=4; add 1.0 SBU for tests)
Unicode Character Database: https://www.unicode.org/Public/zipped/16.0.0/UCD.zip
DConf-0.40.0, ISO Codes-4.17.0, and Vala-0.56.17
GLib-2.82.2 (with GObject Introspection), GTK+-3.24.43, and libnotify-0.8.3
GTK-4.16.7 (to build IM module for it), GTK-Doc-1.34.0 (for generating API documentation), D-Bus Python-1.3.2 and PyGObject-3.50.0 (both to build the Python support library), libxkbcommon-1.7.0, Wayland-1.23.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 -o ../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.34.0 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 \ --disable-gtk2 \ --disable-systemd-services && make
To test the results, issue: make -k check. The test named ibus-compose fails because it uses some locales not installed in LFS. The test named ibus-keypress will fail if running in a Wayland session. The xkb-latin-layouts test is also known to fail on some systems.
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
removes the dependency on 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. It's automatically enabled if both libxkbcommon-1.7.0 and Wayland-1.23.0 are
installed.
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 configure 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 is installed and --disable-gtk3
is not used, the ibus IM module for
GTK+-3 will be installed. As the root
user, update a cache file of GTK+-3 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. GTK-4 does not require a cache file for IM modules.