diff --git a/app-i18n/ibus-m17n/Manifest b/app-i18n/ibus-m17n/Manifest
index 4598d003f85ab..637089d62c0fa 100644
--- a/app-i18n/ibus-m17n/Manifest
+++ b/app-i18n/ibus-m17n/Manifest
@@ -1 +1,2 @@
DIST ibus-m17n-1.4.36.tar.gz 662691 BLAKE2B 19fa7527aa5938a3f6ed0ebe33fd1b916965db191ba857263c508e4be5ec4ace4d65ce96fc03a0e8b614ac75a64a40b9b25cb889701a9f69f0f7a53e343b42fa SHA512 6c839500458ce93d43ed36c30f1b38546cf70440ad246befb835d05b7bbaf90519a23586dc3bebe0c95961e034d181ec5acd25091a8de723c056c159b53e76e5
+DIST ibus-m17n-1.4.37.tar.gz 682898 BLAKE2B c778da2f7f03464cf5d9b37b6feb5ef2e27dde72425a7d7f30d4a9c07d1cac79ead1347e3e1771779cda048926aef2604321bc0b96b219f9b4c39dd1e8149b8c SHA512 fde658bf6be122345da3ea7efbf331dec47092a241ffd39a4d8c9dab514ebb7d1e48a8c391788752133f5b56fcf20f5e9424859cb926662929289cc3a46b7479
diff --git a/app-i18n/ibus-m17n/ibus-m17n-1.4.37.ebuild b/app-i18n/ibus-m17n/ibus-m17n-1.4.37.ebuild
new file mode 100644
index 0000000000000..213ab254c2829
--- /dev/null
+++ b/app-i18n/ibus-m17n/ibus-m17n-1.4.37.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit gnome2-utils xdg
+
+DESCRIPTION="M17N engine for IBus"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk gtk3 nls"
+REQUIRED_USE="?? ( gtk gtk3 )"
+
+DEPEND="app-i18n/ibus
+ dev-libs/m17n-lib
+ gtk? ( gui-libs/gtk:4 )
+ gtk3? ( x11-libs/gtk+:3 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}
+ >=dev-db/m17n-db-1.7"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ --with-gtk=$(usex gtk 4.0 $(usex gtk3 3.0 no))
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-i18n/ibus-m17n/metadata.xml b/app-i18n/ibus-m17n/metadata.xml
index c2feaa149eb06..eec95b098fdb7 100644
--- a/app-i18n/ibus-m17n/metadata.xml
+++ b/app-i18n/ibus-m17n/metadata.xml
@@ -9,6 +9,9 @@
The M17N engine for IBus. It allows input of many languages using the input
table maps from dev-libs/m17n-lib.
+
cpe:/a:ibus_project:ibus-m17n
ibus/ibus-m17n
diff --git a/app-i18n/ibus-table/Manifest b/app-i18n/ibus-table/Manifest
index c7642aa529c52..f89e01303d39b 100644
--- a/app-i18n/ibus-table/Manifest
+++ b/app-i18n/ibus-table/Manifest
@@ -1 +1,2 @@
DIST ibus-table-1.17.16.tar.gz 1628244 BLAKE2B 973c25955afac921a1146fca59d459066d2250962e3150fa1345c345f0d5405d97dcabd82a4317c7644158228c92eeff06edd7c45bd1ebb3061c2b5d00fef30f SHA512 e7d9102b85f1f96470afdee270ca630e9b54cd668c29173740ee9e504d9977fd1569f3c0b64323b30c5afd71493b095a84f34175b07c5db453f89b935075083e
+DIST ibus-table-1.17.17.tar.gz 1662181 BLAKE2B 8cfb8ffe97d8a5e02f526c96d6e5f55e77cc8632b4bab9cfa4ced13b5baf9d5d1c68de301b239b8a9d421aca0f02fe901e077b65744fad999220e7de6a95611c SHA512 88a084e9f495db482a71e07d665ec097c823f02e92e57957fd36ef6aaf9fd7a59f09bef6d62ab5e973e2f98845e096c7b80951ddf44f41d80eaa8eb3869fc8c9
diff --git a/app-i18n/ibus-table/ibus-table-1.17.17.ebuild b/app-i18n/ibus-table/ibus-table-1.17.17.ebuild
new file mode 100644
index 0000000000000..f9283d2e0d3c4
--- /dev/null
+++ b/app-i18n/ibus-table/ibus-table-1.17.17.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit gnome2-utils python-single-r1 xdg
+
+DESCRIPTION="Tables engines for IBus"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+SRC_URI="https://github.com/kaio/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls"
+RESTRICT="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ app-i18n/ibus[python(+),${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ virtual/libiconv
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ python_fix_shebang .
+
+ default
+}
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-i18n/ibus-typing-booster/Manifest b/app-i18n/ibus-typing-booster/Manifest
index 1610124471cf5..c91f760b1cccc 100644
--- a/app-i18n/ibus-typing-booster/Manifest
+++ b/app-i18n/ibus-typing-booster/Manifest
@@ -1,3 +1,2 @@
-DIST ibus-typing-booster-2.28.3.tar.gz 14611485 BLAKE2B 1eaeb28524d632678d9dbf7827d09c7df07ff2e284676432e58c219e3d189a401f5d2e15c636672c954ee5a38690e53036ebae4f5013aa7f11ed2737629e47a6 SHA512 9c7cc6381c1e7b7eb68af3c22778ecce287b8c28b9e11f86a680cd5f7fe66c33b63739d55d1e8e899ae75a467b49bf11cb6d54206d16ceab9291e1cb805657f8
-DIST ibus-typing-booster-2.28.4.tar.gz 14630572 BLAKE2B 17a5c2d8c6f91cfc8b4b5036a614a621ead3770dfe338d75eb66d285d1a4ca6ffcfa95811c34642fa0ba316950c36c650ddb345241ac31832a66ef1f18d1339c SHA512 0322a3e21f75a76c834a86d0a82f6f4afd0da81b272862f65bc228c6fde434ca4fe635ec9743374d027c82682c72d37cb62e30d32cc8f98114ce5201ec8777ec
DIST ibus-typing-booster-2.28.6.tar.gz 14633258 BLAKE2B da6b7b368cda17a860b8c77bc6a8f75173f71d2ed3dadf289fbca81478f81ecd4f8a9b09df949b6c7e202d7fac0f3f500dc2301091997e205b0c7e3b4a31da66 SHA512 b2f69c4f428146903a7b0fd5d9b940824a75e4bdb8532875479939d8add0dc3cfbedd4648ccd64f5bf09dc7122f2659834fc872cc1b7582b337483ff4294d7ed
+DIST ibus-typing-booster-2.30.0.tar.gz 14692996 BLAKE2B 9420124f6cd8d0a86afcc831be9754a6562c60e0e6a8b4b9e41fd1210de34a45d92babb14c8bd6d54ef487ae9c9d6ec287ed5535a9f672a7c7329615d27f7ab8 SHA512 4100d741a7738198599be9ffbab0d7b3b17184580b3fa61fb99254230402b558cc70a98856123933df1e7c2b65d342829d46f546d48fc1e4ba89d31c4288a0da
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.3.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.3.ebuild
deleted file mode 100644
index e8cc53343e75b..0000000000000
--- a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-PYTHON_COMPAT=( python3_{10..13} )
-PYTHON_REQ_USE="sqlite(+)"
-
-inherit gnome2-utils python-single-r1 xdg
-
-DESCRIPTION="Completion input method for IBus"
-HOMEPAGE="https://mike-fabian.github.io/ibus-typing-booster"
-SRC_URI="https://github.com/mike-fabian/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-RESTRICT="test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- dev-libs/m17n-lib
- $(python_gen_cond_dep '
- app-i18n/ibus[python(+),${PYTHON_USEDEP}]
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pyenchant[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/pyxdg[${PYTHON_USEDEP}]
- ')"
-RDEPEND="${DEPEND}
- >=dev-db/m17n-db-1.7"
-BDEPEND="sys-devel/gettext
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- sed -i "s|/usr\(/bin/sh\)|\1|" {engine,setup}/*.in
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.6.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.6.ebuild
index b05f4dd9dd7fd..4f16d8c0f9901 100644
--- a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.6.ebuild
+++ b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/mike-fabian/${PN}/releases/download/${PV}/${P}.tar.g
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RESTRICT="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.4.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.30.0.ebuild
similarity index 96%
rename from app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.4.ebuild
rename to app-i18n/ibus-typing-booster/ibus-typing-booster-2.30.0.ebuild
index b05f4dd9dd7fd..ea16e01f88ff7 100644
--- a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.28.4.ebuild
+++ b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.30.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
diff --git a/app-text/po4a/Manifest b/app-text/po4a/Manifest
index 408e4a5fe3266..3baa2347cd9e9 100644
--- a/app-text/po4a/Manifest
+++ b/app-text/po4a/Manifest
@@ -1,2 +1 @@
-DIST po4a-0.73.tar.gz 5117198 BLAKE2B 3072c3a55751610e565b71a754d79b20529d8d6f1cfd2e1c691b6de77c3a13b8a5f1c3306be4574627a0078b27f32fe38864faca5c6c03da6a92049387476f72 SHA512 5860af1da2a0ab1875a994b09ae2da481c12a6777655610e8c8ded4a6132048a33aeea10eaa756a73af1a7bf1e3e65f7ab5ded9d799904ae3240c6ec3b0a31d2
DIST po4a-0.74.tar.gz 5907018 BLAKE2B 0b349840faad2625854738db980ae3586a8a7758be956cd19e5ff1966594c1546e0f407e5184bd90633968f97e525a45d61bd0bef94f93c43a531b19be343389 SHA512 2156b95a62788694b4c47dc651f7a0571b2e15159d6d8bcee0c6b0538aecd5b81012ae76e15ef333a7662f6b1e59b717f8bbe8137126042ae2cfe614db5b6d66
diff --git a/app-text/po4a/files/po4a-0.73-man.patch b/app-text/po4a/files/po4a-0.73-man.patch
deleted file mode 100644
index b166887283cb2..0000000000000
--- a/app-text/po4a/files/po4a-0.73-man.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Po4aBuilder.pm
-+++ b/Po4aBuilder.pm
-@@ -242,7 +242,6 @@
- }
- $parser->parse_from_file( $file, $out );
-
-- system("gzip -9 -n -f $out") and die;
- unlink "$file" || die;
- }
-
-@@ -264,7 +263,6 @@
- print "Convert $outdir/$outfile.$section (online docbook.xsl file). ";
- system("xsltproc -o $outdir/$outfile.$section --nonet $docbook_xsl_url $file") and die;
- }
-- system("gzip -9 -n -f $outdir/$outfile.$section") and die;
- }
- unlink "$file" || die;
- }
diff --git a/app-text/po4a/files/po4a-perl5.40.patch b/app-text/po4a/files/po4a-perl5.40.patch
deleted file mode 100644
index 221e45f79198a..0000000000000
--- a/app-text/po4a/files/po4a-perl5.40.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/938967
-https://github.com/mquinson/po4a/commit/28fe52651eb8096d97d6bd3a97b3168522ba5306.patch
-
-From 28fe52651eb8096d97d6bd3a97b3168522ba5306 Mon Sep 17 00:00:00 2001
-From: Martin Quinson
-Date: Fri, 12 Jul 2024 10:21:34 +0200
-Subject: [PATCH] Fix failures with DynaLoader on Perl 5.40
-
-Thanks to dstoecker for the patch provided in the OpenSuse package,
-and to ana for pointing me to it.
-
-Fixes https://github.com/mquinson/po4a/issues/508
----
- lib/Locale/Po4a/TransTractor.pm | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/Locale/Po4a/TransTractor.pm b/lib/Locale/Po4a/TransTractor.pm
-index 7bf59ef05..7b6112433 100644
---- a/lib/Locale/Po4a/TransTractor.pm
-+++ b/lib/Locale/Po4a/TransTractor.pm
-@@ -5,6 +5,8 @@ require Exporter;
- package Locale::Po4a::TransTractor;
- use DynaLoader;
-
-+sub import { }
-+
- use 5.16.0;
- use strict;
- use warnings;
diff --git a/app-text/po4a/po4a-0.73-r1.ebuild b/app-text/po4a/po4a-0.73-r1.ebuild
deleted file mode 100644
index b04a7bce787f9..0000000000000
--- a/app-text/po4a/po4a-0.73-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-PLOCALES="ace af ar ca cs da de eo es et eu fr hr hu id it ja ka kn ko nb nl pl pt pt_BR ru sl sr sr_Cyrl sv uk vi zh_Hans zh_Hant"
-
-inherit perl-module plocale
-
-DESCRIPTION="Tools to ease the translation of documentation"
-HOMEPAGE="https://po4a.org/"
-SRC_URI="https://github.com/mquinson/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="app-text/opensp
- dev-libs/libxslt
- dev-perl/Locale-gettext
- dev-perl/Pod-Parser
- dev-perl/SGMLSpm
- dev-perl/Syntax-Keyword-Try
- dev-perl/TermReadKey
- dev-perl/Text-WrapI18N
- dev-perl/Unicode-LineBreak
- dev-perl/YAML-Tiny
- sys-devel/gettext"
-DEPEND="${RDEPEND}"
-BDEPEND="app-text/docbook-xml-dtd:4.1.2
- app-text/docbook-xsl-stylesheets
- dev-perl/Module-Build
- sys-devel/gettext
- test? (
- app-text/docbook-sgml-dtd:4.1
- dev-perl/Test-Pod
- virtual/latex-base
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-man.patch
- "${FILESDIR}"/${PN}-perl5.40.patch # bug #938967
-)
-
-DIST_TEST="do"
-
-src_prepare() {
- plocale_find_changes "${S}/po/bin" '' '.po'
-
- rm_locale() {
- PERL_RM_FILES+=( po/{bin,pod}/${1}.po )
- }
- plocale_for_each_disabled_locale rm_locale
-
- perl-module_src_prepare
-}
diff --git a/eclass/sysroot.eclass b/eclass/sysroot.eclass
index f17d6bcec2b4b..5775e409da024 100644
--- a/eclass/sysroot.eclass
+++ b/eclass/sysroot.eclass
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: sysroot.eclass
@@ -83,7 +83,14 @@ sysroot_make_run_prefixed() {
if [[ ${QEMU_ARCH} == $(qemu_arch "${CBUILD}") ]]; then
# glibc: ld.so is a symlink, ldd is a binary.
# musl: ld.so doesn't exist, ldd is a symlink.
- local DLINKER=$(find "${MYEROOT}"/usr/bin/{ld.so,ldd} -type l -print -quit 2>/dev/null || die "failed to find dynamic linker")
+ local DLINKER candidate
+ for candidate in "${MYEROOT}"/usr/bin/{ld.so,ldd}; do
+ if [[ -L ${candidate} ]]; then
+ DLINKER=${candidate}
+ break
+ fi
+ done
+ [[ -n ${DLINKER} ]] || die "failed to find dynamic linker"
# musl symlinks ldd to ld-musl.so to libc.so. We want the ld-musl.so
# path, not the libc.so path, so don't resolve the symlinks entirely.