* [PR PATCH] ibus: update to 1.5.29.
@ 2024-01-25 21:26 oreo639
2024-02-05 3:01 ` [PR PATCH] [Updated] " oreo639
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: oreo639 @ 2024-01-25 21:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1232 bytes --]
There is a new pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 34397 bytes --]
From 9cacc3a29380188f44519032cc323179a6a0cad6 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 12 +-
6 files changed, 50 insertions(+), 824 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..af8ea70a59b3f 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,13 +1,13 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
hostmakedepends="pkg-config libtool gettext-devel intltool
@@ -15,15 +15,15 @@ hostmakedepends="pkg-config libtool gettext-devel intltool
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
@ 2024-02-05 3:01 ` oreo639
2024-02-06 3:38 ` oreo639
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-05 3:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 34429 bytes --]
From f7dabeefacb7228280b403281e054c9b8a407332 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 14 +-
6 files changed, 51 insertions(+), 825 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..48e8ee55266d0 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
2024-02-05 3:01 ` [PR PATCH] [Updated] " oreo639
@ 2024-02-06 3:38 ` oreo639
2024-02-06 4:09 ` oreo639
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-06 3:38 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 34481 bytes --]
From 82281c2bf8e3c4a905073f564f8424b1ada6ee4b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 15 +-
6 files changed, 52 insertions(+), 825 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..148676cfa1866 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,30 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
+disable_parallel_build=yes # Avoid issues with GIR
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
2024-02-05 3:01 ` [PR PATCH] [Updated] " oreo639
2024-02-06 3:38 ` oreo639
@ 2024-02-06 4:09 ` oreo639
2024-02-07 20:45 ` oreo639
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-06 4:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 34630 bytes --]
From 7cce44a505d6c23f0ebea66673949946a077597e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 18 +-
6 files changed, 55 insertions(+), 825 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..bc4fbc6af7872 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,6 +33,10 @@ pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
+pre_install() {
+ export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
+}
+
pre_configure() {
autoreconf -fi
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (2 preceding siblings ...)
2024-02-06 4:09 ` oreo639
@ 2024-02-07 20:45 ` oreo639
2024-02-08 0:02 ` oreo639
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-07 20:45 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 40359 bytes --]
From 89978271bc8a934eb30d807ca2f55899378b1224 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...e2f79b384a374b2a69a31c88a4f36e1dd868.patch | 30 ++
...c1fcdc8bbe146e967d004edf63f5994b21f8.patch | 68 +++
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 29 +-
8 files changed, 159 insertions(+), 830 deletions(-)
create mode 100644 srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
create mode 100644 srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch b/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
new file mode 100644
index 0000000000000..aa90efb16e18f
--- /dev/null
+++ b/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
@@ -0,0 +1,30 @@
+From 1be3e2f79b384a374b2a69a31c88a4f36e1dd868 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Wed, 15 Nov 2023 17:19:02 +0900
+Subject: [PATCH] client/gtk2: Call strdup() after g_return_if_fail()
+
+---
+ client/gtk2/ibusimcontext.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index b5a44da0b..cfc08c20b 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -2417,7 +2417,7 @@ _create_input_context_done (IBusBus *bus,
+ static void
+ _create_input_context (IBusIMContext *ibusimcontext)
+ {
+- gchar *prgname = g_strdup (g_get_prgname());
++ gchar *prgname;
+ gchar *client_name;
+ IDEBUG ("%s", __FUNCTION__);
+
+@@ -2425,6 +2425,7 @@ _create_input_context (IBusIMContext *ibusimcontext)
+
+ g_return_if_fail (ibusimcontext->cancellable == NULL);
+
++ prgname = g_strdup (g_get_prgname());
+ ibusimcontext->cancellable = g_cancellable_new ();
+
+ if (!prgname)
diff --git a/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch b/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
new file mode 100644
index 0000000000000..5f4b8e71f0a43
--- /dev/null
+++ b/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
@@ -0,0 +1,68 @@
+From 4872c1fcdc8bbe146e967d004edf63f5994b21f8 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 21 Dec 2023 08:26:48 +0900
+Subject: [PATCH] src/ibusenginesimple.c: Don't commit any characters
+
+Revert a part of the previous patch of #2495 because it explains
+"Super-space and space key can launch IBus Emojier." but I cannot
+remember what I tried to fix.
+
+IBus XKB engines should not commit any keysyms before the key event is
+sent to the application with IBUS_IGNORED_MASK flag even if the key
+is not an ASCII because any characters can be control characters
+by application.
+E.g. VIM cursor mode "hjkl" keys or game cursor keys with language
+layouts.
+
+Fixes: https://github.com/ibus/ibus/commit/ad883dc
+
+BUG=https://github.com/ibus/ibus/issues/2588
+---
+ client/gtk2/ibusimcontext.c | 6 ++++++
+ src/ibusenginesimple.c | 15 ++++++++++-----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index cfc08c20b..ebc8d8697 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -361,6 +361,12 @@ ibus_im_context_commit_event (IBusIMContext *ibusimcontext,
+ keyval == GDK_KEY_KP_Enter) {
+ return FALSE;
+ }
++ /* #2588 If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
++ */
+ ch = ibus_keyval_to_unicode (keyval);
+ if (ch != 0 && !g_unichar_iscntrl (ch)) {
+ IBusText *text = ibus_text_new_from_unichar (ch);
+diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
+index 31cb416cc..4bee8cb38 100644
+--- a/src/ibusenginesimple.c
++++ b/src/ibusenginesimple.c
+@@ -647,12 +647,17 @@ no_sequence_matches (IBusEngineSimple *simple,
+
+ ibus_engine_simple_update_preedit_text (simple);
+ ch = ibus_keyval_to_unicode (keyval);
+- /* IBUS_CHANGE: RH#769133
+- * Since we use ibus xkb engines as the disable state,
+- * Super-space and space key can launch IBus Emojier.
++ /* IBUS_CHANGE: RH#769133, #2588
++ * Since we use ibus xkb engines as the disable IM mode,
++ * do not commit the characters locally without in_hex_sequence.
++ * If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
+ */
+- if (ch != 0 && !g_unichar_iscntrl (ch) && ch > 0x7F) {
+- ibus_engine_simple_commit_char (simple, ch);
++ if (ch != 0 && !g_unichar_iscntrl (ch) &&
++ priv->in_hex_sequence) {
+ return TRUE;
+ } else {
+ return FALSE;
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..c3036e649f312 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,40 +1,45 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"
+pre_configure() {
+ autoreconf -fi
+}
+
pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
+post_build() {
+ # Re-run make to avoid issues with it trying to re-generate IBusWaylandIM-1.0.gir
+ make
}
post_install() {
@@ -42,21 +47,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (3 preceding siblings ...)
2024-02-07 20:45 ` oreo639
@ 2024-02-08 0:02 ` oreo639
2024-02-08 0:06 ` oreo639
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-08 0:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 43391 bytes --]
From 01a26c96ce72abf596ab70af59a25f7a9b3f2e6b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...e2f79b384a374b2a69a31c88a4f36e1dd868.patch | 30 ++
...c1fcdc8bbe146e967d004edf63f5994b21f8.patch | 68 +++
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...92d300579c1bfdf43251a83c6ed4e5594c07.patch | 71 +++
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/template | 29 +-
9 files changed, 230 insertions(+), 830 deletions(-)
create mode 100644 srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
create mode 100644 srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
create mode 100644 srcpkgs/ibus/patches/719792d300579c1bfdf43251a83c6ed4e5594c07.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
diff --git a/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch b/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
new file mode 100644
index 0000000000000..aa90efb16e18f
--- /dev/null
+++ b/srcpkgs/ibus/patches/1be3e2f79b384a374b2a69a31c88a4f36e1dd868.patch
@@ -0,0 +1,30 @@
+From 1be3e2f79b384a374b2a69a31c88a4f36e1dd868 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Wed, 15 Nov 2023 17:19:02 +0900
+Subject: [PATCH] client/gtk2: Call strdup() after g_return_if_fail()
+
+---
+ client/gtk2/ibusimcontext.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index b5a44da0b..cfc08c20b 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -2417,7 +2417,7 @@ _create_input_context_done (IBusBus *bus,
+ static void
+ _create_input_context (IBusIMContext *ibusimcontext)
+ {
+- gchar *prgname = g_strdup (g_get_prgname());
++ gchar *prgname;
+ gchar *client_name;
+ IDEBUG ("%s", __FUNCTION__);
+
+@@ -2425,6 +2425,7 @@ _create_input_context (IBusIMContext *ibusimcontext)
+
+ g_return_if_fail (ibusimcontext->cancellable == NULL);
+
++ prgname = g_strdup (g_get_prgname());
+ ibusimcontext->cancellable = g_cancellable_new ();
+
+ if (!prgname)
diff --git a/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch b/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
new file mode 100644
index 0000000000000..5f4b8e71f0a43
--- /dev/null
+++ b/srcpkgs/ibus/patches/4872c1fcdc8bbe146e967d004edf63f5994b21f8.patch
@@ -0,0 +1,68 @@
+From 4872c1fcdc8bbe146e967d004edf63f5994b21f8 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 21 Dec 2023 08:26:48 +0900
+Subject: [PATCH] src/ibusenginesimple.c: Don't commit any characters
+
+Revert a part of the previous patch of #2495 because it explains
+"Super-space and space key can launch IBus Emojier." but I cannot
+remember what I tried to fix.
+
+IBus XKB engines should not commit any keysyms before the key event is
+sent to the application with IBUS_IGNORED_MASK flag even if the key
+is not an ASCII because any characters can be control characters
+by application.
+E.g. VIM cursor mode "hjkl" keys or game cursor keys with language
+layouts.
+
+Fixes: https://github.com/ibus/ibus/commit/ad883dc
+
+BUG=https://github.com/ibus/ibus/issues/2588
+---
+ client/gtk2/ibusimcontext.c | 6 ++++++
+ src/ibusenginesimple.c | 15 ++++++++++-----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index cfc08c20b..ebc8d8697 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -361,6 +361,12 @@ ibus_im_context_commit_event (IBusIMContext *ibusimcontext,
+ keyval == GDK_KEY_KP_Enter) {
+ return FALSE;
+ }
++ /* #2588 If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
++ */
+ ch = ibus_keyval_to_unicode (keyval);
+ if (ch != 0 && !g_unichar_iscntrl (ch)) {
+ IBusText *text = ibus_text_new_from_unichar (ch);
+diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
+index 31cb416cc..4bee8cb38 100644
+--- a/src/ibusenginesimple.c
++++ b/src/ibusenginesimple.c
+@@ -647,12 +647,17 @@ no_sequence_matches (IBusEngineSimple *simple,
+
+ ibus_engine_simple_update_preedit_text (simple);
+ ch = ibus_keyval_to_unicode (keyval);
+- /* IBUS_CHANGE: RH#769133
+- * Since we use ibus xkb engines as the disable state,
+- * Super-space and space key can launch IBus Emojier.
++ /* IBUS_CHANGE: RH#769133, #2588
++ * Since we use ibus xkb engines as the disable IM mode,
++ * do not commit the characters locally without in_hex_sequence.
++ * If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
+ */
+- if (ch != 0 && !g_unichar_iscntrl (ch) && ch > 0x7F) {
+- ibus_engine_simple_commit_char (simple, ch);
++ if (ch != 0 && !g_unichar_iscntrl (ch) &&
++ priv->in_hex_sequence) {
+ return TRUE;
+ } else {
+ return FALSE;
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/719792d300579c1bfdf43251a83c6ed4e5594c07.patch b/srcpkgs/ibus/patches/719792d300579c1bfdf43251a83c6ed4e5594c07.patch
new file mode 100644
index 0000000000000..ac3d120303754
--- /dev/null
+++ b/srcpkgs/ibus/patches/719792d300579c1bfdf43251a83c6ed4e5594c07.patch
@@ -0,0 +1,71 @@
+From 719792d300579c1bfdf43251a83c6ed4e5594c07 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 5 Dec 2023 23:13:25 +0900
+Subject: [PATCH] src: Complete preedit signals for PostProcessKeyEvent
+
+I forgot to implement show-preedit-text and hide-preedit-text signals
+with PostProcessKeyEvent D-Bus signal in the client side.
+
+Fixes: https://github.com/ibus/ibus/commit/e059536
+
+BUG=https://github.com/ibus/ibus/issues/2585
+---
+ src/ibusinputcontext.c | 33 ++++++++++++++++++++++++++-------
+ 1 file changed, 26 insertions(+), 7 deletions(-)
+
+diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
+index 1b62f656e..600526e5d 100644
+--- a/src/ibusinputcontext.c
++++ b/src/ibusinputcontext.c
+@@ -1463,6 +1463,22 @@ ibus_input_context_fwd_text_to_delete_surrounding (IBusInputContext *context,
+ }
+
+
++static void
++ibus_input_context_fwd_text_to_hide_preedit (IBusInputContext *context,
++ IBusText *text)
++{
++ g_signal_emit (context, context_signals[HIDE_PREEDIT_TEXT], 0, text);
++}
++
++
++static void
++ibus_input_context_fwd_text_to_show_preedit (IBusInputContext *context,
++ IBusText *text)
++{
++ g_signal_emit (context, context_signals[SHOW_PREEDIT_TEXT], 0, text);
++}
++
++
+ static void
+ ibus_input_context_fwd_text_to_update_preedit (IBusInputContext *context,
+ IBusText *text,
+@@ -1558,18 +1574,21 @@ ibus_input_context_post_process_key_event (IBusInputContext *context)
+ case 'c':
+ ibus_input_context_fwd_text_to_commit (context, text);
+ break;
+- case 'f': {
++ case 'd':
++ ibus_input_context_fwd_text_to_delete_surrounding (context, text);
++ break;
++ case 'f':
+ ibus_input_context_fwd_text_to_forward_key_event (context, text);
+ break;
+- }
+- case 'r': {
++ case 'h':
++ ibus_input_context_fwd_text_to_hide_preedit (context, text);
++ break;
++ case 'r':
+ ibus_input_context_fwd_text_to_require_surrounding (context, text);
+ break;
+- }
+- case 'd': {
+- ibus_input_context_fwd_text_to_delete_surrounding (context, text);
++ case 's':
++ ibus_input_context_fwd_text_to_show_preedit (context, text);
+ break;
+- }
+ case 'u':
+ case 'm': {
+ IBusText *position;
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..c3036e649f312 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,40 +1,45 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"
+pre_configure() {
+ autoreconf -fi
+}
+
pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
+post_build() {
+ # Re-run make to avoid issues with it trying to re-generate IBusWaylandIM-1.0.gir
+ make
}
post_install() {
@@ -42,21 +47,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (4 preceding siblings ...)
2024-02-08 0:02 ` oreo639
@ 2024-02-08 0:06 ` oreo639
2024-02-29 0:49 ` oreo639
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-08 0:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 43131 bytes --]
From 939955351b9767cfcaea019e67a68069926b6f7e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.29.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 -------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 --
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
.../ibus/patches/fix-commit-before-key.patch | 68 +++
srcpkgs/ibus/patches/fix-cross.patch | 430 ++----------------
srcpkgs/ibus/patches/fix-memory-leak.patch | 30 ++
.../ibus/patches/fix-missing-signals.patch | 71 +++
srcpkgs/ibus/template | 29 +-
9 files changed, 230 insertions(+), 830 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
create mode 100644 srcpkgs/ibus/patches/fix-commit-before-key.patch
create mode 100644 srcpkgs/ibus/patches/fix-memory-leak.patch
create mode 100644 srcpkgs/ibus/patches/fix-missing-signals.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67..0000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23b..0000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca561..0000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689..0000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-commit-before-key.patch b/srcpkgs/ibus/patches/fix-commit-before-key.patch
new file mode 100644
index 0000000000000..5f4b8e71f0a43
--- /dev/null
+++ b/srcpkgs/ibus/patches/fix-commit-before-key.patch
@@ -0,0 +1,68 @@
+From 4872c1fcdc8bbe146e967d004edf63f5994b21f8 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 21 Dec 2023 08:26:48 +0900
+Subject: [PATCH] src/ibusenginesimple.c: Don't commit any characters
+
+Revert a part of the previous patch of #2495 because it explains
+"Super-space and space key can launch IBus Emojier." but I cannot
+remember what I tried to fix.
+
+IBus XKB engines should not commit any keysyms before the key event is
+sent to the application with IBUS_IGNORED_MASK flag even if the key
+is not an ASCII because any characters can be control characters
+by application.
+E.g. VIM cursor mode "hjkl" keys or game cursor keys with language
+layouts.
+
+Fixes: https://github.com/ibus/ibus/commit/ad883dc
+
+BUG=https://github.com/ibus/ibus/issues/2588
+---
+ client/gtk2/ibusimcontext.c | 6 ++++++
+ src/ibusenginesimple.c | 15 ++++++++++-----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index cfc08c20b..ebc8d8697 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -361,6 +361,12 @@ ibus_im_context_commit_event (IBusIMContext *ibusimcontext,
+ keyval == GDK_KEY_KP_Enter) {
+ return FALSE;
+ }
++ /* #2588 If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
++ */
+ ch = ibus_keyval_to_unicode (keyval);
+ if (ch != 0 && !g_unichar_iscntrl (ch)) {
+ IBusText *text = ibus_text_new_from_unichar (ch);
+diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
+index 31cb416cc..4bee8cb38 100644
+--- a/src/ibusenginesimple.c
++++ b/src/ibusenginesimple.c
+@@ -647,12 +647,17 @@ no_sequence_matches (IBusEngineSimple *simple,
+
+ ibus_engine_simple_update_preedit_text (simple);
+ ch = ibus_keyval_to_unicode (keyval);
+- /* IBUS_CHANGE: RH#769133
+- * Since we use ibus xkb engines as the disable state,
+- * Super-space and space key can launch IBus Emojier.
++ /* IBUS_CHANGE: RH#769133, #2588
++ * Since we use ibus xkb engines as the disable IM mode,
++ * do not commit the characters locally without in_hex_sequence.
++ * If IBus tries to commit a character, it should be forwarded to
++ * the application at once with IBUS_IGNORED_MASK before the actual
++ * commit because any characters can be control characters even if
++ * they are not ASCII characters, e.g. game cursor keys with a
++ * language keyboard layout likes VIM cursor mode "hjkl" keys.
+ */
+- if (ch != 0 && !g_unichar_iscntrl (ch) && ch > 0x7F) {
+- ibus_engine_simple_commit_char (simple, ch);
++ if (ch != 0 && !g_unichar_iscntrl (ch) &&
++ priv->in_hex_sequence) {
+ return TRUE;
+ } else {
+ return FALSE;
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
index ef6c8682d1ecf..aec24b85f2de8 100644
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ b/srcpkgs/ibus/patches/fix-cross.patch
@@ -1,388 +1,46 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
+@@ -335,21 +335,30 @@ else
+ enable_xim="no (disabled, use --enable-xim to enable)"
+ fi
+
+-if $PKG_CONFIG --exists x11; then
+- X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
+-elif test x"$prefix" != xNONE; then
+- X11_PREFIX="$prefix"
++AC_ARG_WITH(x11localedir,
++ AS_HELP_STRING([--with-x11localedir],
++ [specify location of X11/locale]),
++ [path_x11localedir=$withval],
++ [path_x11localedir=''])
++
++if test x"$path_x11localedir" = x""; then
++ if $PKG_CONFIG --exists x11; then
++ X11_PREFIX="`$PKG_CONFIG --variable=prefix x11`"
++ elif test x"$prefix" != xNONE; then
++ X11_PREFIX="$prefix"
++ else
++ X11_PREFIX="$ac_default_prefix"
++ fi
++
++ # Check locale dir for Compose files.
++ AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
++ [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
++ X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
++ X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ else
+- X11_PREFIX="$ac_default_prefix"
++ X11_LOCALEDATADIR="$path_x11localedir"
+ fi
+-AC_SUBST(X11_PREFIX)
+-
+-# Check locale dir for Compose files.
+-AC_CHECK_FILE($X11_PREFIX/share/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/share/X11/locale",
+- [AC_CHECK_FILE($X11_PREFIX/lib/X11/locale/locale.dir,
+- X11_LOCALEDATADIR="$X11_PREFIX/lib/X11/locale",
+- X11_LOCALEDATADIR="$(datadir)/X11/locale")])
+ AC_SUBST(X11_LOCALEDATADIR)
+
+ if test x"$enable_wayland" = x"yes"; then
diff --git a/srcpkgs/ibus/patches/fix-memory-leak.patch b/srcpkgs/ibus/patches/fix-memory-leak.patch
new file mode 100644
index 0000000000000..aa90efb16e18f
--- /dev/null
+++ b/srcpkgs/ibus/patches/fix-memory-leak.patch
@@ -0,0 +1,30 @@
+From 1be3e2f79b384a374b2a69a31c88a4f36e1dd868 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Wed, 15 Nov 2023 17:19:02 +0900
+Subject: [PATCH] client/gtk2: Call strdup() after g_return_if_fail()
+
+---
+ client/gtk2/ibusimcontext.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index b5a44da0b..cfc08c20b 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -2417,7 +2417,7 @@ _create_input_context_done (IBusBus *bus,
+ static void
+ _create_input_context (IBusIMContext *ibusimcontext)
+ {
+- gchar *prgname = g_strdup (g_get_prgname());
++ gchar *prgname;
+ gchar *client_name;
+ IDEBUG ("%s", __FUNCTION__);
+
+@@ -2425,6 +2425,7 @@ _create_input_context (IBusIMContext *ibusimcontext)
+
+ g_return_if_fail (ibusimcontext->cancellable == NULL);
+
++ prgname = g_strdup (g_get_prgname());
+ ibusimcontext->cancellable = g_cancellable_new ();
+
+ if (!prgname)
diff --git a/srcpkgs/ibus/patches/fix-missing-signals.patch b/srcpkgs/ibus/patches/fix-missing-signals.patch
new file mode 100644
index 0000000000000..ac3d120303754
--- /dev/null
+++ b/srcpkgs/ibus/patches/fix-missing-signals.patch
@@ -0,0 +1,71 @@
+From 719792d300579c1bfdf43251a83c6ed4e5594c07 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 5 Dec 2023 23:13:25 +0900
+Subject: [PATCH] src: Complete preedit signals for PostProcessKeyEvent
+
+I forgot to implement show-preedit-text and hide-preedit-text signals
+with PostProcessKeyEvent D-Bus signal in the client side.
+
+Fixes: https://github.com/ibus/ibus/commit/e059536
+
+BUG=https://github.com/ibus/ibus/issues/2585
+---
+ src/ibusinputcontext.c | 33 ++++++++++++++++++++++++++-------
+ 1 file changed, 26 insertions(+), 7 deletions(-)
+
+diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
+index 1b62f656e..600526e5d 100644
+--- a/src/ibusinputcontext.c
++++ b/src/ibusinputcontext.c
+@@ -1463,6 +1463,22 @@ ibus_input_context_fwd_text_to_delete_surrounding (IBusInputContext *context,
+ }
+
+
++static void
++ibus_input_context_fwd_text_to_hide_preedit (IBusInputContext *context,
++ IBusText *text)
++{
++ g_signal_emit (context, context_signals[HIDE_PREEDIT_TEXT], 0, text);
++}
++
++
++static void
++ibus_input_context_fwd_text_to_show_preedit (IBusInputContext *context,
++ IBusText *text)
++{
++ g_signal_emit (context, context_signals[SHOW_PREEDIT_TEXT], 0, text);
++}
++
++
+ static void
+ ibus_input_context_fwd_text_to_update_preedit (IBusInputContext *context,
+ IBusText *text,
+@@ -1558,18 +1574,21 @@ ibus_input_context_post_process_key_event (IBusInputContext *context)
+ case 'c':
+ ibus_input_context_fwd_text_to_commit (context, text);
+ break;
+- case 'f': {
++ case 'd':
++ ibus_input_context_fwd_text_to_delete_surrounding (context, text);
++ break;
++ case 'f':
+ ibus_input_context_fwd_text_to_forward_key_event (context, text);
+ break;
+- }
+- case 'r': {
++ case 'h':
++ ibus_input_context_fwd_text_to_hide_preedit (context, text);
++ break;
++ case 'r':
+ ibus_input_context_fwd_text_to_require_surrounding (context, text);
+ break;
+- }
+- case 'd': {
+- ibus_input_context_fwd_text_to_delete_surrounding (context, text);
++ case 's':
++ ibus_input_context_fwd_text_to_show_preedit (context, text);
+ break;
+- }
+ case 'u':
+ case 'm': {
+ IBusText *position;
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d58463..c3036e649f312 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,40 +1,45 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.29
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--enable-memconf --enable-dconf --enable-wayland --enable-xim
--disable-tests --disable-schemas-compile --disable-systemd-services
- --with-python=/usr/bin/python3 --disable-python2
+ --with-python=/usr/bin/python3 --disable-python2 --with-x11localedir=/usr/share/X11/locale
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}-rc2.tar.gz"
+checksum=3a27ed120485b2077c62e36e788c302f34544ceac3b3b9cda28b7418e8051415
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"
+pre_configure() {
+ autoreconf -fi
+}
+
pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
+post_build() {
+ # Re-run make to avoid issues with it trying to re-generate IBusWaylandIM-1.0.gir
+ make
}
post_install() {
@@ -42,21 +47,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.29.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (5 preceding siblings ...)
2024-02-08 0:06 ` oreo639
@ 2024-02-29 0:49 ` oreo639
2024-02-29 6:34 ` [PR PATCH] [Updated] ibus: update to 1.5.30 oreo639
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-29 0:49 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.29.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 33334 bytes --]
From e938cac3c0c2531da22047cf4f823dbfe9d90327 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.30.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 ---------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 ---
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 388 ------------------
srcpkgs/ibus/template | 23 +-
6 files changed, 12 insertions(+), 831 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
delete mode 100644 srcpkgs/ibus/patches/fix-cross.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67e..00000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23bb..00000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca5619..00000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689d..00000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
deleted file mode 100644
index ef6c8682d1ecfb..00000000000000
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d584637..ffcb2df3ac6b2a 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,7 +1,7 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.30
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
@@ -10,20 +10,20 @@ configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--with-python=/usr/bin/python3 --disable-python2
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}-rc1/ibus-${version}-rc1.tar.gz"
+checksum=32eb3c170d46b1d225e4ff95e8d96e7aee6eade49109fe2b14dc3b1b4fca5625
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,8 +33,9 @@ pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
+post_build() {
+ # Re-run make to avoid issues with it trying to re-generate IBusWaylandIM-1.0.gir
+ make
}
post_install() {
@@ -42,21 +43,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (6 preceding siblings ...)
2024-02-29 0:49 ` oreo639
@ 2024-02-29 6:34 ` oreo639
2024-05-30 1:47 ` github-actions
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-02-29 6:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.30.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 33334 bytes --]
From 51bfcfc457cc82b1cf94132679e334647e2f066a Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.30.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 ---------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 ---
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 388 ------------------
srcpkgs/ibus/template | 23 +-
6 files changed, 12 insertions(+), 831 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
delete mode 100644 srcpkgs/ibus/patches/fix-cross.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67e..00000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23bb..00000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca5619..00000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689d..00000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
deleted file mode 100644
index ef6c8682d1ecfb..00000000000000
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 917bce0d584637..ffcb2df3ac6b2a 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,7 +1,7 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.30
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
@@ -10,20 +10,20 @@ configure_args="--enable-ui --enable-gtk3 --enable-gtk4
--with-python=/usr/bin/python3 --disable-python2
$(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
--enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
-hostmakedepends="pkg-config libtool gettext-devel intltool
+hostmakedepends="pkg-config libtool gettext-devel
dconf python3-setuptools glib-devel vala automake gtk-doc
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
-distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+distfiles="https://github.com/ibus/ibus/releases/download/${version}-rc1/ibus-${version}-rc1.tar.gz"
+checksum=32eb3c170d46b1d225e4ff95e8d96e7aee6eade49109fe2b14dc3b1b4fca5625
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,8 +33,9 @@ pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
+post_build() {
+ # Re-run make to avoid issues with it trying to re-generate IBusWaylandIM-1.0.gir
+ make
}
post_install() {
@@ -42,21 +43,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (7 preceding siblings ...)
2024-02-29 6:34 ` [PR PATCH] [Updated] ibus: update to 1.5.30 oreo639
@ 2024-05-30 1:47 ` github-actions
2024-06-01 8:31 ` oreo639
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: github-actions @ 2024-05-30 1:47 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 305 bytes --]
New comment by github-actions[bot] on void-packages repository
https://github.com/void-linux/void-packages/pull/48372#issuecomment-2138524385
Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (8 preceding siblings ...)
2024-05-30 1:47 ` github-actions
@ 2024-06-01 8:31 ` oreo639
2024-06-14 8:01 ` [PR PATCH] [Updated] " oreo639
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-06-01 8:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 146 bytes --]
New comment by oreo639 on void-packages repository
https://github.com/void-linux/void-packages/pull/48372#issuecomment-2143360980
Comment:
bump
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (9 preceding siblings ...)
2024-06-01 8:31 ` oreo639
@ 2024-06-14 8:01 ` oreo639
2024-06-14 8:50 ` oreo639
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-06-14 8:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.30.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 32819 bytes --]
From f0ae11a504e63608b2bf9651fad662c147d03948 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.30.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 ---------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 ---
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 388 ------------------
srcpkgs/ibus/template | 18 +-
6 files changed, 7 insertions(+), 831 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
delete mode 100644 srcpkgs/ibus/patches/fix-cross.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67e..00000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23bb..00000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca5619..00000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689d..00000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
deleted file mode 100644
index ef6c8682d1ecfb..00000000000000
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 2e745043d6ae96..1d7484de09d0b7 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,7 +1,7 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.30
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config libtool gettext-devel
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
@@ -23,7 +23,7 @@ maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+checksum=05b84d4a45139face161596e5ade8e6c5da55cfaf6f194861da66516190f5b96
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,30 +33,26 @@ pre_build() {
export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
-pre_configure() {
- autoreconf -fi
-}
-
post_install() {
vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (10 preceding siblings ...)
2024-06-14 8:01 ` [PR PATCH] [Updated] " oreo639
@ 2024-06-14 8:50 ` oreo639
2024-06-14 8:51 ` oreo639
2024-06-14 9:03 ` [PR PATCH] [Merged]: " oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-06-14 8:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.30.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 32964 bytes --]
From ba4500fef2fd169d5acd59a06c7062c7013ddd8f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.30.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 ---------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 ---
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 388 ------------------
srcpkgs/ibus/template | 23 +-
6 files changed, 12 insertions(+), 831 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
delete mode 100644 srcpkgs/ibus/patches/fix-cross.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67e..00000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23bb..00000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca5619..00000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689d..00000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
deleted file mode 100644
index ef6c8682d1ecfb..00000000000000
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 2e745043d6ae96..8d5848781a9db9 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,7 +1,7 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.30
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config libtool gettext-devel
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
@@ -23,18 +23,19 @@ maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+checksum=05b84d4a45139face161596e5ade8e6c5da55cfaf6f194861da66516190f5b96
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"
-pre_build() {
- export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
+post_configure() {
+ # Force re-generate valac files
+ make -C ui/gtk3 maintainer-clean-generic
}
-pre_configure() {
- autoreconf -fi
+pre_build() {
+ export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
post_install() {
@@ -42,21 +43,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (11 preceding siblings ...)
2024-06-14 8:50 ` oreo639
@ 2024-06-14 8:51 ` oreo639
2024-06-14 9:03 ` [PR PATCH] [Merged]: " oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-06-14 8:51 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages ibus
https://github.com/void-linux/void-packages/pull/48372
ibus: update to 1.5.30.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/48372.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-48372.patch --]
[-- Type: text/x-diff, Size: 32975 bytes --]
From 33190c74d7d9815818ede8c7ebba112496855818 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 25 Jan 2024 13:21:25 -0800
Subject: [PATCH] ibus: update to 1.5.30.
---
...0c74230a65309e22ce5569060ce48310406b.patch | 324 ---------------
...bbe89403c2fcb08e3fda42049a97187e53ab.patch | 34 --
...6d160631f1ffdbfa16543a38b9d5f91c16ad.patch | 46 ---
...7f7d0bdfb98457487c85304188c411e6d991.patch | 28 --
srcpkgs/ibus/patches/fix-cross.patch | 388 ------------------
srcpkgs/ibus/template | 23 +-
6 files changed, 12 insertions(+), 831 deletions(-)
delete mode 100644 srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
delete mode 100644 srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
delete mode 100644 srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
delete mode 100644 srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
delete mode 100644 srcpkgs/ibus/patches/fix-cross.patch
diff --git a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch b/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
deleted file mode 100644
index c39b51e01be67e..00000000000000
--- a/srcpkgs/ibus/patches/497f0c74230a65309e22ce5569060ce48310406b.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 497f0c74230a65309e22ce5569060ce48310406b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:30 +0900
-Subject: [PATCH] client/x11: Fix Key typing order
-
-ibus-x11 now also uses the hybrid process key events with
-IBUS_ENABLE_SYNC_MODE=2 and it waits for the async API
-with GSource and g_main_context_iteration() in xim_forward_event().
-
-But g_main_context_iteration() calls gdk_event_source_dispatch()
-and it can call another xim_forward_event() and the callbacks
-of ibus_input_context_process_key_event_async() can be nested.
-So if the forwarding API is called out of the callbacks of
-ibus_input_context_process_key_event_async(), the key events
-order is swapped due to the delayed return of
-g_main_context_iteration().
-
-To resolve this issue, the forwarding API should be called in
-the callbacks of ibus_input_context_process_key_event_async().
-
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2480
----
- client/x11/main.c | 160 ++++++++++++++++++++++++----------------------
- 1 file changed, 83 insertions(+), 77 deletions(-)
-
-diff --git a/client/x11/main.c b/client/x11/main.c
-index 905fd2516..83d95cb75 100644
---- a/client/x11/main.c
-+++ b/client/x11/main.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus
- * Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2007-2015 Red Hat, Inc.
- *
- * main.c:
-@@ -49,6 +49,8 @@
- #include <getopt.h>
-
- #define ESC_SEQUENCE_ISO10646_1 "\033%G"
-+/* Wait for about 120 secs to return a key from async process-key-event. */
-+#define MAX_WAIT_KEY_TIME 120000
-
- #define LOG(level, fmt_args...) \
- if (g_debug_level >= (level)) { \
-@@ -461,11 +463,39 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
-
- }
-
-+static void
-+_xim_forward_key_event_done (X11IC *x11ic,
-+ XEvent *event,
-+ gboolean processed)
-+{
-+ IMForwardEventStruct fe;
-+ if (processed) {
-+ if (!x11ic->has_preedit_area) {
-+ _xim_set_cursor_location (x11ic);
-+ }
-+ return;
-+ }
-+ g_assert (x11ic);
-+ g_assert (event);
-+
-+ memset (&fe, 0, sizeof (fe));
-+ fe.major_code = XIM_FORWARD_EVENT;
-+ fe.icid = x11ic->icid;
-+ fe.connect_id = x11ic->connect_id;
-+ fe.sync_bit = 0;
-+ fe.serial_number = 0L;
-+ fe.event = *event;
-+ IMForwardEvent (_xims, (XPointer) &fe);
-+}
-+
-+
- typedef struct {
-- IMForwardEventStruct *pfe;
- int count;
- guint count_cb_id;
- gboolean retval;
-+ X11IC *x11ic;
-+ CARD16 connect_id;
-+ XEvent event;
- } ProcessKeyEventReplyData;
-
- static void
-@@ -474,7 +504,7 @@ _process_key_event_done (GObject *object,
- gpointer user_data)
- {
- IBusInputContext *context = (IBusInputContext *)object;
-- IMForwardEventStruct *pfe = (IMForwardEventStruct*) user_data;
-+ ProcessKeyEventReplyData *data = (ProcessKeyEventReplyData *)user_data;
-
- GError *error = NULL;
- gboolean retval = ibus_input_context_process_key_event_async_finish (
-@@ -488,16 +518,15 @@ _process_key_event_done (GObject *object,
- }
-
- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint) pfe->connect_id))
-+ GINT_TO_POINTER ((gint)data->connect_id))
- == NULL) {
-- g_slice_free (IMForwardEventStruct, pfe);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return;
- }
-
-- if (retval == FALSE) {
-- IMForwardEvent (_xims, (XPointer) pfe);
-- }
-- g_slice_free (IMForwardEventStruct, pfe);
-+ if (retval == FALSE)
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
-+ g_slice_free (ProcessKeyEventReplyData, data);
- }
-
- static void
-@@ -518,6 +547,21 @@ _process_key_event_reply_done (GObject *object,
- }
- g_return_if_fail (data);
- data->retval = retval;
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)data->connect_id))
-+ == NULL) {
-+ return;
-+ }
-+ /* _xim_forward_key_event_done() should be called in
-+ * _process_key_event_reply_done() because g_main_context_iteration()
-+ * can call another xim_forward_event() and xim_forward_event() can be
-+ * nested and the first _process_key_event_reply_done() is returned
-+ * at last with g_main_context_iteration() so
-+ * if _xim_forward_key_event_done() is called out of
-+ * _process_key_event_reply_done(), the key events order
-+ * can be swapped.
-+ */
-+ _xim_forward_key_event_done (data->x11ic, &data->event, retval);
- data->count = 0;
- g_source_remove (data->count_cb_id);
- }
-@@ -529,9 +573,8 @@ _process_key_event_count_cb (gpointer user_data)
- g_return_val_if_fail (data, G_SOURCE_REMOVE);
- if (!data->count)
- return G_SOURCE_REMOVE;
-- /* Wait for about 10 secs. */
-- if (data->count++ == 10000) {
-- data->count = 0;
-+ if (data->count++ == MAX_WAIT_KEY_TIME) {
-+ g_warning ("Key event is not returned for %usecs.", MAX_WAIT_KEY_TIME);
- return G_SOURCE_REMOVE;
- }
- return G_SOURCE_CONTINUE;
-@@ -571,32 +614,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- event.keyval,
- event.hardware_keycode - 8,
- event.state);
-- if (retval) {
-- if (!x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-- }
--
-- IMForwardEventStruct fe;
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- case 2: {
- GSource *source = g_timeout_source_new (1);
- ProcessKeyEventReplyData *data = NULL;
-- IMForwardEventStruct fe;
-
- if (source)
- data = g_slice_new0 (ProcessKeyEventReplyData);
-@@ -610,11 +634,13 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- if (source)
- g_source_destroy (source);
- } else {
-- CARD16 connect_id = x11ic->connect_id;
- data->count = 1;
- g_source_attach (source, NULL);
- g_source_unref (source);
- data->count_cb_id = g_source_get_id (source);
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = *((XEvent*)xevent);
- ibus_input_context_process_key_event_async (
- x11ic->context,
- event.keyval,
-@@ -626,7 +652,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- data);
- g_source_set_callback (source, _process_key_event_count_cb,
- data, NULL);
-- while (data->count)
-+ while (data->count > 0 && data->count < MAX_WAIT_KEY_TIME)
- g_main_context_iteration (NULL, TRUE);
- if (source->ref_count > 0) {
- /* g_source_get_id() could causes a SEGV */
-@@ -634,46 +660,33 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- "issue in %p.", source);
- }
- retval = data->retval;
-- g_slice_free (ProcessKeyEventReplyData, data);
--
-- if (g_hash_table_lookup (_connections,
-- GINT_TO_POINTER ((gint)connect_id))
-- == NULL) {
-+ if (data->count == 0) {
-+ g_slice_free (ProcessKeyEventReplyData, data);
- return 1;
- }
- }
-
-- if (retval) {
-- if (! x11ic->has_preedit_area) {
-- _xim_set_cursor_location (x11ic);
-- }
-- return 1;
-+ g_slice_free (ProcessKeyEventReplyData, data);
-+ if (g_hash_table_lookup (_connections,
-+ GINT_TO_POINTER ((gint)call_data->connect_id))
-+ == NULL) {
-+ return 1;
- }
--
-- memset (&fe, 0, sizeof (fe));
--
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = call_data->event;
--
-- IMForwardEvent (_xims, (XPointer) &fe);
--
-+ _xim_forward_key_event_done (x11ic, &call_data->event, retval);
- retval = 1;
- break;
- }
- default: {
-- IMForwardEventStruct *pfe;
-+ ProcessKeyEventReplyData *data;
-
-- pfe = g_slice_new0 (IMForwardEventStruct);
-- pfe->major_code = XIM_FORWARD_EVENT;
-- pfe->icid = x11ic->icid;
-- pfe->connect_id = x11ic->connect_id;
-- pfe->sync_bit = 0;
-- pfe->serial_number = 0L;
-- pfe->event = call_data->event;
-+ if (!(data = g_slice_new0 (ProcessKeyEventReplyData))) {
-+ g_warning ("Cannot allocate async data");
-+ _xim_forward_key_event_done (x11ic, &call_data->event, 0);
-+ return 1;
-+ }
-+ data->connect_id = call_data->connect_id;
-+ data->x11ic = x11ic;
-+ data->event = call_data->event;
-
- ibus_input_context_process_key_event_async (
- x11ic->context,
-@@ -683,7 +696,7 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
- -1,
- NULL,
- _process_key_event_done,
-- pfe);
-+ data);
- retval = 1;
- }
- }
-@@ -962,11 +975,10 @@ _xim_forward_key_event (X11IC *x11ic,
- guint keycode,
- guint state)
- {
-- g_return_if_fail (x11ic != NULL);
--
-- IMForwardEventStruct fe = {0};
- XEvent xkp = {0};
-
-+ g_return_if_fail (x11ic != NULL);
-+
- xkp.xkey.type = (state & IBUS_RELEASE_MASK) ? KeyRelease : KeyPress;
- xkp.xkey.serial = 0L;
- xkp.xkey.send_event = False;
-@@ -975,20 +987,14 @@ _xim_forward_key_event (X11IC *x11ic,
- xkp.xkey.window =
- x11ic->focus_window ? x11ic->focus_window : x11ic->client_window;
- xkp.xkey.subwindow = None;
-- xkp.xkey.root = DefaultRootWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-+ xkp.xkey.root = DefaultRootWindow (
-+ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
-
- xkp.xkey.time = 0;
- xkp.xkey.state = state;
- xkp.xkey.keycode = (keycode == 0) ? 0 : keycode + 8;
-
-- fe.major_code = XIM_FORWARD_EVENT;
-- fe.icid = x11ic->icid;
-- fe.connect_id = x11ic->connect_id;
-- fe.sync_bit = 0;
-- fe.serial_number = 0L;
-- fe.event = xkp;
--
-- IMForwardEvent (_xims, (XPointer) & fe);
-+ _xim_forward_key_event_done (x11ic, &xkp, FALSE);
- }
-
- static void
diff --git a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch b/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
deleted file mode 100644
index d549f9f61b23bb..00000000000000
--- a/srcpkgs/ibus/patches/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7c8abbe89403c2fcb08e3fda42049a97187e53ab Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 28 Feb 2023 17:46:10 +0900
-Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init()
-
-Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler
-optimization.
-
-BUG=https://github.com/ibus/ibus/issues/2476
----
- src/ibusshare.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 340168c84..bb59f3cbf 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -308,12 +308,15 @@ ibus_init (void)
- IBUS_TYPE_TEXT;
- IBUS_TYPE_ATTRIBUTE;
- IBUS_TYPE_ATTR_LIST;
-- IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_COMPONENT;
-+ IBUS_TYPE_EMOJI_DATA;
- IBUS_TYPE_ENGINE_DESC;
-+ IBUS_TYPE_LOOKUP_TABLE;
- IBUS_TYPE_OBSERVED_PATH;
- IBUS_TYPE_REGISTRY;
- IBUS_TYPE_X_EVENT;
-+ IBUS_TYPE_UNICODE_BLOCK;
-+ IBUS_TYPE_UNICODE_DATA;
- _ibus_register_resource ();
- }
-
diff --git a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch b/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
deleted file mode 100644
index cbe5d01fca5619..00000000000000
--- a/srcpkgs/ibus/patches/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8f706d160631f1ffdbfa16543a38b9d5f91c16ad Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 23 Mar 2023 13:07:38 +0900
-Subject: [PATCH] util/IMdkit: Disable while loop before call
- ForwardEventMessageProc()
-
-Seems ProcessQueue() had a wrong XFree() with async process-key-event.
-Fixes: https://github.com/ibus/ibus/commit/506ac99
-
-BUG=https://github.com/ibus/ibus/issues/2484
----
- util/IMdkit/i18nPtHdr.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/util/IMdkit/i18nPtHdr.c b/util/IMdkit/i18nPtHdr.c
-index 8dc52714d..ec20e3228 100644
---- a/util/IMdkit/i18nPtHdr.c
-+++ b/util/IMdkit/i18nPtHdr.c
-@@ -1747,11 +1747,13 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- XimProtoHdr *hdr = (XimProtoHdr *) client->pending->p;
- unsigned char *p1 = (unsigned char *) (hdr + 1);
- IMProtocol call_data;
-+ XIMPending *old = client->pending;
-
- call_data.major_code = hdr->major_opcode;
- call_data.any.minor_code = hdr->minor_opcode;
- call_data.any.connect_id = connect_id;
-
-+ client->pending = old->next;
- switch (hdr->major_opcode)
- {
- case XIM_FORWARD_EVENT:
-@@ -1760,12 +1762,7 @@ static void ProcessQueue (XIMS ims, CARD16 connect_id)
- }
- /*endswitch*/
- XFree (hdr);
-- {
-- XIMPending *old = client->pending;
--
-- client->pending = old->next;
-- XFree (old);
-- }
-+ XFree (old);
- }
- /*endwhile*/
- return;
diff --git a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch b/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
deleted file mode 100644
index c4e483f346689d..00000000000000
--- a/srcpkgs/ibus/patches/a4007f7d0bdfb98457487c85304188c411e6d991.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4007f7d0bdfb98457487c85304188c411e6d991 Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Thu, 23 Mar 2023 13:08:12 +0900
-Subject: [PATCH] ui/gtk3: Update Emoji shortcut key in ibus-emoji(7)
-
-The default Emoji shortcut key was changed but not updated in the
-ibus-emoji.7 man page.
-
-Fixes: https://github.com/ibus/ibus/commit/1520c39
-
-BUG=https://github.com/ibus/ibus/pull/2475
----
- ui/gtk3/ibus-emoji.7.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index b4d941eca..31074300b 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Period or Control-Semicolon\fR
-+\fBSuper-Period\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch
deleted file mode 100644
index ef6c8682d1ecfb..00000000000000
--- a/srcpkgs/ibus/patches/fix-cross.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index cba242df..f442bac8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
-
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,10 +152,13 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
-
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_MSG_CHECKING([build system endianness])
- ENDIAN=unknown
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -165,7 +169,7 @@ AC_RUN_IFELSE(
- )],
- [ENDIAN=little]
- )
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <endian.h>
-@@ -207,6 +211,14 @@ AH_BOTTOM([
- #endif
- ])
-
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
- AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
-
- EXTRA_DIST = \
- as-version.m4 \
-+ ax_prog_cc_for_build.m4 \
- ibuslocale.m4 \
-+ pkg_config_for_build.m4 \
- vapigen.m4 \
- $(NULL)
-
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+# This macro searches for a C compiler that generates native executables,
-+# that is a C compiler that surely is not a cross-compiler. This can be
-+# useful if you have to generate source code at compile-time like for
-+# example GCC does.
-+#
-+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+# The value of these variables can be overridden by the user by specifying
-+# a compiler with an environment variable (like you do for standard CC).
-+#
-+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+# substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+ AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+ _pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG_FOR_BUILD=""
-+ fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 426376dd..50cf746f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"IBUS\" \
-- @GLIB2_CFLAGS@ \
-- @GOBJECT2_CFLAGS@ \
-- @GIO2_CFLAGS@ \
- -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \
- -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \
- -DIBUS_DISABLE_DEPRECATION_WARNINGS \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD = \
- @GOBJECT2_LIBS@ \
- @GIO2_LIBS@ \
- $(NULL)
-+libibus_1_0_la_CFLAGS = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
- libibus_1_0_la_LDFLAGS = \
- -no-undefined \
- -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources = \
- ibusxevent.c \
- ibusxml.c \
- $(NULL)
--libibus_1_0_la_SOURCES = \
-+libibus_sources = \
- ibuscomposetable.c \
- ibusenumtypes.c \
- ibusmarshalers.c \
-@@ -166,6 +168,7 @@ ibus_headers = \
- ibusxevent.h \
- ibusxml.h \
- $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers = \
- $(ibus_headers) \
-@@ -188,6 +191,35 @@ noinst_HEADERS = \
- $(ibus_private_headers) \
- $(NULL)
-
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs = \
-+ @GLIB2_LIBS@ \
-+ @GOBJECT2_LIBS@ \
-+ @GIO2_LIBS@ \
-+ $(NULL)
-+glib_cflags = \
-+ @GLIB2_CFLAGS@ \
-+ @GOBJECT2_CFLAGS@ \
-+ @GIO2_CFLAGS@ \
-+ $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
- gencomposetable.c \
- ibuscomposetable.c \
-@@ -195,11 +227,12 @@ gen_internal_compose_table_SOURCES = \
- ibuskeynames.c \
- ibuskeyuni.c \
- $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS = \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
-+ $(NULL)
- gen_internal_compose_table_LDADD = \
-- @GLIB2_LIBS@ \
-- @GOBJECT2_LIBS@ \
-- @GIO2_LIBS@ \
-+ $(glib_libs) \
- $(NULL)
-
- BUILT_SOURCES = \
-@@ -362,15 +395,15 @@ install-data-hook:
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- emoji_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-- $(GOBJECT2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- emoji_parser_LDADD = \
-- $(libibus) \
-- $(GLIB2_LIBS) \
-- $(GOBJECT2_LIBS) \
-+ $(libnativeibus) \
-+ $(glib_libs) \
- $(NULL)
- endif
-
-@@ -407,13 +440,15 @@ ibusunicodegen.h:
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-+ $(parser_extra_sources) \
- $(NULL)
- unicode_parser_CFLAGS = \
-- $(GLIB2_CFLAGS) \
-+ $(AM_CFLAGS) \
-+ $(glib_cflags) \
- $(NULL)
- unicode_parser_LDADD = \
-- $(GLIB2_LIBS) \
-- $(libibus) \
-+ $(glib_libs) \
-+ $(libnativeibus) \
- $(NULL)
- endif
-
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index 2e745043d6ae96..e4e922ee9f9630 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,7 +1,7 @@
# Template file for 'ibus'
pkgname=ibus
-version=1.5.28
-revision=4
+version=1.5.30
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config libtool gettext-devel
$(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
- vala libXtst-devel"
+ vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
@@ -23,18 +23,19 @@ maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
-checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667
+checksum=05b84d4a45139face161596e5ade8e6c5da55cfaf6f194861da66516190f5b96
build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"
-pre_build() {
- export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
+post_configure() {
+ # Force re-generate valac files for gcc 14
+ make -C ui/gtk3 maintainer-clean-generic
}
-pre_configure() {
- autoreconf -fi
+pre_build() {
+ export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
}
post_install() {
@@ -42,21 +43,21 @@ post_install() {
}
ibus-gtk+_package() {
- short_desc+=" - GTK+ IME"
+ short_desc+=" - GTK+ IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-2.0
}
}
ibus-gtk+3_package() {
- short_desc+=" - GTK+3 IME"
+ short_desc+=" - GTK+3 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-3.0
}
}
ibus-gtk4_package() {
- short_desc+=" - GTK4 IME"
+ short_desc+=" - GTK4 IME plugin (X11)"
pkg_install() {
vmove usr/lib/gtk-4.0
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Merged]: ibus: update to 1.5.30.
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
` (12 preceding siblings ...)
2024-06-14 8:51 ` oreo639
@ 2024-06-14 9:03 ` oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2024-06-14 9:03 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1084 bytes --]
There's a merged pull request on the void-packages repository
ibus: update to 1.5.30.
https://github.com/void-linux/void-packages/pull/48372
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-06-14 9:03 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-25 21:26 [PR PATCH] ibus: update to 1.5.29 oreo639
2024-02-05 3:01 ` [PR PATCH] [Updated] " oreo639
2024-02-06 3:38 ` oreo639
2024-02-06 4:09 ` oreo639
2024-02-07 20:45 ` oreo639
2024-02-08 0:02 ` oreo639
2024-02-08 0:06 ` oreo639
2024-02-29 0:49 ` oreo639
2024-02-29 6:34 ` [PR PATCH] [Updated] ibus: update to 1.5.30 oreo639
2024-05-30 1:47 ` github-actions
2024-06-01 8:31 ` oreo639
2024-06-14 8:01 ` [PR PATCH] [Updated] " oreo639
2024-06-14 8:50 ` oreo639
2024-06-14 8:51 ` oreo639
2024-06-14 9:03 ` [PR PATCH] [Merged]: " oreo639
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).