From f9a583991092848eb54269744b512063a4d59de0 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Sun, 19 Nov 2023 05:02:03 +0000
Subject: gentoo auto-resync : 19:11:2023 - 05:02:03

---
 app-i18n/Manifest.gz                               | Bin 17373 -> 17372 bytes
 app-i18n/ibus/Manifest                             |   9 +-
 .../ibus-1.5.26-src-Fix-refcounting-issues.patch   | 273 ---------------------
 app-i18n/ibus/ibus-1.5.26-r1.ebuild                | 227 -----------------
 app-i18n/ibus/ibus-1.5.28-r1.ebuild                | 240 ------------------
 app-i18n/ibus/ibus-1.5.28.ebuild                   | 231 -----------------
 app-i18n/ibus/ibus-1.5.29.ebuild                   | 234 ++++++++++++++++++
 7 files changed, 236 insertions(+), 978 deletions(-)
 delete mode 100644 app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
 delete mode 100644 app-i18n/ibus/ibus-1.5.26-r1.ebuild
 delete mode 100644 app-i18n/ibus/ibus-1.5.28-r1.ebuild
 delete mode 100644 app-i18n/ibus/ibus-1.5.28.ebuild
 create mode 100644 app-i18n/ibus/ibus-1.5.29.ebuild

(limited to 'app-i18n')

diff --git a/app-i18n/Manifest.gz b/app-i18n/Manifest.gz
index d755d3aeddb9..105a86882151 100644
Binary files a/app-i18n/Manifest.gz and b/app-i18n/Manifest.gz differ
diff --git a/app-i18n/ibus/Manifest b/app-i18n/ibus/Manifest
index cbd6a520713f..d3eba48ce770 100644
--- a/app-i18n/ibus/Manifest
+++ b/app-i18n/ibus/Manifest
@@ -1,12 +1,7 @@
-AUX ibus-1.5.26-src-Fix-refcounting-issues.patch 9275 BLAKE2B c9035aa6877848cd8f23f10390b4d7976db67b95ec36e7b391fd09fdfc986b65025a47477be15cf0b3c0c8c42455238989dc7e7bd09a3f63193d7a6cdf0caff0 SHA512 4905b18eb0148e0e5f567badf9046b9613fe1079510e34bfaf5313d1fc62409ce0b7ef76d7cd19524a83543ee48d1e0ff57da52e1e4a660ea9bc5b178e965aac
-DIST ibus-1.5.26.tar.gz 3715263 BLAKE2B 80eb293b028d431b76c015c6d6d9fea92888554f6f34ec126853df189746d9976569ec2380146187d13337a011668b1f15fc57a95284658c8afc7824a67b5898 SHA512 923607c17114af673dcc36532fb44a278b61161ee1b7d4e01b2e0dcffc40c95eb91c6416acc9c0da0333e933863e15263e9a5ff1e467cfc02b71398d601b9714
 DIST ibus-1.5.27.tar.gz 3779541 BLAKE2B e98f775cd62036ae02dafd984933343e99390a6a1e77b672feb4bc00dd1d423126227bded2d22b8bc9fa214e572ea906c407658de8ee20e036f8753836d68f46 SHA512 b5f3ae555d19eb780a416383e6351ed2cd8834fcc2bc4ebe4f4a194fc934dd055c5e782f9ec382fb21e1e2103c5409804174a79d192b5494a9018ce9081305e4
-DIST ibus-1.5.28-upstream-patches-0.tar.xz 23820 BLAKE2B 773736257e166170060458ad66b99889d2e54ef480504fe86ee65bc41364243ddcb5c7625aaa66a3e266c735d024c4f6c51d559484214d1f1c04a30479ccba62 SHA512 5555162bcb129f9e07c135c921c778de080aeaec81d56bedcf62d3b568cf39515e41662790c5a3d34241586d58785b887bbbaa7a75f486338968e3a496aa6433
-DIST ibus-1.5.28.tar.gz 3871246 BLAKE2B 7117c09e708df8a08e6684cc1096f38873503eb2c7937e0e3b02aeff678c96b3e2fc59fa4dfc7a11275b2e1b3349ae136041f8f4730aadc66339914b77c577d3 SHA512 5bfb9158a5810d38af900775ed30406823872c431ef4772b476afa7b58c120ef508a51b961620ea6003549f1f49cf05484992beee8677b138f1162afc73ab247
 DIST ibus-1.5.29-rc1.tar.gz 3989492 BLAKE2B c99f42fcd18bed240bf5e9f5b406bc879b05b12f3d0c14713e21b8c99fbcde32cd880dead1374731914289c022b1f160d9961bdbd9e9a0a3ced86949c5beb811 SHA512 776a01bcfd730be67e0f7d730f7b4b0a586d39744deb605359330a1786542acae52efbc085c39b8417b20164e45c259b40b29725f53fb1b69e2b340778ff28dc
-EBUILD ibus-1.5.26-r1.ebuild 5533 BLAKE2B 75716903dc3b6ad5034c22dcd2bdaf60ec07170d2f23cebcf5e9685ae5799ea5158ea041a37210d3d2b74c8338f501c9729af450c814f0cc2f20596620084564 SHA512 8431264247a824557e20dfce4e440edef9f34c694f27b0c6671e699ac32d124ee1119378e1e0004f4f05cfd9cf16284b281efc1fa4c1df31f5972230b961505e
+DIST ibus-1.5.29-rc2.tar.gz 3991416 BLAKE2B c185c0cf8af79a80ee04f414e13c4b58bd2f18891851d2f018713848b3bc0fe0516c8c0cf8f64204040f10b6b4a5304c8be6305449d7290b5d08412246d3af40 SHA512 47dd39c9615783b6c157a25e8a2506dc2e1f440d56aa649ee8cb95a390cb4efab9c95e72ac84b5d042c25e350599b4d352ddc66f1385af6660d4a7a296e44ca7
 EBUILD ibus-1.5.27.ebuild 5700 BLAKE2B 58c61606ed583acd02ffcce71b9c92ff066307955de07e9939acf730f55d73b220d8913d3c9e5ea506b62c3f90b9cad09ac6e463e5aa129ad154a366c99fbc57 SHA512 58614dfd8df3b59b6962f76f44679eb1663d909538b8a6f4ca0e591b4a4c98ca83d8cc663e54232928d3e35d1899f80ffa081deb95a59f1e09f6cc361cf6b83b
-EBUILD ibus-1.5.28-r1.ebuild 6032 BLAKE2B 1be3511a08ecab5c8957161a69a78759967a1249d462d59879c8fbac9729165fd467ee86292cea0fc8738118a03601d3fb6f7fc879daeefdd73cab5ab2b3341a SHA512 95ecf15f596bf1d9ee8d0e3d86c33c6acd3cc3826b39d7a6967d356c4b89c5b60bebca5862878d55ee3610725ae3453a29f60defdb08fd8eab69e382d11b618d
-EBUILD ibus-1.5.28.ebuild 5707 BLAKE2B 91f9c3df682d60ebd42679e518ac1d2697c6a6c5f94a63ebde283d2c9e63dbc55181f28fcd03eb5324bb9a3c4ff6753f6bd1d4ff4262b0a8d7f0c018d0635f29 SHA512 164902af52536db045b4be5ab9b9b4404f3939d1861628797598773ad61d293d99a7cd823a37fe36553aac0eb35c79839944297a8262729c0cbf3ff0a1b119d2
+EBUILD ibus-1.5.29.ebuild 5862 BLAKE2B 32a4bb7e32425147fdda04fefe9e5af03781cfe260738f8ee7c2c3406585d1553703104ff6b8ea65c25efa21899df3e797604243eaeeeccd9b3b00aa283717c4 SHA512 6db5b3a8be3ccac41a77919a03f6fef972aa5b2872bf8d0721f7792b27dd47710f74ecf47cc2fadba5e937fda6aa43eefe75a494f7050feeae3c16ea982ebb2c
 EBUILD ibus-1.5.29_rc1.ebuild 5714 BLAKE2B 215a97916fb65f78803939cce1cb55ea9207e7c7a5e334083927f8dccf6ddba63e1a7f4a749013d3e75b066d84c17eb205a5578fca70dcbb488d2adaf55c9e72 SHA512 1df4b581c9b04d614cdaa4a29bbc2ddad679caa2e2e5114213dc3f403e9abd3d94235f4ef7f9a1ec87117361c30c691d0d085892953adb2d9db5e98267ba3274
 MISC metadata.xml 989 BLAKE2B 9103c61af6f3766fa483864877a674455d0a47a2e7fc1e7ef0f62d835e1f57d6c71816737c64938babd5f29a7228d67f64c1d7aaaae0e9b10cc793ed373a698c SHA512 1552ed06ec527f6c9868b2b006b1d5d7bdc7101d34d4c4438eba6de74f398744a2720e31f73dc203f034631aa900db0a2ad8d429a67e577b69005cda1440f1ef
diff --git a/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch b/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
deleted file mode 100644
index 5bd610024a1b..000000000000
--- a/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-https://github.com/ibus/ibus/issues/2387
-https://bugs.gentoo.org/843725
-
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551b..7981de38 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088..cd8a0e2a 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
--- 
-2.35.1
-
diff --git a/app-i18n/ibus/ibus-1.5.26-r1.ebuild b/app-i18n/ibus/ibus-1.5.26-r1.ebuild
deleted file mode 100644
index 03751566910e..000000000000
--- a/app-i18n/ibus/ibus-1.5.26-r1.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx xdg-utils
-
-GENTOO_VER=
-DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
-HOMEPAGE="https://github.com/ibus/ibus/wiki"
-
-[[ -n ${GENTOO_VER} ]] && \
-	GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz
-	${GENTOO_PATCHSET_URI}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
-IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection nls +python systemd test +unicode vala wayland"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
-	appindicator? ( gtk3 )
-	python? (
-		${PYTHON_REQUIRED_USE}
-		introspection
-	)
-	test? ( gtk3 )
-	vala? ( introspection )
-	X? ( gtk3 )
-"
-DEPEND="
-	app-text/iso-codes
-	>=dev-libs/glib-2.65.0:2
-	gnome-base/dconf
-	gnome-base/librsvg:2
-	sys-apps/dbus[X?]
-	X? (
-		x11-libs/libX11
-		>=x11-libs/libXfixes-6.0.0
-	)
-	gtk2? ( x11-libs/gtk+:2 )
-	gtk3? ( x11-libs/gtk+:3 )
-	gtk4? ( gui-libs/gtk:4 )
-	gui? (
-		x11-libs/libX11
-		x11-libs/libXi
-	)
-	introspection? ( dev-libs/gobject-introspection )
-	nls? ( virtual/libintl )
-	python? (
-		${PYTHON_DEPS}
-		dev-python/pygobject:3[${PYTHON_USEDEP}]
-	)
-	wayland? (
-		dev-libs/wayland
-		x11-libs/libxkbcommon
-	)"
-RDEPEND="${DEPEND}
-	python? (
-		gui? (
-			x11-libs/gtk+:3[introspection]
-		)
-	)"
-BDEPEND="
-	$(vala_depend)
-	dev-libs/glib:2
-	dev-util/glib-utils
-	virtual/pkgconfig
-	x11-misc/xkeyboard-config
-	emoji? (
-		app-i18n/unicode-cldr
-		app-i18n/unicode-emoji
-	)
-	nls? ( sys-devel/gettext )
-	unicode? ( app-i18n/unicode-data )"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-src-Fix-refcounting-issues.patch
-)
-
-src_prepare() {
-	vala_src_prepare --ignore-use
-	sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
-	if ! has_version 'x11-libs/gtk+:3[wayland]'; then
-		touch ui/gtk3/panelbinding.vala \
-			ui/gtk3/emojierapp.vala || die
-	fi
-	if ! use emoji; then
-		touch \
-			tools/main.vala \
-			ui/gtk3/panel.vala || die
-	fi
-	if ! use appindicator; then
-		touch ui/gtk3/panel.vala || die
-	fi
-	if [[ -n ${GENTOO_VER} ]]; then
-		einfo "Try to apply Gentoo specific patch set"
-		eapply "${WORKDIR}"/patches-gentoo/*.patch
-	fi
-
-	# for multiple Python implementations
-	sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die
-	# fix for parallel install
-	sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die
-	# require user interaction
-	sed -i "/^TESTS += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die
-
-	sed -i "/^bash_completion/d" tools/Makefile.am || die
-
-	default
-	eautoreconf
-	xdg_environment_reset
-}
-
-src_configure() {
-	local unicodedir="${EPREFIX}"/usr/share/unicode
-	local python_conf=()
-	if use python; then
-		python_setup
-		python_conf+=(
-			$(use_enable gui setup)
-			--with-python=${EPYTHON}
-		)
-	else
-		python_conf+=( --disable-setup )
-	fi
-
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		mkdir -p "${S}-build"
-		pushd "${S}-build" >/dev/null 2>&1 || die
-		ECONF_SOURCE=${S} econf_build --enable-static \
-			--disable-{dconf,gtk{2,3},python-library,shared,xim} \
-			ISOCODES_{CFLAG,LIB}S=-DSKIP \
-			$(use_enable emoji emoji-dict) \
-			$(use_enable unicode unicode-dict) \
-			$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		popd >/dev/null 2>&1 || die
-	fi
-
-	local myconf=(
-		$(use_enable X xim)
-		$(use_enable appindicator)
-		$(use_enable emoji emoji-dict)
-		$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji)
-		$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations)
-		$(use_enable gtk2)
-		$(use_enable gtk3)
-		$(use_enable gtk4)
-		$(use_enable gui ui)
-		$(use_enable introspection)
-		$(use_enable nls)
-		$(use_enable systemd systemd-services)
-		$(use_enable test tests)
-		$(use_enable unicode unicode-dict)
-		$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		$(use_enable vala)
-		$(use_enable wayland)
-		"${python_conf[@]}"
-	)
-	econf "${myconf[@]}"
-}
-
-src_compile() {
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		emake -C "${S}-build/src" \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		emake -C src \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		cp \
-			$(usex emoji "${S}-build/src/emoji-parser" '') \
-			$(usex unicode "${S}-build/src/unicode-parser" '') \
-			src || die
-	fi
-	emake
-}
-
-src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	virtx emake -j1 check
-}
-
-src_install() {
-	default
-	find "${ED}" -name '*.la' -delete || die
-
-	if use python; then
-		python_install() {
-			emake -C bindings/pygobject \
-				pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
-				DESTDIR="${D}" \
-				install
-
-			python_optimize
-		}
-		python_foreach_impl python_install
-	fi
-
-	keepdir /usr/share/ibus/engine
-
-	newbashcomp tools/${PN}.bash ${PN}
-
-	insinto /etc/X11/xinit/xinput.d
-	newins xinput-${PN} ${PN}.conf
-
-	# Undo compression of man page
-	find "${ED}"/usr/share/man -type f -name '*.gz' -exec gzip -d {} \; || die
-}
-
-pkg_postinst() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-	dconf update
-}
-
-pkg_postrm() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-}
diff --git a/app-i18n/ibus/ibus-1.5.28-r1.ebuild b/app-i18n/ibus/ibus-1.5.28-r1.ebuild
deleted file mode 100644
index 7bec97c52d98..000000000000
--- a/app-i18n/ibus/ibus-1.5.28-r1.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx xdg-utils
-
-UPSTREAM_VER=0
-GENTOO_VER=
-DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
-HOMEPAGE="https://github.com/ibus/ibus/wiki"
-
-[[ -n ${UPSTREAM_VER} ]] && \
-	UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
-[[ -n ${GENTOO_VER} ]] && \
-	GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz
-	${UPSTREAM_PATCHSET_URI} ${GENTOO_PATCHSET_URI}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
-	appindicator? ( gtk3 )
-	python? (
-		${PYTHON_REQUIRED_USE}
-		introspection
-	)
-	test? ( gtk3 )
-	vala? ( introspection )
-	X? ( gtk3 )
-"
-DEPEND="
-	app-text/iso-codes
-	>=dev-libs/glib-2.65.0:2
-	gnome-base/dconf
-	gnome-base/librsvg:2
-	sys-apps/dbus[X?]
-	X? (
-		x11-libs/libX11
-		>=x11-libs/libXfixes-6.0.0
-	)
-	gtk2? ( x11-libs/gtk+:2 )
-	gtk3? ( x11-libs/gtk+:3 )
-	gtk4? ( gui-libs/gtk:4 )
-	gui? (
-		x11-libs/libX11
-		x11-libs/libXi
-	)
-	introspection? ( dev-libs/gobject-introspection )
-	libnotify? ( x11-libs/libnotify )
-	nls? ( virtual/libintl )
-	python? (
-		${PYTHON_DEPS}
-		dev-python/pygobject:3[${PYTHON_USEDEP}]
-	)
-	wayland? (
-		dev-libs/wayland
-		x11-libs/libxkbcommon
-	)"
-RDEPEND="${DEPEND}
-	python? (
-		gui? (
-			x11-libs/gtk+:3[introspection]
-		)
-	)"
-BDEPEND="
-	$(vala_depend)
-	dev-libs/glib:2
-	dev-util/glib-utils
-	virtual/pkgconfig
-	x11-misc/xkeyboard-config
-	emoji? (
-		app-i18n/unicode-cldr
-		app-i18n/unicode-emoji
-	)
-	nls? ( sys-devel/gettext )
-	test? ( x11-apps/setxkbmap )
-	unicode? ( app-i18n/unicode-data )"
-
-src_prepare() {
-	vala_src_prepare --ignore-use
-	if ! has_version 'x11-libs/gtk+:3[wayland]'; then
-		touch ui/gtk3/panelbinding.vala \
-			ui/gtk3/panel.vala \
-			ui/gtk3/emojierapp.vala || die
-	fi
-	if ! use emoji; then
-		touch \
-			tools/main.vala \
-			ui/gtk3/panel.vala || die
-	fi
-	if ! use appindicator; then
-		touch ui/gtk3/panel.vala || die
-	fi
-
-	if [[ -n ${UPSTREAM_VER} ]]; then
-		einfo "Try to apply Upstream specific patch set"
-		eapply "${WORKDIR}"/patches-upstream/*.patch
-	fi
-
-	if [[ -n ${GENTOO_VER} ]]; then
-		einfo "Try to apply Gentoo specific patch set"
-		eapply "${WORKDIR}"/patches-gentoo/*.patch
-	fi
-
-	# for multiple Python implementations
-	sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die
-	# fix for parallel install
-	sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die
-	# require user interaction
-	sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die
-
-	sed -i "/^bash_completion/d" tools/Makefile.am || die
-
-	default
-	eautoreconf
-	xdg_environment_reset
-}
-
-src_configure() {
-	local unicodedir="${EPREFIX}"/usr/share/unicode
-	local python_conf=()
-	if use python; then
-		python_setup
-		python_conf+=(
-			$(use_enable gui setup)
-			--with-python=${EPYTHON}
-		)
-	else
-		python_conf+=( --disable-setup )
-	fi
-
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		mkdir -p "${S}-build"
-		pushd "${S}-build" >/dev/null 2>&1 || die
-		ECONF_SOURCE=${S} econf_build --enable-static \
-			--disable-{dconf,gtk{2,3},python-library,shared,xim} \
-			ISOCODES_{CFLAG,LIB}S=-DSKIP \
-			$(use_enable emoji emoji-dict) \
-			$(use_enable unicode unicode-dict) \
-			$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		popd >/dev/null 2>&1 || die
-	fi
-
-	local myconf=(
-		$(use_enable X xim)
-		$(use_enable appindicator)
-		$(use_enable emoji emoji-dict)
-		$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji)
-		$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations)
-		$(use_enable gtk2)
-		$(use_enable gtk3)
-		$(use_enable gtk4)
-		$(use_enable gui ui)
-		$(use_enable introspection)
-		$(use_enable libnotify)
-		$(use_enable nls)
-		$(use_enable systemd systemd-services)
-		$(use_enable test tests)
-		$(use_enable unicode unicode-dict)
-		$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		$(use_enable vala)
-		$(use_enable wayland)
-		"${python_conf[@]}"
-	)
-	econf "${myconf[@]}"
-}
-
-src_compile() {
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		emake -C "${S}-build/src" \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		emake -C src \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		cp \
-			$(usex emoji "${S}-build/src/emoji-parser" '') \
-			$(usex unicode "${S}-build/src/unicode-parser" '') \
-			src || die
-	fi
-	emake
-}
-
-src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	virtx emake -j1 check
-}
-
-src_install() {
-	default
-	# Remove la files
-	find "${ED}" -name '*.la' -delete || die
-
-	# Remove stray python files generated by the build system
-	find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
-	find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
-
-	if use python; then
-		python_install() {
-			emake -C bindings/pygobject \
-				pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
-				DESTDIR="${D}" \
-				install
-
-			python_optimize
-		}
-		python_foreach_impl python_install
-	fi
-
-	keepdir /usr/share/ibus/engine
-
-	newbashcomp tools/${PN}.bash ${PN}
-
-	insinto /etc/X11/xinit/xinput.d
-	newins xinput-${PN} ${PN}.conf
-
-	# Undo compression of man page
-	find "${ED}"/usr/share/man -type f -name '*.gz' -exec gzip -d {} \; || die
-}
-
-pkg_postinst() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-	dconf update
-}
-
-pkg_postrm() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-}
diff --git a/app-i18n/ibus/ibus-1.5.28.ebuild b/app-i18n/ibus/ibus-1.5.28.ebuild
deleted file mode 100644
index 41f883c5e2b9..000000000000
--- a/app-i18n/ibus/ibus-1.5.28.ebuild
+++ /dev/null
@@ -1,231 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx xdg-utils
-
-GENTOO_VER=
-DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
-HOMEPAGE="https://github.com/ibus/ibus/wiki"
-
-[[ -n ${GENTOO_VER} ]] && \
-	GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz
-	${GENTOO_PATCHSET_URI}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
-	appindicator? ( gtk3 )
-	python? (
-		${PYTHON_REQUIRED_USE}
-		introspection
-	)
-	test? ( gtk3 )
-	vala? ( introspection )
-	X? ( gtk3 )
-"
-DEPEND="
-	app-text/iso-codes
-	>=dev-libs/glib-2.65.0:2
-	gnome-base/dconf
-	gnome-base/librsvg:2
-	sys-apps/dbus[X?]
-	X? (
-		x11-libs/libX11
-		>=x11-libs/libXfixes-6.0.0
-	)
-	gtk2? ( x11-libs/gtk+:2 )
-	gtk3? ( x11-libs/gtk+:3 )
-	gtk4? ( gui-libs/gtk:4 )
-	gui? (
-		x11-libs/libX11
-		x11-libs/libXi
-	)
-	introspection? ( dev-libs/gobject-introspection )
-	libnotify? ( x11-libs/libnotify )
-	nls? ( virtual/libintl )
-	python? (
-		${PYTHON_DEPS}
-		dev-python/pygobject:3[${PYTHON_USEDEP}]
-	)
-	wayland? (
-		dev-libs/wayland
-		x11-libs/libxkbcommon
-	)"
-RDEPEND="${DEPEND}
-	python? (
-		gui? (
-			x11-libs/gtk+:3[introspection]
-		)
-	)"
-BDEPEND="
-	$(vala_depend)
-	dev-libs/glib:2
-	dev-util/glib-utils
-	virtual/pkgconfig
-	x11-misc/xkeyboard-config
-	emoji? (
-		app-i18n/unicode-cldr
-		app-i18n/unicode-emoji
-	)
-	nls? ( sys-devel/gettext )
-	test? ( x11-apps/setxkbmap )
-	unicode? ( app-i18n/unicode-data )"
-
-src_prepare() {
-	vala_src_prepare --ignore-use
-	if ! has_version 'x11-libs/gtk+:3[wayland]'; then
-		touch ui/gtk3/panelbinding.vala \
-			ui/gtk3/panel.vala \
-			ui/gtk3/emojierapp.vala || die
-	fi
-	if ! use emoji; then
-		touch \
-			tools/main.vala \
-			ui/gtk3/panel.vala || die
-	fi
-	if ! use appindicator; then
-		touch ui/gtk3/panel.vala || die
-	fi
-	if [[ -n ${GENTOO_VER} ]]; then
-		einfo "Try to apply Gentoo specific patch set"
-		eapply "${WORKDIR}"/patches-gentoo/*.patch
-	fi
-
-	# for multiple Python implementations
-	sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die
-	# fix for parallel install
-	sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die
-	# require user interaction
-	sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die
-
-	sed -i "/^bash_completion/d" tools/Makefile.am || die
-
-	default
-	eautoreconf
-	xdg_environment_reset
-}
-
-src_configure() {
-	local unicodedir="${EPREFIX}"/usr/share/unicode
-	local python_conf=()
-	if use python; then
-		python_setup
-		python_conf+=(
-			$(use_enable gui setup)
-			--with-python=${EPYTHON}
-		)
-	else
-		python_conf+=( --disable-setup )
-	fi
-
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		mkdir -p "${S}-build"
-		pushd "${S}-build" >/dev/null 2>&1 || die
-		ECONF_SOURCE=${S} econf_build --enable-static \
-			--disable-{dconf,gtk{2,3},python-library,shared,xim} \
-			ISOCODES_{CFLAG,LIB}S=-DSKIP \
-			$(use_enable emoji emoji-dict) \
-			$(use_enable unicode unicode-dict) \
-			$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		popd >/dev/null 2>&1 || die
-	fi
-
-	local myconf=(
-		$(use_enable X xim)
-		$(use_enable appindicator)
-		$(use_enable emoji emoji-dict)
-		$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji)
-		$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations)
-		$(use_enable gtk2)
-		$(use_enable gtk3)
-		$(use_enable gtk4)
-		$(use_enable gui ui)
-		$(use_enable introspection)
-		$(use_enable libnotify)
-		$(use_enable nls)
-		$(use_enable systemd systemd-services)
-		$(use_enable test tests)
-		$(use_enable unicode unicode-dict)
-		$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
-		$(use_enable vala)
-		$(use_enable wayland)
-		"${python_conf[@]}"
-	)
-	econf "${myconf[@]}"
-}
-
-src_compile() {
-	if tc-is-cross-compiler && { use emoji || use unicode; }; then
-		emake -C "${S}-build/src" \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		emake -C src \
-			$(usex emoji emoji-parser '') \
-			$(usex unicode unicode-parser '')
-		cp \
-			$(usex emoji "${S}-build/src/emoji-parser" '') \
-			$(usex unicode "${S}-build/src/unicode-parser" '') \
-			src || die
-	fi
-	emake
-}
-
-src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	virtx emake -j1 check
-}
-
-src_install() {
-	default
-	# Remove la files
-	find "${ED}" -name '*.la' -delete || die
-
-	# Remove stray python files generated by the build system
-	find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
-	find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
-
-	if use python; then
-		python_install() {
-			emake -C bindings/pygobject \
-				pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
-				DESTDIR="${D}" \
-				install
-
-			python_optimize
-		}
-		python_foreach_impl python_install
-	fi
-
-	keepdir /usr/share/ibus/engine
-
-	newbashcomp tools/${PN}.bash ${PN}
-
-	insinto /etc/X11/xinit/xinput.d
-	newins xinput-${PN} ${PN}.conf
-
-	# Undo compression of man page
-	find "${ED}"/usr/share/man -type f -name '*.gz' -exec gzip -d {} \; || die
-}
-
-pkg_postinst() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-	dconf update
-}
-
-pkg_postrm() {
-	use gtk2 && gnome2_query_immodules_gtk2
-	use gtk3 && gnome2_query_immodules_gtk3
-	xdg_icon_cache_update
-	gnome2_schemas_update
-}
diff --git a/app-i18n/ibus/ibus-1.5.29.ebuild b/app-i18n/ibus/ibus-1.5.29.ebuild
new file mode 100644
index 000000000000..6c46f5514b9c
--- /dev/null
+++ b/app-i18n/ibus/ibus-1.5.29.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx
+
+DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+
+MY_PV=$(ver_rs 3 '-')
+MY_PV_DERP="${MY_PV}-rc2" # Upstream retagged rc2 as the final release
+GENTOO_VER=
+[[ -n ${GENTOO_VER} ]] && \
+	GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${PN}-${MY_PV_DERP}.tar.gz
+	${GENTOO_PATCHSET_URI}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+	appindicator? ( gtk3 )
+	python? (
+		${PYTHON_REQUIRED_USE}
+		introspection
+	)
+	test? ( gtk3 )
+	vala? ( introspection )
+	X? ( gtk3 )
+"
+REQUIRED_USE+=" gtk3? ( wayland? ( introspection ) )" # bug 915359
+DEPEND="
+	app-text/iso-codes
+	>=dev-libs/glib-2.65.0:2
+	gnome-base/dconf
+	gnome-base/librsvg:2
+	sys-apps/dbus[X?]
+	X? (
+		x11-libs/libX11
+		>=x11-libs/libXfixes-6.0.0
+	)
+	appindicator? ( dev-libs/libdbusmenu[gtk3?] )
+	gtk2? ( x11-libs/gtk+:2 )
+	gtk3? ( x11-libs/gtk+:3 )
+	gtk4? ( gui-libs/gtk:4 )
+	gui? (
+		x11-libs/libX11
+		x11-libs/libXi
+	)
+	introspection? ( dev-libs/gobject-introspection )
+	libnotify? ( x11-libs/libnotify )
+	nls? ( virtual/libintl )
+	python? (
+		${PYTHON_DEPS}
+		dev-python/pygobject:3[${PYTHON_USEDEP}]
+	)
+	wayland? (
+		dev-libs/wayland
+		x11-libs/libxkbcommon
+	)"
+RDEPEND="${DEPEND}
+	python? (
+		gui? (
+			x11-libs/gtk+:3[introspection]
+		)
+	)"
+BDEPEND="
+	$(vala_depend)
+	dev-libs/glib:2
+	dev-util/glib-utils
+	virtual/pkgconfig
+	x11-misc/xkeyboard-config
+	emoji? (
+		app-i18n/unicode-cldr
+		app-i18n/unicode-emoji
+	)
+	nls? ( sys-devel/gettext )
+	test? ( x11-apps/setxkbmap )
+	unicode? ( app-i18n/unicode-data )"
+
+S=${WORKDIR}/${PN}-${MY_PV_DERP}
+
+src_prepare() {
+	vala_setup --ignore-use
+	if ! has_version 'x11-libs/gtk+:3[wayland]'; then
+		touch ui/gtk3/panelbinding.vala \
+			ui/gtk3/panel.vala \
+			ui/gtk3/emojierapp.vala || die
+	fi
+	if ! use emoji; then
+		touch \
+			tools/main.vala \
+			ui/gtk3/panel.vala || die
+	fi
+	if ! use appindicator; then
+		touch ui/gtk3/panel.vala || die
+	fi
+	if [[ -n ${GENTOO_VER} ]]; then
+		einfo "Try to apply Gentoo specific patch set"
+		eapply "${WORKDIR}"/patches-gentoo/*.patch
+	fi
+
+	# for multiple Python implementations
+	sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die
+	# fix for parallel install
+	sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die
+	# require user interaction
+	sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die
+
+	sed -i "/^bash_completion/d" tools/Makefile.am || die
+
+	default
+	eautoreconf
+	xdg_environment_reset
+}
+
+src_configure() {
+	local unicodedir="${EPREFIX}"/usr/share/unicode
+	local python_conf=()
+	if use python; then
+		python_setup
+		python_conf+=(
+			$(use_enable gui setup)
+			--with-python=${EPYTHON}
+		)
+	else
+		python_conf+=( --disable-setup )
+	fi
+
+	if tc-is-cross-compiler && { use emoji || use unicode; }; then
+		mkdir -p "${S}-build"
+		pushd "${S}-build" >/dev/null 2>&1 || die
+		ECONF_SOURCE=${S} econf_build --enable-static \
+			--disable-{dconf,gtk{2,3},python-library,shared,xim} \
+			ISOCODES_{CFLAG,LIB}S=-DSKIP \
+			$(use_enable emoji emoji-dict) \
+			$(use_enable unicode unicode-dict) \
+			$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
+		popd >/dev/null 2>&1 || die
+	fi
+
+	local myconf=(
+		$(use_enable X xim)
+		$(use_enable appindicator)
+		$(use_enable emoji emoji-dict)
+		$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji)
+		$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations)
+		$(use_enable gtk2)
+		$(use_enable gtk3)
+		$(use_enable gtk4)
+		$(use_enable gui ui)
+		$(use_enable introspection)
+		$(use_enable libnotify)
+		$(use_enable nls)
+		$(use_enable systemd systemd-services)
+		$(use_enable test tests)
+		$(use_enable unicode unicode-dict)
+		$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
+		$(use_enable vala)
+		$(use_enable wayland)
+		"${python_conf[@]}"
+	)
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	if tc-is-cross-compiler && { use emoji || use unicode; }; then
+		emake -C "${S}-build/src" \
+			$(usex emoji emoji-parser '') \
+			$(usex unicode unicode-parser '')
+		emake -C src \
+			$(usex emoji emoji-parser '') \
+			$(usex unicode unicode-parser '')
+		cp \
+			$(usex emoji "${S}-build/src/emoji-parser" '') \
+			$(usex unicode "${S}-build/src/unicode-parser" '') \
+			src || die
+	fi
+	emake
+}
+
+src_test() {
+	unset DBUS_SESSION_BUS_ADDRESS
+	virtx dbus-run-session emake check
+}
+
+src_install() {
+	default
+	# Remove la files
+	find "${ED}" -name '*.la' -delete || die
+
+	# Remove stray python files generated by the build system
+	find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
+	find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
+
+	if use python; then
+		python_install() {
+			emake -C bindings/pygobject \
+				pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
+				DESTDIR="${D}" \
+				install
+
+			python_optimize
+		}
+		python_foreach_impl python_install
+	fi
+
+	keepdir /usr/share/ibus/engine
+
+	newbashcomp tools/${PN}.bash ${PN}
+
+	insinto /etc/X11/xinit/xinput.d
+	newins xinput-${PN} ${PN}.conf
+}
+
+pkg_postinst() {
+	use gtk2 && gnome2_query_immodules_gtk2
+	use gtk3 && gnome2_query_immodules_gtk3
+	xdg_icon_cache_update
+	gnome2_schemas_update
+	dconf update
+}
+
+pkg_postrm() {
+	use gtk2 && gnome2_query_immodules_gtk2
+	use gtk3 && gnome2_query_immodules_gtk3
+	xdg_icon_cache_update
+	gnome2_schemas_update
+}
-- 
cgit v1.2.3