From 01a26c96ce72abf596ab70af59a25f7a9b3f2e6b Mon Sep 17 00:00:00 2001 From: oreo639 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 +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 +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 -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 -- * Copyright (C) 2015-2022 Takao Fujiwara -+ * Copyright (C) 2015-2023 Takao Fujiwara - * Copyright (C) 2007-2015 Red Hat, Inc. - * - * main.c: -@@ -49,6 +49,8 @@ - #include - - #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 +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 -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 -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 -@@ -165,7 +169,7 @@ AC_RUN_IFELSE( - )], - [ENDIAN=little] - ) --AC_RUN_IFELSE( -+AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ - #include -@@ -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 -+# -+# 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 " 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 }