From 1017797f7c2c2937a7396047b626fe6de0d9fe2a Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 25 Oct 2024 15:41:19 +0300 Subject: [PATCH] import ibus-anthy-1.5.16-21.el10 --- .gitignore | 1 + .ibus-anthy.metadata | 1 + .../ibus-anthy-1938129-default-hiragana.patch | 28 ++ SOURCES/ibus-anthy-HEAD.patch | 466 ++++++++++++++++++ SPECS/ibus-anthy.spec | 220 +++++++++ 5 files changed, 716 insertions(+) create mode 100644 .gitignore create mode 100644 .ibus-anthy.metadata create mode 100644 SOURCES/ibus-anthy-1938129-default-hiragana.patch create mode 100644 SOURCES/ibus-anthy-HEAD.patch create mode 100644 SPECS/ibus-anthy.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9049ee --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ibus-anthy-1.5.16.tar.gz diff --git a/.ibus-anthy.metadata b/.ibus-anthy.metadata new file mode 100644 index 0000000..5de197b --- /dev/null +++ b/.ibus-anthy.metadata @@ -0,0 +1 @@ +2dc9f65f613d211d552e504c1511f02d81a3c355 SOURCES/ibus-anthy-1.5.16.tar.gz diff --git a/SOURCES/ibus-anthy-1938129-default-hiragana.patch b/SOURCES/ibus-anthy-1938129-default-hiragana.patch new file mode 100644 index 0000000..79f769a --- /dev/null +++ b/SOURCES/ibus-anthy-1938129-default-hiragana.patch @@ -0,0 +1,28 @@ +From e4ef13166118fe991f7590b093671f9361e9c1cc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Mar 2021 22:13:01 +0900 +Subject: [PATCH] data: Change default input mode to Hiragana (rhbz#1938129) + +GNOME desktop sets unnecessary JP keymap by default and a few newcomers +wish to use Hiragana mode directly. +This internal patch will be deleted if the default desktop would be changed. +--- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 773be09..cd5a13b 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -3,7 +3,7 @@ + + +- 3 ++ 0 + Input Mode + + +-- +2.28.0 + diff --git a/SOURCES/ibus-anthy-HEAD.patch b/SOURCES/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..2cebe3a --- /dev/null +++ b/SOURCES/ibus-anthy-HEAD.patch @@ -0,0 +1,466 @@ +From 9ae92d7b8085e869d37a068a1a94815c78de6110 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 12 Mar 2024 18:25:39 +0900 +Subject: [PATCH] engine: Ignore Super modifier key + +Super-l is a shortcut key to launch a lock screen in GNOME desktop +session and now it can be sent to the engine prior to the window +manager. +--- + engine/python2/engine.py | 6 ++++-- + engine/python3/engine.py | 6 ++++-- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 42d4dc1..c7ccd3f 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2023 Takao Fujiwara ++# Copyright (c) 2010-2024 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1976,7 +1976,9 @@ class Engine(IBus.EngineSimple): + state & hex_mod_mask == hex_mod_mask: + return True + +- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): ++ if state & (IBus.ModifierType.CONTROL_MASK | \ ++ IBus.ModifierType.MOD1_MASK | \ ++ IBus.ModifierType.MOD4_MASK): + return False + + if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 4b50a01..0858614 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2023 Takao Fujiwara ++# Copyright (c) 2010-2024 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1971,7 +1971,9 @@ class Engine(IBus.EngineSimple): + state & hex_mod_mask == hex_mod_mask: + return True + +- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): ++ if state & (IBus.ModifierType.CONTROL_MASK | \ ++ IBus.ModifierType.MOD1_MASK | \ ++ IBus.ModifierType.MOD4_MASK): + return False + + if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or +-- +2.43.0 + +From e62e75409de470d373865165b08d060a4cc73c8b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 14 Sep 2024 08:39:56 +0900 +Subject: [PATCH] tests/anthytest: Support GNOME Wayland and GTK4 + +- Check "preedit-changed" signal is called twice in GNOME Wayland. + Maybe a mutter bug. +- Make sure the preedit is cleared before the next test case runs +- Wait for 3 seconds in GNOME Wayland before the test cases run to + get delayed focus events. +- Implement GTK4 +--- + tests/anthytest.py | 250 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 197 insertions(+), 53 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 1d18d19..e9d1b42 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -3,18 +3,22 @@ + + from __future__ import print_function + +-from gi import require_version as gi_require_version +-gi_require_version('GLib', '2.0') +-gi_require_version('Gdk', '3.0') +-gi_require_version('Gio', '2.0') +-gi_require_version('Gtk', '3.0') +-gi_require_version('IBus', '1.0') ++from gi import require_versions as gi_require_versions ++gi_require_versions({'GLib': '2.0', 'Gio': '2.0', 'GObject': '2.0', ++ 'IBus': '1.0'}) + from gi.repository import GLib +-from gi.repository import Gdk + from gi.repository import Gio +-from gi.repository import Gtk ++from gi.repository import GObject + from gi.repository import IBus + ++try: ++ gi_require_versions({'Gdk': '4.0', 'Gtk': '4.0'}) ++except ValueError: ++ gi_require_versions({'Gdk': '3.0', 'Gtk': '3.0'}) ++ ++from gi.repository import Gdk ++from gi.repository import Gtk ++ + import argparse + import getopt + import os +@@ -70,7 +74,7 @@ sys.path.append('/usr/share/ibus-anthy/engine') + from anthycases import TestCases + + +-@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') ++@unittest.skipIf(Gdk.Display.get_default() == None, 'Display cannot be open.') + class AnthyTest(unittest.TestCase): + global DONE_EXIT + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' +@@ -81,11 +85,21 @@ class AnthyTest(unittest.TestCase): + + def setUp(self): + self.__id = 0 +- self.__rerun = False ++ self.__engine_is_focused = False ++ self.__idle_count = 0 ++ self.__idle_loop = None + self.__test_index = 0 ++ self.__preedit_changes = 0 ++ self.__preedit_prev = None + self.__conversion_index = 0 ++ self.__conversion_spaces = 0 + self.__commit_done = False + self.__engine = None ++ self.__list_toplevel = False ++ self.__is_wayland = False ++ display = Gdk.Display.get_default() ++ if GObject.type_name(display.__gtype__) == 'GdkWaylandDisplay': ++ self.__is_wayland = True + + def register_ibus_engine(self): + printflush('## Registering engine') +@@ -133,6 +147,59 @@ class AnthyTest(unittest.TestCase): + self.__bus.request_name('org.freedesktop.IBus.Anthy.Test', 0) + return True + ++ def create_window(self): ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ self.create_window_gtk4() ++ case 3: ++ self.create_window_gtk3() ++ case _: ++ self.gtk_version_exception() ++ ++ def create_window_gtk4(self): ++ window = Gtk.Window() ++ self.__entry = entry = Gtk.Entry() ++ window.connect('destroy', self.__window_destroy_cb) ++ entry.connect('map', self.__entry_map_cb) ++ controller = Gtk.EventControllerFocus() ++ controller.set_propagation_phase(Gtk.PropagationPhase.BUBBLE) ++ controller.connect_after('enter', self.__controller_enter_cb) ++ text = entry.get_delegate() ++ text.add_controller(controller) ++ text.connect('preedit-changed', self.__entry_preedit_changed_cb) ++ buffer = entry.get_buffer() ++ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) ++ window.set_child(entry) ++ window.set_focus(entry) ++ window.present() ++ printflush('## Build GTK4 window') ++ ++ def create_window_gtk3(self): ++ window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) ++ self.__entry = entry = Gtk.Entry() ++ window.connect('destroy', self.__window_destroy_cb) ++ entry.connect('map', self.__entry_map_cb) ++ entry.connect('focus-in-event', self.__entry_focus_in_event_cb) ++ entry.connect('preedit-changed', self.__entry_preedit_changed_cb) ++ buffer = entry.get_buffer() ++ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) ++ window.add(entry) ++ window.show_all() ++ printflush('## Build GTK3 window') ++ ++ def gtk_version_exception(self): ++ raise Exception("GTK version %d is not supported" % Gtk.MAJOR_VERSION) ++ ++ def is_integrated_desktop(self): ++ session_name = None ++ if 'XDG_SESSION_DESKTOP' in os.environ: ++ session_name = os.environ['XDG_SESSION_DESKTOP'] ++ if session_name == None: ++ return False ++ if len(session_name) >= 4 and session_name[0:5] == 'gnome': ++ return True ++ return False ++ + def __name_owner_changed_cb(self, connection, sender_name, object_path, + interface_name, signal_name, parameters, + user_data): +@@ -142,7 +209,7 @@ class AnthyTest(unittest.TestCase): + except ModuleNotFoundError as e: + with self.subTest(i = 'name-owner-changed'): + self.fail('NG: Not installed ibus-anthy %s' % str(e)) +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + engine.Engine.CONFIG_RELOADED() + +@@ -154,60 +221,101 @@ class AnthyTest(unittest.TestCase): + except ModuleNotFoundError as e: + with self.subTest(i = 'create-engine'): + self.fail('NG: Not installed ibus-anthy %s' % str(e)) +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + self.__id += 1 + self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) ++ if hasattr(self.__engine.props, 'has_focus_id'): ++ self.__engine.connect('focus-in-id', self.__engine_focus_in) ++ self.__engine.connect('focus-out-id', self.__engine_focus_out) ++ # The timing of D-Bus signal of Engine.has_focus_id can cause ++ # some 'focus-in' signals earlier and 'focus-in-id' signals later. + self.__engine.connect('focus-in', self.__engine_focus_in) + self.__engine.connect('focus-out', self.__engine_focus_out) + return self.__engine + +- def __engine_focus_in(self, engine): ++ def __engine_focus_in(self, engine, object_path=None, client=None): ++ printflush('## Focus in engine %s %s' % (object_path, client)) + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return +- # Workaround because focus-out resets the preedit text +- # ibus_bus_set_global_engine() calls bus_input_context_set_engine() +- # twice and it causes bus_engine_proxy_focus_out() +- if self.__rerun: +- self.__main_test() ++ self.__engine_is_focused = True + pass + +- def __engine_focus_out(self, engine): +- self.__rerun = True ++ def __engine_focus_out(self, engine, object_path=None): ++ printflush('## Focus out engine %s' % object_path) ++ self.__engine_is_focused = False + +- def create_window(self): +- window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) +- self.__entry = entry = Gtk.Entry() +- window.connect('destroy', Gtk.main_quit) +- entry.connect('map', self.__entry_map_cb) +- entry.connect('focus-in-event', self.__entry_focus_in_event_cb) +- entry.connect('preedit-changed', self.__entry_preedit_changed_cb) +- buffer = entry.get_buffer() +- buffer.connect('inserted-text', self.__buffer_inserted_text_cb) +- window.add(entry) +- window.show_all() +- printflush('## Build window') ++ def __window_destroy_cb(self): ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ self.__list_toplevel = False ++ case 3: ++ Gtk.main_quit() ++ case _: ++ self.gtk_version_exception() + + def __entry_map_cb(self, entry): + printflush('## Map window') + ++ def __controller_enter_cb(self, controller): ++ if self.is_integrated_desktop(): ++ # Wait for 3 seconds in GNOME Wayland because there is a long time ++ # lag between the "enter" signal on the event controller in GtkText ++ # and the "FocusIn" D-Bus signal in BusInputContext of ibus-daemon. ++ printflush('## Waiting for 3 secs') ++ GLib.timeout_add_seconds(3, ++ self.__controller_enter_delay, ++ controller) ++ else: ++ printflush('## No Wait') ++ GLib.idle_add(self.__controller_enter_delay, ++ controller) ++ ++ def __controller_enter_delay(self, controller): ++ text = controller.get_widget() ++ if not text.get_realized(): ++ return ++ self.__entry_focus_in_event_cb(None, None) ++ + def __entry_focus_in_event_cb(self, entry, event): +- printflush('## Get focus') ++ printflush('## Focus in entry') + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return False + self.__bus.set_global_engine_async('testanthy', -1, None, self.__set_engine_cb) + return False + ++ def __idle_cb(self): ++ if self.__engine_is_focused: ++ self.__idle_loop.quit() ++ return GLib.SOURCE_REMOVE ++ elif self.__idle_count < 10: ++ self.__idle_count += 1 ++ return GLib.SOURCE_CONTINUE ++ else: ++ self.__idle_loop.quit() ++ return GLib.SOURCE_REMOVE ++ + def __set_engine_cb(self, object, res): ++ printflush('## Set engine') + if not self.__bus.set_global_engine_async_finish(res): + with self.subTest(i = self.__test_index): + self.fail('set engine failed: ' + error.message) + return + self.__enable_hiragana() ++ # ibus_im_context_focus_in() is called after GlobalEngine is set. ++ # The focus-in/out events happen more slowly in a busy system ++ # likes with a TMT tool. ++ if self.is_integrated_desktop(): ++ if 'IBUS_DAEMON_WITH_SYSTEMD' in os.environ and \ ++ os.environ['IBUS_DAEMON_WITH_SYSTEMD'] != None: ++ self.__idle_loop = GLib.MainLoop(None) ++ self.__idle_count = 0 ++ GLib.timeout_add_seconds(1, self.__idle_cb) ++ self.__idle_loop.run() + self.__main_test() + + def __get_test_condition_length(self, tag): +@@ -217,24 +325,48 @@ class AnthyTest(unittest.TestCase): + return len(cases[type]) + + def __entry_preedit_changed_cb(self, entry, preedit_str): +- if len(preedit_str) == 0: ++ # Wait for clearing the preedit before the next __main_test() is called. ++ if self.__commit_done: ++ if len(preedit_str) == 0: ++ self.__preedit_changes = 0 ++ self.__main_test() ++ else: ++ self.__preedit_changes += 1 + return ++ if self.__is_wayland: ++ # Need to fix mutter ++ # GTK calls self.__entry_preedit_changed_cb() twice by the actual ++ # preedit update in GNOME Wayland in case the lookup window is not ++ # shown yet and the preedit is changed but not the cursor position ++ # only. ++ # ++ # I.e. GTK receives the struct zwp_text_input_v3_listener.done() ++ # from Wayland text-input protocol when the preedit is updated ++ # and the "preedit-changed" signal is called at first and the ++ # zwp_text_input_v3_listener.done() also calls ++ # zwp_text_input_v3_commit() to notify IM changes to mutter and ++ # mutter receives the struct ++ # zwp_text_input_v3_interface.commit_state() from Wayland text-input ++ # protocol and it causes the zwp_text_input_v3_listener.done() and ++ # the "preedit-changed" signal in GTK. ++ if self.__preedit_changes < 1 and self.__conversion_spaces < 2 \ ++ and self.__preedit_prev != preedit_str: ++ self.__preedit_changes += 1 ++ return ++ else: ++ self.__preedit_changes = 0 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return ++ self.__preedit_prev = preedit_str + conversion_length = self.__get_test_condition_length('conversion') +- # Need to return again even if all the conversion is finished +- # until the final Engine.update_preedit() is called. +- if self.__conversion_index > conversion_length: +- return +- self.__run_cases('conversion', +- self.__conversion_index, +- self.__conversion_index + 1) + if self.__conversion_index < conversion_length: ++ self.__run_cases('conversion', ++ self.__conversion_index, ++ self.__conversion_index + 1) + self.__conversion_index += 1 + return +- self.__conversion_index += 1 + self.__run_cases('commit') + + def __enable_hiragana(self): +@@ -249,13 +381,12 @@ class AnthyTest(unittest.TestCase): + printflush('## Already hiragana') + + def __main_test(self): ++ printflush('## Run case %d' % self.__test_index) ++ self.__preedit_prev = None + self.__conversion_index = 0 ++ self.__conversion_spaces = 0 + self.__commit_done = False + self.__run_cases('preedit') +- self.__run_cases('conversion', +- self.__conversion_index, +- self.__conversion_index + 1) +- self.__conversion_index += 1 + + def __run_cases(self, tag, start=-1, end=-1): + tests = TestCases['tests'][self.__test_index] +@@ -288,6 +419,10 @@ class AnthyTest(unittest.TestCase): + if start != -1 or end != -1: + printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \ + % (tag, key[0], key[1], key[2])) ++ # Check if the lookup table is shown. ++ if tag == 'conversion' and \ ++ (key[0] == IBus.KEY_Tab or key[0] == IBus.KEY_space): ++ self.__conversion_spaces += 1 + self.__typing(key[0], key[1], key[2]) + i += 1 + +@@ -306,21 +441,30 @@ class AnthyTest(unittest.TestCase): + self.fail('NG: %d %s %s' \ + % (self.__test_index, str(cases['string']), chars)) + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + self.__test_index += 1 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + self.__entry.set_text('') +- self.__main_test() ++ # ibus-anthy updates preedit after commits the text. ++ self.__commit_done = True + + def main(self): +- Gtk.main() ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ while self.__list_toplevel: ++ GLib.MainContext.default().iteration(True) ++ case 3: ++ Gtk.main() ++ case _: ++ self.gtk_version_exception() + + def test_typing(self): + if not self.register_ibus_engine(): + sys.exit(-1) ++ self.__list_toplevel = True + self.create_window() + self.main() + +-- +2.45.2 + diff --git a/SPECS/ibus-anthy.spec b/SPECS/ibus-anthy.spec new file mode 100644 index 0000000..93cbc4d --- /dev/null +++ b/SPECS/ibus-anthy.spec @@ -0,0 +1,220 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 21; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 +%global sub_version 1.0 +%global require_ibus_version 1.5.3 +%global have_default_layout 1 +%global have_bridge_hotkey 1 +%global with_python3 1 + +%if (0%{?fedora} > 33 || 0%{?rhel} > 8) +%bcond_without kasumi_unicode +%else +%bcond_with kasumi_unicode +%endif + +%if %with_python3 +# for bytecompile in %%{_datadir}/ibus-anthy +%global __python %{__python3} +%endif + +Name: ibus-anthy +Version: 1.5.16 +Release: %autorelease +Summary: The Anthy engine for IBus input platform +License: GPL-2.0-or-later +URL: https://github.com/ibus/ibus/wiki +Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz + +# Upstreamed patches. +# Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch +Patch1: %{name}-1938129-default-hiragana.patch + +BuildRequires: anthy-unicode-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext-devel +BuildRequires: git +BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel +BuildRequires: ibus +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-gobject +BuildRequires: /usr/bin/appstream-util + +Requires: ibus >= %{require_ibus_version} +%if %{with kasumi_unicode} +Requires: kasumi-unicode +%else +Requires: kasumi +%endif +Requires: anthy-unicode +Requires: %{name}-python = %{version}-%{release} + +%description +The Anthy engine for IBus platform. It provides Japanese input method from +a library of the Anthy. + +%package python +Summary: Anthy Python files for IBus +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Requires: gtk3 +Requires: python3-cairo +Requires: python3-gobject + +%description python +This package contains the Anthy Python files for IBus + +%package devel +Summary: Development tools for IBus +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: glib2-devel +Requires: anthy-unicode-devel + +%description devel +The ibus-anthy-devel package contains .so file and .gir files +for developers. + +%package tests +Summary: Tests for the %{name} package +BuildRequires: python3-pycotap +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-pycotap + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. + + +%prep +%autosetup -S git + +%build +#autoreconf -f -i -v +%configure \ +%if %have_default_layout + --with-layout='default' \ +%endif +%if %have_bridge_hotkey + --with-hotkeys \ +%endif +%if %{with kasumi_unicode} + --with-kasumi-exec=/usr/bin/kasumi-unicode \ +%endif + --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ + --with-python=python3 \ + --enable-installed-tests \ + --disable-static +# make -C po update-gmo +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la + + +%find_lang %{name} + +%check +desktop-file-validate \ + $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.xml +export LANG=C.UTF-8 +locale +make -C data check + +%ldconfig_scriptlets libs + + +%files -f %{name}.lang +%doc AUTHORS COPYING README +# dir {python2_sitearch}/ibus +%{_libdir}/libanthygobject-%{sub_version}.so.* +%{_libdir}/girepository-1.0/Anthy*.typelib +%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml +%dir %{_datadir}/ibus-anthy +%{_datadir}/applications/ibus-setup-anthy.desktop +%{_datadir}/ibus-anthy/dicts +%{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg + +%files python +%{_libexecdir}/ibus-*-anthy +%{_datadir}/ibus-anthy/engine +%{_datadir}/ibus-anthy/setup +%{_datadir}/ibus/component/* +%{_metainfodir}/*.xml + +%files devel +%{_datadir}/gir-1.0/Anthy*.gir +%{_includedir}/ibus-anthy-%{sub_version} +%{_libdir}/libanthygobject-%{sub_version}.so + +%files tests +%dir %{_libexecdir}/installed-tests +%{_libexecdir}/installed-tests/%{name} +%dir %{_datadir}/installed-tests +%{_datadir}/installed-tests/%{name} + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 1.5.16-21 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-21 +- tests: Move gnome-calendar and gnome-epub-thumbnailer to Fedora only + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-20 +- tests: Add gnome-shell-47 to no-overview extension + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-19 +- tests: gdm-47~alpha-4 provides headless files + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-18 +- Update CI for RHEL10 +- Add no-overview@fthx until gnome-shell-extension-no-overview is available +- Add gnome-headless-session@.service until GDM will provide it + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-17 +- tests: Delete RHEL specific packages + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-16 +- tests: Update packages with comps-f41 +- Add base-graphical +- Add fonts default +- Delete libcanberra-gtk3, libproxy-duktape +- Delete tmt for RHEL CI + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-15 +- Replace STI with TMT in CI + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-14 +- Support GNOME Wayland and GTK4 in CI + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-13 +- Revert change of "Fix CI freeze" (c89a603) + +* Tue Sep 17 2024 Takao Fujiwara - 1.5.16-12 +- Delete CI with STI + +* Sat Jul 13 2024 Takao Fujiwara - 1.5.16-11 +- Update required packages in CI +- adobe-source-code-pro-fonts is no longer available in RHEL10 +- dnf and git do not work after systemd-oomd-defaults is installed + +* Mon Jun 24 2024 Troy Dawson - 1.5.16-10 +- Bump release for June 2024 mass rebuild + +* Thu May 16 2024 Takao Fujiwara - 1.5.16-9 +- RPMAUTOSPEC: unresolvable merge +## END: Generated by rpmautospec