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.
This package is known to build and work properly using an LFS 13.1 platform.
Download (HTTP): https://github.com/ibus/ibus/archive/1.5.34/ibus-1.5.34.tar.gz
Download MD5 sum: 7504f9c694d12e3cfe1e9e358f84c21f
Download size: 1.8 MB
Estimated disk space required: 116 MB (with tests)
Estimated build time: 0.5 SBU (Using parallelism=4; add 1.4 SBU for tests)
Unicode Character Database: https://www.unicode.org/Public/17.0.0/ucd/UCD.zip
ISO Codes-4.20.1 and Vala-0.56.19
DConf-0.49.0, GLib-2.88.3 (with GObject Introspection), GTK-3.24.52, GTK-4.22.4, and libnotify-0.8.8
gnome-desktop-44.5 (for one test), GTK-Doc-1.36.1 (for generating API documentation), libxkbcommon-1.13.2, PyGObject-3.56.3 (for ibus-setup), Wayland-1.26.0 (to build the Wayland support programs), EmojiOne, and libdbusmenu
First, install the Unicode Character Database as the root user:
python3 -m zipfile -e ../UCD.zip /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.36.1 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 &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-python2 \
--disable-appindicator \
--disable-gtk2 \
--disable-emoji-dict &&
make
To test the results, issue: sed
's/python$/&3/' -i engine/test-gnome.py && make -k
check. The test named ibus-compose fails because it
uses some locales not installed in LFS. The test named
ibus-keypress requires CONFIG_INPUT_UINPUT enabled in the kernel
configuration and it would fail otherwise. 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.
--disable-gtk4: This switch disables
building the GTK 4 immodule. Use
it if you don't want to install GTK
4.
--enable-wayland: This switch enables
building the Wayland support
programs. It's automatically enabled if both libxkbcommon-1.13.2 and Wayland-1.26.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.
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.