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.
![[Note]](../images/note.png)
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.xmlIf 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 &&
makeTo 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.