Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] ibus: update to 1.5.27.
@ 2022-09-11 20:31 oreo639
  2022-09-11 20:32 ` [PR PATCH] [Updated] " oreo639
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 20:31 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12466 bytes --]

From 6df2cceebe95c992b7f6da54739ac142bce94a80 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  24 +-
 2 files changed, 10 insertions(+), 281 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..1449eb122fb6 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--enable-ui --enable-gtk3 --enable-gtk4
- --disable-tests --disable-schemas-compile --disable-systemd-services
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --enable-memconf --enable-dconf --enable-wayland --enable-xim
+ --disable-schemas-compile --disable-systemd-services
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="oreo639 <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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,10 +33,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
-}
-
 post_install() {
 	vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
 }

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
@ 2022-09-11 20:32 ` oreo639
  2022-09-11 21:03 ` oreo639
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 20:32 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12458 bytes --]

From 82dd7f2b58c572fb56eb725703029142127ca18c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  24 +-
 2 files changed, 10 insertions(+), 281 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..089e2b16a417 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--enable-ui --enable-gtk3 --enable-gtk4
- --disable-tests --disable-schemas-compile --disable-systemd-services
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --enable-memconf --enable-dconf --enable-wayland --enable-xim
+ --disable-schemas-compile --disable-systemd-services
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,10 +33,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
-}
-
 post_install() {
 	vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
 }

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
  2022-09-11 20:32 ` [PR PATCH] [Updated] " oreo639
@ 2022-09-11 21:03 ` oreo639
  2022-09-11 21:04 ` oreo639
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 21:03 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12501 bytes --]

From 4db54956118732a944ec3f70ed2ee3a71d2cdc1b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  25 +-
 2 files changed, 13 insertions(+), 279 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..f74b4e0d1191 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,30 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--enable-ui --enable-gtk3 --enable-gtk4
- --disable-tests --disable-schemas-compile --disable-systemd-services
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --enable-memconf --enable-dconf --enable-wayland --enable-xim
+ --disable-schemas-compile --disable-systemd-services
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
+make_check_args="VERBOSE=1"
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,8 +34,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
+pre_check() {
+	export DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress xkb-latin-layouts"
 }
 
 post_install() {

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
  2022-09-11 20:32 ` [PR PATCH] [Updated] " oreo639
  2022-09-11 21:03 ` oreo639
@ 2022-09-11 21:04 ` oreo639
  2022-09-11 21:12 ` oreo639
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 21:04 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12501 bytes --]

From 7eadc9a645af9612194ddb0727b4f6745324f0c3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  25 +-
 2 files changed, 13 insertions(+), 279 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..8b2297aae844 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,30 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--enable-ui --enable-gtk3 --enable-gtk4
- --disable-tests --disable-schemas-compile --disable-systemd-services
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --enable-memconf --enable-dconf --enable-wayland --enable-xim
+ --disable-schemas-compile --disable-systemd-services
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+make_check_args="VERBOSE=1"
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,8 +34,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
+pre_check() {
+	export DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress xkb-latin-layouts"
 }
 
 post_install() {

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
                   ` (2 preceding siblings ...)
  2022-09-11 21:04 ` oreo639
@ 2022-09-11 21:12 ` oreo639
  2022-09-11 21:23 ` oreo639
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 21:12 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12557 bytes --]

From 208aeb223fe02e84d5fb8e2aea1f5562a237f0d9 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  27 +-
 2 files changed, 15 insertions(+), 279 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..b17f8c4b3d16 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,32 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--enable-ui --enable-gtk3 --enable-gtk4
- --disable-tests --disable-schemas-compile --disable-systemd-services
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --enable-memconf --enable-dconf --enable-wayland --enable-xim
+ --disable-schemas-compile --disable-systemd-services
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+make_check_args="VERBOSE=1"
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+checkdepends="dbus"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
+make_check_pre="dbus-run-session"
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,8 +36,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
+pre_check() {
+	export DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress xkb-latin-layouts"
 }
 
 post_install() {

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
                   ` (3 preceding siblings ...)
  2022-09-11 21:12 ` oreo639
@ 2022-09-11 21:23 ` oreo639
  2022-10-02 11:51 ` oreo639
  2022-10-02 11:59 ` [PR PATCH] [Merged]: " paper42
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-09-11 21:23 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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12402 bytes --]

From 7d29d7f8d61f8a01c0c2119cfc54aea4a1fb3021 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  22 +-
 2 files changed, 9 insertions(+), 280 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..7048a1facd69 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+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
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
 makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
  iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
  vala libXtst-devel"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,10 +33,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
-}
-
 post_install() {
 	vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
 }

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
                   ` (4 preceding siblings ...)
  2022-09-11 21:23 ` oreo639
@ 2022-10-02 11:51 ` oreo639
  2022-10-02 11:59 ` [PR PATCH] [Merged]: " paper42
  6 siblings, 0 replies; 8+ messages in thread
From: oreo639 @ 2022-10-02 11: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/39239

ibus: update to 1.5.27.
<!-- 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/39239.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ibus-39239.patch --]
[-- Type: text/x-diff, Size: 12482 bytes --]

From 5c7e94c2c8cdc4d00822e91d9a9d2bdefd93db21 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sun, 11 Sep 2022 13:30:19 -0700
Subject: [PATCH] ibus: update to 1.5.27.

---
 .../patches/src-Fix-refcounting-issues.patch  | 267 ------------------
 srcpkgs/ibus/template                         |  24 +-
 2 files changed, 10 insertions(+), 281 deletions(-)
 delete mode 100644 srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch

diff --git a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch b/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
deleted file mode 100644
index d1923f71a18e..000000000000
--- a/srcpkgs/ibus/patches/src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Tue, 29 Mar 2022 22:48:19 +0200
-Subject: [PATCH] src: Fix refcounting issues
-
-Commit 5a455b1ead attempted to fix both GLib warnings around
-floating references and other presumed refcounting issues. However
-it missed 2 kinds of bugs:
-
-- The places that take an IBusText created from a static string
-  were made to avoid freeing it afterwards, but the staticness refers
-  to the string content, not the object itself.
-- The places that are documented to emit signals on floating object
-  references used to do the following after signal emission:
-
-  if (g_object_is_floating (object))
-    g_object_unref (object)
-
-  And did possibly trigger GLib warnings were changed to:
-
-  if (g_object_is_floating (object))
-    g_object_sink_ref (object);
-  g_object_unref (object);
-
-  Which fixes the GLib warning for floating references, but do
-  unintendedly steal one reference away for non floating references.
-
-This commit is essentially a revert of commit 5a455b1ead, but
-addressing both things differently:
-
-- All label/tooltip/symbol IBusText properties in IBusProperty do
-  now always sink the reference of the stored object.
-
-- All places documented as maybe using objects with a floating reference
-  on signals changed to doing:
-
-  if (g_object_is_floating (object)) {
-    g_object_ref_sink (object);
-    g_object_unref (object);
-  }
-
-  So the floating reference is owned and unreferenced without warnings,
-  but already owned references are left unchanged.
-
-This addresses the possible GLib warnings, fixes the possible double
-unrefs happening on IBusText used in signals, and fixes the missing
-unrefs on IBusText objects created from static strings.
-
-BUG=https://github.com/ibus/ibus/issues/2393
-BUG=https://github.com/ibus/ibus/issues/2387
----
- src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
- src/ibusproperty.c     | 32 +++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 29 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 4b27551bd..7981de381 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-         g_variant_unref (variant);
-         g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        cursor_pos,
-                        visible);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
-     if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        visible,
-                        mode);
- 
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        text,
-                        visible);
--        if (g_object_is_floating (text))
-+        if (g_object_is_floating (text)) {
-             g_object_ref_sink (text);
--        g_object_unref (text);
-+            g_object_unref (text);
-+        }
-         return;
-     }
- 
-@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        table,
-                        visible);
--        if (g_object_is_floating (table))
-+        if (g_object_is_floating (table)) {
-             g_object_ref_sink (table);
--        g_object_unref (table);
-+            g_object_unref (table);
-+        }
-         return;
- 
-     }
-@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
-                        0,
-                        prop_list);
- 
--        if (g_object_is_floating (prop_list))
-+        if (g_object_is_floating (prop_list)) {
-             g_object_ref_sink (prop_list);
--        g_object_unref (prop_list);
-+            g_object_unref (prop_list);
-+        }
-         return;
-     }
- 
-@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy  *proxy,
- 
-         g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
- 
--        if (g_object_is_floating (prop))
-+        if (g_object_is_floating (prop)) {
-             g_object_ref_sink (prop);
--        g_object_unref (prop);
-+            g_object_unref (prop);
-+        }
-         return;
-     }
- 
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index 6d4ed088e..cd8a0e2a6 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
-     prop->priv->icon = NULL;
- 
-     if (prop->priv->label) {
--        if (!ibus_text_get_is_static (prop->priv->label))
--            g_object_unref (prop->priv->label);
-+        g_object_unref (prop->priv->label);
-         prop->priv->label = NULL;
-     }
- 
-     if (prop->priv->symbol) {
--        if (!ibus_text_get_is_static (prop->priv->symbol))
--            g_object_unref (prop->priv->symbol);
-+        g_object_unref (prop->priv->symbol);
-         prop->priv->symbol = NULL;
-     }
- 
-     if (prop->priv->tooltip) {
--        if (!ibus_text_get_is_static (prop->priv->tooltip))
--            g_object_unref (prop->priv->tooltip);
-+        g_object_unref (prop->priv->tooltip);
-         prop->priv->tooltip = NULL;
-     }
- 
-@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     g_variant_get_child (variant, retval++, "u", &prop->priv->type);
- 
-     GVariant *subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
-     prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
-     ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
- 
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
-     prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
- 
-     /* Keep the serialized order for the compatibility when add new members. */
-     subvar = g_variant_get_child_value (variant, retval++);
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
-     prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
- 
--    if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
-+    if (prop->priv->label) {
-         g_object_unref (prop->priv->label);
-     }
- 
-@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
-         prop->priv->label = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->label = g_object_ref_sink (label);
-+        prop->priv->label = label;
-     }
-+
-+    g_object_ref_sink (prop->priv->label);
- }
- 
- void
-@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
- 
--    if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
-+    if (prop->priv->symbol) {
-         g_object_unref (prop->priv->symbol);
-     }
- 
-@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
-         prop->priv->symbol = ibus_text_new_from_static_string ("");
-     }
-     else {
--        prop->priv->symbol = g_object_ref_sink (symbol);
-+        prop->priv->symbol = symbol;
-     }
-+
-+    g_object_ref_sink (prop->priv->symbol);
- }
- 
- void
-@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     g_assert (IBUS_IS_PROPERTY (prop));
-     g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
- 
--    if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+    if (prop->priv->tooltip) {
-         g_object_unref (prop->priv->tooltip);
-     }
- 
-@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
-     }
-     else {
-         prop->priv->tooltip = tooltip;
--        g_object_ref_sink (prop->priv->tooltip);
-     }
-+
-+    g_object_ref_sink (prop->priv->tooltip);
- }
- 
- void
diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template
index d84d4f6dceb8..28408f6a3383 100644
--- a/srcpkgs/ibus/template
+++ b/srcpkgs/ibus/template
@@ -1,29 +1,29 @@
 # Template file for 'ibus'
 pkgname=ibus
-version=1.5.26
-revision=2
+version=1.5.27
+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
- --enable-memconf --enable-dconf --enable-wayland
- --with-python=/usr/bin/python3
+ --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="automake gettext-devel libtool pkg-config intltool dconf
+hostmakedepends="pkg-config libtool gettext-devel intltool dconf
  python3 glib-devel vala
  $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
-makedepends="dconf-devel gtk+-devel gtk4-devel hicolor-icon-theme
+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"
-depends="hicolor-icon-theme iso-codes dbus-x11 python3-xdg
- $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
+depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
+ dbus-x11 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
 short_desc="Intelligent Input Bus"
-maintainer="Orphaned <orphan@voidlinux.org>"
+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=5c2fd118e7bfd4e9a42c3a20e6175a263426c90b6256f94989ed3d0384f4c9fc
+checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df
 
 build_options="ibus_setup dicts"
 desc_option_ibus_setup="Enable support for building the ibus setup UI"
@@ -33,10 +33,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" dicts"
 fi
 
-pre_install() {
-	vmkdir etc/dconf/db
-}
-
 post_install() {
 	vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
 }

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Merged]: ibus: update to 1.5.27.
  2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
                   ` (5 preceding siblings ...)
  2022-10-02 11:51 ` oreo639
@ 2022-10-02 11:59 ` paper42
  6 siblings, 0 replies; 8+ messages in thread
From: paper42 @ 2022-10-02 11:59 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.27.
https://github.com/void-linux/void-packages/pull/39239

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] 8+ messages in thread

end of thread, other threads:[~2022-10-02 11:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-11 20:31 [PR PATCH] ibus: update to 1.5.27 oreo639
2022-09-11 20:32 ` [PR PATCH] [Updated] " oreo639
2022-09-11 21:03 ` oreo639
2022-09-11 21:04 ` oreo639
2022-09-11 21:12 ` oreo639
2022-09-11 21:23 ` oreo639
2022-10-02 11:51 ` oreo639
2022-10-02 11:59 ` [PR PATCH] [Merged]: " paper42

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).