Compare commits
8 Commits
Author | SHA256 | Date | |
---|---|---|---|
004a5f3121 | |||
f01e4f84f5 | |||
c312dce425 | |||
f63142590c | |||
0c126228ba | |||
cb981c217d | |||
6091ee183d | |||
de0f8644df |
@@ -1,26 +1,8 @@
|
|||||||
ibus-gtk
|
ibus-gtk
|
||||||
post "%if "%_lib" == "lib64""
|
|
||||||
post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 --update-cache"
|
|
||||||
post "%else"
|
|
||||||
post "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
|
post "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
|
||||||
post "%endif"
|
|
||||||
postun "%if "%_lib" == "lib64""
|
|
||||||
postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 --update-cache"
|
|
||||||
postun "%else"
|
|
||||||
postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
|
postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
|
||||||
postun "%endif"
|
|
||||||
supplements "(ibus and gtk2-<targettype>)"
|
supplements "(ibus and gtk2-<targettype>)"
|
||||||
ibus-gtk3
|
ibus-gtk3
|
||||||
post "%if "%_lib" == "lib64""
|
|
||||||
post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache"
|
|
||||||
post "%else"
|
|
||||||
post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache"
|
|
||||||
post "%endif"
|
|
||||||
postun "%if "%_lib" == "lib64""
|
|
||||||
postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache"
|
|
||||||
postun "%else"
|
|
||||||
postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache"
|
|
||||||
postun "%endif"
|
|
||||||
supplements "(ibus and gtk3-<targettype>)"
|
supplements "(ibus and gtk3-<targettype>)"
|
||||||
libibus-1_0-5
|
libibus-1_0-5
|
||||||
obsoletes "libibus2-<targettype> < <version>"
|
obsoletes "libibus2-<targettype> < <version>"
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:05b84d4a45139face161596e5ade8e6c5da55cfaf6f194861da66516190f5b96
|
|
||||||
size 4124084
|
|
BIN
ibus-1.5.32.tar.gz
(Stored with Git LFS)
Normal file
BIN
ibus-1.5.32.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -3,13 +3,25 @@
|
|||||||
test x"$INPUT_METHOD" = x"ibus" || exit 0
|
test x"$INPUT_METHOD" = x"ibus" || exit 0
|
||||||
|
|
||||||
# GNOME starts ibus by itself
|
# GNOME starts ibus by itself
|
||||||
case "$WINDOWMANAGER" in
|
case "$XDG_CURRENT_DESKTOP" in
|
||||||
*gnome*)
|
*GNOME*)
|
||||||
exit 0;;
|
exit 0;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# sleep for a little while to avoid duplicate startup
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||||||
# sleep 2
|
case "$XDG_CURRENT_DESKTOP" in
|
||||||
|
*KDE*)
|
||||||
|
ibus start --type=kde-wayland
|
||||||
|
exit 0;;
|
||||||
|
*)
|
||||||
|
ibus start --type=wayland
|
||||||
|
exit 0;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
# sleep for a little while to avoid duplicate startup
|
||||||
|
# sleep 2
|
||||||
|
|
||||||
ibus start --service-file org.freedesktop.IBus.session.generic.service
|
# `ibus start` does not exit, so we use ibus-daemon
|
||||||
exit 0
|
ibus-daemon --xim --daemonize
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
@@ -1,156 +0,0 @@
|
|||||||
--- ibus-1.5.30/ui/gtk3/panel.vala.orig 2024-05-02 12:24:21.000000000 +0900
|
|
||||||
+++ ibus-1.5.30/ui/gtk3/panel.vala 2024-06-20 00:40:40.904145726 +0900
|
|
||||||
@@ -1506,7 +1506,7 @@
|
|
||||||
if (m_is_kde && !BindingCommon.default_is_xdisplay())
|
|
||||||
run_ibus_command("restart");
|
|
||||||
else
|
|
||||||
- m_bus.exit(true);
|
|
||||||
+ restart_daemon();
|
|
||||||
});
|
|
||||||
m_sys_menu.insert(item, -1);
|
|
||||||
|
|
||||||
@@ -1527,6 +1527,144 @@
|
|
||||||
return m_sys_menu;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ private const string systemd_service_file = "org.freedesktop.IBus.session.generic.service";
|
|
||||||
+
|
|
||||||
+ GLib.DBusConnection? get_session_bus() {
|
|
||||||
+ try {
|
|
||||||
+ return GLib.Bus.get_sync (GLib.BusType.SESSION, null);
|
|
||||||
+ } catch (GLib.IOError e) {
|
|
||||||
+ debug("%s\n", e.message);
|
|
||||||
+ }
|
|
||||||
+ return null;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ string?
|
|
||||||
+ get_ibus_systemd_object_path(GLib.DBusConnection connection) {
|
|
||||||
+ string object_path = null;
|
|
||||||
+ assert(systemd_service_file != null);
|
|
||||||
+ try {
|
|
||||||
+ var variant = connection.call_sync (
|
|
||||||
+ "org.freedesktop.systemd1",
|
|
||||||
+ "/org/freedesktop/systemd1",
|
|
||||||
+ "org.freedesktop.systemd1.Manager",
|
|
||||||
+ "GetUnit",
|
|
||||||
+ new GLib.Variant("(s)", systemd_service_file),
|
|
||||||
+ new GLib.VariantType("(o)"),
|
|
||||||
+ GLib.DBusCallFlags.NONE,
|
|
||||||
+ -1,
|
|
||||||
+ null);
|
|
||||||
+ variant.get("(o)", ref object_path);
|
|
||||||
+ debug("Succeed to get an object path \"%s\" for IBus " +
|
|
||||||
+ "systemd service file \"%s\".\n",
|
|
||||||
+ object_path, systemd_service_file);
|
|
||||||
+ return object_path;
|
|
||||||
+ } catch (GLib.Error e) {
|
|
||||||
+ debug("IBus systemd service file \"%s\" is not installed " +
|
|
||||||
+ "in your system: %s\n",
|
|
||||||
+ systemd_service_file, e.message);
|
|
||||||
+ }
|
|
||||||
+ return null;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool
|
|
||||||
+ is_running_daemon_via_systemd(GLib.DBusConnection connection,
|
|
||||||
+ string object_path) {
|
|
||||||
+ string? state = null;
|
|
||||||
+ try {
|
|
||||||
+ while (true) {
|
|
||||||
+ var variant = connection.call_sync (
|
|
||||||
+ "org.freedesktop.systemd1",
|
|
||||||
+ object_path,
|
|
||||||
+ "org.freedesktop.DBus.Properties",
|
|
||||||
+ "Get",
|
|
||||||
+ new GLib.Variant("(ss)",
|
|
||||||
+ "org.freedesktop.systemd1.Unit",
|
|
||||||
+ "ActiveState"),
|
|
||||||
+ new GLib.VariantType("(v)"),
|
|
||||||
+ GLib.DBusCallFlags.NONE,
|
|
||||||
+ -1,
|
|
||||||
+ null);
|
|
||||||
+ GLib.Variant child = null;
|
|
||||||
+ variant.get("(v)", ref child);
|
|
||||||
+ state = child.dup_string();
|
|
||||||
+ debug("systemd state is \"%s\" for an object " +
|
|
||||||
+ "path \"%s\".\n", state, object_path);
|
|
||||||
+ if (state != "activating")
|
|
||||||
+ break;
|
|
||||||
+ Posix.sleep(1);
|
|
||||||
+ }
|
|
||||||
+ } catch (GLib.Error e) {
|
|
||||||
+ debug("%s\n", e.message);
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ if (state == "active")
|
|
||||||
+ return true;
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool
|
|
||||||
+ start_daemon_via_systemd(GLib.DBusConnection connection,
|
|
||||||
+ bool restart) {
|
|
||||||
+ string object_path = null;
|
|
||||||
+ string method = "StartUnit";
|
|
||||||
+ assert(systemd_service_file != null);
|
|
||||||
+ if (restart)
|
|
||||||
+ method = "RestartUnit";
|
|
||||||
+ try {
|
|
||||||
+ var variant = connection.call_sync (
|
|
||||||
+ "org.freedesktop.systemd1",
|
|
||||||
+ "/org/freedesktop/systemd1",
|
|
||||||
+ "org.freedesktop.systemd1.Manager",
|
|
||||||
+ method,
|
|
||||||
+ new GLib.Variant("(ss)", systemd_service_file, "fail"),
|
|
||||||
+ new GLib.VariantType("(o)"),
|
|
||||||
+ GLib.DBusCallFlags.NONE,
|
|
||||||
+ -1,
|
|
||||||
+ null);
|
|
||||||
+ variant.get("(o)", ref object_path);
|
|
||||||
+ debug("Succeed to restart IBus daemon via IBus systemd " +
|
|
||||||
+ "service file \"%s\": \"%s\"\n",
|
|
||||||
+ systemd_service_file, object_path);
|
|
||||||
+ return true;
|
|
||||||
+ } catch (GLib.Error e) {
|
|
||||||
+ debug("Failed to %s IBus daemon via IBus systemd " +
|
|
||||||
+ "service file \"%s\": %s\n",
|
|
||||||
+ restart ? "restart" : "start",
|
|
||||||
+ systemd_service_file, e.message);
|
|
||||||
+ }
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private void restart_daemon() {
|
|
||||||
+ do {
|
|
||||||
+ GLib.DBusConnection? connection = get_session_bus();
|
|
||||||
+ if (connection == null)
|
|
||||||
+ break;
|
|
||||||
+ var object_path = get_ibus_systemd_object_path(connection);
|
|
||||||
+ if (object_path == null)
|
|
||||||
+ break;
|
|
||||||
+ if (is_running_daemon_via_systemd(connection,
|
|
||||||
+ object_path)) {
|
|
||||||
+ var result = start_daemon_via_systemd(connection, true);
|
|
||||||
+ if (!result) {
|
|
||||||
+ var dialog = new Gtk.MessageDialog(
|
|
||||||
+ null,
|
|
||||||
+ Gtk.DialogFlags.DESTROY_WITH_PARENT,
|
|
||||||
+ Gtk.MessageType.ERROR,
|
|
||||||
+ Gtk.ButtonsType.CLOSE,
|
|
||||||
+ "Failed to restart IBus daemon via IBus systemd");
|
|
||||||
+ dialog.response.connect((id) => {
|
|
||||||
+ dialog.destroy();
|
|
||||||
+ });
|
|
||||||
+ dialog.show_all();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return;
|
|
||||||
+ } while (false);
|
|
||||||
+ // ibus-daemon is not launched via systemd
|
|
||||||
+ m_bus.exit(true);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
private Gtk.Menu create_activate_menu(bool use_x11 = false) {
|
|
||||||
Gdk.Display display_backup = null;
|
|
||||||
if (use_x11 && !BindingCommon.default_is_xdisplay()) {
|
|
52
ibus.changes
52
ibus.changes
@@ -1,3 +1,55 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 14 08:35:05 UTC 2025 - Takashi Iwai <tiwai@suse.com>
|
||||||
|
|
||||||
|
- Fix *-32bit package post scripts (bsc#1244535):
|
||||||
|
the broken conditionals are dropped, assuming only *-32bit builds.
|
||||||
|
Also the superfluous post/postun for ibus-gtk3-32bit were dropped, too.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 31 13:37:22 UTC 2025 - Fuminobu Takeyama <ftake@geeko.jp> - 1.5.32
|
||||||
|
|
||||||
|
- Upstream update to 1.5.32
|
||||||
|
* Send FocusIn signal again after delayed FocusId property
|
||||||
|
* Fix time lag of CandidatePanel in X11
|
||||||
|
* Update Unicode table with keysym
|
||||||
|
* Wayland input-method protocol version 1 and 2
|
||||||
|
* https://github.com/ibus/ibus/wiki/WaylandDesktop
|
||||||
|
* Additional Wayland input-method; XIM and GTK2, Key repeating, Compose
|
||||||
|
* ibus start --type wayland new option
|
||||||
|
* Compose feature updates
|
||||||
|
* Bug fixes of Wayland features
|
||||||
|
* Update simple.xml with xkeyboard-config 2.44
|
||||||
|
- Revert not to use systemd to launch ibus
|
||||||
|
* Remove ibus-ui-gtk3-restart-via-systemd.patch
|
||||||
|
- Remove patches merged by the upstream
|
||||||
|
* ibus-gcc15-1.patch
|
||||||
|
* ibus-gcc15-2.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 12 14:22:05 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
|
||||||
|
|
||||||
|
- Add ibus-gcc15-1.patch and ibus-gcc15-2.patch from upstream to
|
||||||
|
fix gcc15 compile time errors
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 8 13:27:39 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||||
|
|
||||||
|
- Upstream update to 1.5.31
|
||||||
|
* Enhance CI for generic
|
||||||
|
* Enhance CI for Wayland
|
||||||
|
* Enhance compose keys
|
||||||
|
* Update compose keys with latest Xorg and GTK
|
||||||
|
* Use localectl to get current XKB in Wayland instead of setxkbmap
|
||||||
|
* Update XKB engines
|
||||||
|
* Update Unicode category
|
||||||
|
* Change IBus unique name for security issue
|
||||||
|
* Ignore Super modifier for compose keys for GNOME Wayland
|
||||||
|
* Fix X11 application and game issues
|
||||||
|
* Fix Emoji issues
|
||||||
|
* Fix Flatpak issues
|
||||||
|
* Fix preedit issues with m17n:sa:itrans
|
||||||
|
* Code maintenance
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jul 7 09:23:53 UTC 2024 - Fuminobu Takeyama <ftake@geeko.jp> - 1.5.30
|
Sun Jul 7 09:23:53 UTC 2024 - Fuminobu Takeyama <ftake@geeko.jp> - 1.5.30
|
||||||
|
|
||||||
|
25
ibus.spec
25
ibus.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file for package ibus
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
%define flavor @BUILD_FLAVOR@%nil
|
%define flavor @BUILD_FLAVOR@%nil
|
||||||
|
|
||||||
%define with_gtk4 0
|
%define with_gtk4 0
|
||||||
%define with_wayland 1
|
|
||||||
%define with_emoji 1
|
%define with_emoji 1
|
||||||
|
|
||||||
%if "%{flavor}" == "gtk4"
|
%if "%{flavor}" == "gtk4"
|
||||||
@@ -35,7 +34,7 @@
|
|||||||
|
|
||||||
%define _name ibus
|
%define _name ibus
|
||||||
Name: %{_name}%{?nsuffix}
|
Name: %{_name}%{?nsuffix}
|
||||||
Version: 1.5.30
|
Version: 1.5.32
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The "Intelligent Input Bus" input method
|
Summary: The "Intelligent Input Bus" input method
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
@@ -73,15 +72,15 @@ Patch12: ibus-disable-engines-preload-in-GNOME.patch
|
|||||||
# Qt5 does not be update to the new version and patch for ibus on Leap 15,
|
# Qt5 does not be update to the new version and patch for ibus on Leap 15,
|
||||||
# it still needs this patch on leap 15. (boo#1187202)
|
# it still needs this patch on leap 15. (boo#1187202)
|
||||||
Patch15: ibus-socket-name-compatibility.patch
|
Patch15: ibus-socket-name-compatibility.patch
|
||||||
# PATCH-FIX-UPSTREAM ibus-ui-gtk3-restart-via-systemd.patch
|
|
||||||
# Allow ibus-ui-gtk3 to restart ibus-daemon when it is launched by systemd
|
|
||||||
Patch16: ibus-ui-gtk3-restart-via-systemd.patch
|
|
||||||
BuildRequires: pkgconfig(dbusmenu-glib-0.4)
|
BuildRequires: pkgconfig(dbusmenu-glib-0.4)
|
||||||
BuildRequires: pkgconfig(dbusmenu-gtk3-0.4)
|
BuildRequires: pkgconfig(dbusmenu-gtk3-0.4)
|
||||||
|
BuildRequires: pkgconfig(glib-2.0) >= 2.84.0
|
||||||
BuildRequires: pkgconfig(gtk+-3.0)
|
BuildRequires: pkgconfig(gtk+-3.0)
|
||||||
BuildRequires: pkgconfig(iso-codes)
|
BuildRequires: pkgconfig(iso-codes)
|
||||||
BuildRequires: pkgconfig(libnotify)
|
BuildRequires: pkgconfig(libnotify)
|
||||||
BuildRequires: pkgconfig(systemd)
|
BuildRequires: pkgconfig(systemd)
|
||||||
|
BuildRequires: pkgconfig(wayland-client) >= 1.2.0
|
||||||
|
BuildRequires: pkgconfig(wayland-protocols)
|
||||||
%if ! 0%{?with_gtk4}
|
%if ! 0%{?with_gtk4}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
@@ -95,7 +94,6 @@ BuildRequires: unicode-ucd
|
|||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: pkgconfig(dbus-glib-1)
|
BuildRequires: pkgconfig(dbus-glib-1)
|
||||||
BuildRequires: pkgconfig(dconf) >= 0.7.5
|
BuildRequires: pkgconfig(dconf) >= 0.7.5
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.34.0
|
|
||||||
BuildRequires: pkgconfig(gtk+-2.0)
|
BuildRequires: pkgconfig(gtk+-2.0)
|
||||||
BuildRequires: pkgconfig(libnotify) >= 0.7
|
BuildRequires: pkgconfig(libnotify) >= 0.7
|
||||||
BuildRequires: pkgconfig(python3)
|
BuildRequires: pkgconfig(python3)
|
||||||
@@ -120,9 +118,6 @@ Requires: python3-gobject-Gdk
|
|||||||
# versions to 3.0 only.
|
# versions to 3.0 only.
|
||||||
Requires: typelib-1_0-Gtk-3_0
|
Requires: typelib-1_0-Gtk-3_0
|
||||||
Provides: locale(ja;ko;zh)
|
Provides: locale(ja;ko;zh)
|
||||||
%if %{with_wayland}
|
|
||||||
BuildRequires: pkgconfig(wayland-client) >= 1.2.0
|
|
||||||
%endif
|
|
||||||
%if %{with_emoji}
|
%if %{with_emoji}
|
||||||
BuildRequires: unicode-emoji
|
BuildRequires: unicode-emoji
|
||||||
BuildRequires: pkgconfig(cldr-emoji-annotation)
|
BuildRequires: pkgconfig(cldr-emoji-annotation)
|
||||||
@@ -236,14 +231,11 @@ cp -r %{SOURCE11} .
|
|||||||
%if 0%{?suse_version} <= 1500
|
%if 0%{?suse_version} <= 1500
|
||||||
%patch -P 15 -p1
|
%patch -P 15 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 16 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-static \
|
%configure --disable-static \
|
||||||
--libexecdir=%{_libexecdir}/ibus \
|
--libexecdir=%{_libexecdir}/ibus \
|
||||||
%if %{with_wayland}
|
|
||||||
--enable-wayland \
|
--enable-wayland \
|
||||||
%endif
|
|
||||||
%if %{with_emoji}
|
%if %{with_emoji}
|
||||||
--enable-emoji-dict \
|
--enable-emoji-dict \
|
||||||
%else
|
%else
|
||||||
@@ -267,7 +259,9 @@ cp -r %{SOURCE11} .
|
|||||||
--disable-xim \
|
--disable-xim \
|
||||||
--disable-gtk2 \
|
--disable-gtk2 \
|
||||||
--disable-gtk3 \
|
--disable-gtk3 \
|
||||||
--enable-gtk4 \
|
--disable-tests \
|
||||||
|
--enable-gtk4
|
||||||
|
# test code fails to build without xim
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# non-parallel to have reproducible results in spite of non-deterministic build scripts https://github.com/ibus/ibus/issues/2272
|
# non-parallel to have reproducible results in spite of non-deterministic build scripts https://github.com/ibus/ibus/issues/2272
|
||||||
@@ -440,7 +434,6 @@ fi
|
|||||||
%{_mandir}/man7/ibus-emoji.7%{ext_man}
|
%{_mandir}/man7/ibus-emoji.7%{ext_man}
|
||||||
%endif
|
%endif
|
||||||
%{python3_sitearch}/gi/overrides/IBus.py
|
%{python3_sitearch}/gi/overrides/IBus.py
|
||||||
%{python3_sitearch}/gi/overrides/__pycache__/IBus.cpython-*.opt-1.pyc
|
|
||||||
%{python3_sitearch}/gi/overrides/__pycache__/IBus.cpython-*.pyc
|
%{python3_sitearch}/gi/overrides/__pycache__/IBus.cpython-*.pyc
|
||||||
|
|
||||||
%files lang -f ibus10.lang
|
%files lang -f ibus10.lang
|
||||||
|
Reference in New Issue
Block a user