Accepting request 1116330 from home:MargueriteSu:branches:M17N

- fix factory build:
  * libX11-data dropped some compose sequences in en_US locale
    due to xkeyboard-config changes in version 1.8.7 (commit af2b6dfa)
  * so some itb tests are not valid any more.

OBS-URL: https://build.opensuse.org/request/show/1116330
OBS-URL: https://build.opensuse.org/package/show/M17N/ibus-typing-booster?expand=0&rev=246
This commit is contained in:
Marguerite Su 2023-10-09 09:30:57 +00:00 committed by Git OBS Bridge
parent 77c9683bac
commit 8867f8c140
3 changed files with 193 additions and 37 deletions

View File

@ -0,0 +1,145 @@
Index: ibus-typing-booster-2.24.2/tests/test_itb.py
===================================================================
--- ibus-typing-booster-2.24.2.orig/tests/test_itb.py
+++ ibus-typing-booster-2.24.2/tests/test_itb.py
@@ -2367,89 +2367,73 @@ class ItbTestCase(unittest.TestCase):
['en_US'], update_gsettings=False)
self.engine.do_process_key_event(IBus.KEY_dead_macron, 0, 0)
self.assertEqual(self.engine.mock_preedit_text, '¯')
- self.engine.do_process_key_event(0x010001EB, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭ')
- self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭ·')
- self.engine.do_process_key_event(IBus.KEY_macron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭ¯')
- self.engine.do_process_key_event(0x010001EB, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ')
- self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ·')
- self.engine.do_process_key_event(IBus.KEY_underscore, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ_')
- self.engine.do_process_key_event(0x010001EB, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ')
- self.engine.do_process_key_event(IBus.KEY_dead_macron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ¯')
self.engine.do_process_key_event(IBus.KEY_dead_ogonek, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ¯˛')
+ self.assertEqual(self.engine.mock_preedit_text, '¯˛')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭ')
self.engine.do_process_key_event(IBus.KEY_dead_macron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ¯')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭ¯')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ¯·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭ¯·')
self.engine.do_process_key_event(IBus.KEY_semicolon, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ¯·;')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭ¯·;')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ·')
self.engine.do_process_key_event(IBus.KEY_macron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ¯')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ¯')
self.engine.do_process_key_event(IBus.KEY_dead_ogonek, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ¯˛')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭ¯˛')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ·')
self.engine.do_process_key_event(IBus.KEY_macron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭ¯')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ¯')
self.engine.do_process_key_event(IBus.KEY_semicolon, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭ¯;')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭ¯;')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ·')
self.engine.do_process_key_event(IBus.KEY_underscore, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭ_')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ_')
self.engine.do_process_key_event(IBus.KEY_dead_ogonek, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭ_˛')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭ_˛')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ·')
self.engine.do_process_key_event(IBus.KEY_underscore, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭ_')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ_')
self.engine.do_process_key_event(IBus.KEY_semicolon, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭ_;')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭ_;')
self.engine.do_process_key_event(IBus.KEY_o, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭ')
self.engine.do_process_key_event(IBus.KEY_dead_caron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭˇ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭˇ')
self.engine.do_process_key_event(IBus.KEY_EZH, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮ·')
self.engine.do_process_key_event(IBus.KEY_c, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮc')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮc')
self.engine.do_process_key_event(IBus.KEY_EZH, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮ')
self.engine.do_process_key_event(IBus.KEY_dead_caron, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮˇ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮˇ')
self.engine.do_process_key_event(IBus.KEY_ezh, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮǯ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯ·')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮǯ·')
self.engine.do_process_key_event(IBus.KEY_c, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯc')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮǯc')
self.engine.do_process_key_event(IBus.KEY_ezh, 0, 0)
- self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯǯ')
+ self.assertEqual(self.engine.mock_preedit_text, 'ǭǭǭǭǭǭǮǮǯǯ')
self.engine.do_process_key_event(IBus.KEY_space, 0, 0)
self.assertEqual(self.engine.mock_preedit_text, '')
- self.assertEqual(self.engine.mock_committed_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯǯ ')
+ self.assertEqual(self.engine.mock_committed_text, 'ǭǭǭǭǭǭǮǮǯǯ ')
if self._compose_sequences.compose([IBus.KEY_Multi_key, 0x01002276, IBus.KEY_slash]) != '≸':
self.skipTest(
'Compose file too old, older than '
@@ -2462,7 +2446,7 @@ class ItbTestCase(unittest.TestCase):
self.assertEqual(self.engine.mock_preedit_text, '≸')
self.engine.do_process_key_event(IBus.KEY_space, 0, 0)
self.assertEqual(self.engine.mock_preedit_text, '')
- self.assertEqual(self.engine.mock_committed_text, 'ǭǭǭǭǭǭǭǭǭǮǮǯǯ ≸ ')
+ self.assertEqual(self.engine.mock_committed_text, 'ǭǭǭǭǭǭǮǮǯǯ ≸ ')
self.engine.do_process_key_event(IBus.KEY_Multi_key, 0, 0)
self.assertEqual(self.engine.mock_preedit_text, '·')
self.engine.do_process_key_event(0x0100093C, 0, 0)
@@ -2473,7 +2457,7 @@ class ItbTestCase(unittest.TestCase):
self.engine.do_process_key_event(IBus.KEY_space, 0, 0)
self.assertEqual(self.engine.mock_preedit_text, '')
self.assertEqual(self.engine.mock_committed_text,
- 'ǭǭǭǭǭǭǭǭǭǮǮǯǯ ≸ \u0915\u093C ')
+ 'ǭǭǭǭǭǭǮǮǯǯ ≸ \u0915\u093C ')
def test_compose_combining_chars_in_preedit_representation(self) -> None:
self.engine.set_current_imes(

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sun Oct 8 16:26:56 UTC 2023 - Marguerite Su <i@marguerite.su>
- fix factory build:
* libX11-data dropped some compose sequences in en_US locale
due to xkeyboard-config changes in version 1.8.7 (commit af2b6dfa)
* so some itb tests are not valid any more.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Oct 02 09:13:14 UTC 2023 - maiku.fabian@gmail.com Mon Oct 02 09:13:14 UTC 2023 - maiku.fabian@gmail.com

View File

@ -25,27 +25,51 @@ Group: System/X11/Utilities
URL: https://mike-fabian.github.io/ibus-typing-booster/ URL: https://mike-fabian.github.io/ibus-typing-booster/
Source0: https://github.com/mike-fabian/ibus-typing-booster/releases/download/%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/mike-fabian/ibus-typing-booster/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: https://releases.pagure.org/inscript2/inscript2-20210820.tar.gz Source1: https://releases.pagure.org/inscript2/inscript2-20210820.tar.gz
Patch0: %{name}-libX11-1.8.7.patch
BuildRequires: AppStream
BuildRequires: appstream-glib
BuildRequires: dbus-1-x11 BuildRequires: dbus-1-x11
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: glib2
BuildRequires: glibc-locale
BuildRequires: gtk3
BuildRequires: ibus-devel BuildRequires: ibus-devel
BuildRequires: m17n-db
# for the unit tests
BuildRequires: m17n-lib
BuildRequires: python3 BuildRequires: python3
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-gobject BuildRequires: python3-gobject
BuildRequires: python3-gobject-Gdk BuildRequires: python3-gobject-Gdk
BuildRequires: update-desktop-files
# for the unit tests
BuildRequires: m17n-lib
BuildRequires: AppStream
BuildRequires: appstream-glib
BuildRequires: glib2
BuildRequires: glibc-locale
BuildRequires: gtk3
BuildRequires: m17n-db
BuildRequires: python3-pyenchant
BuildRequires: xvfb-run
# Because of “from packing import version”: # Because of “from packing import version”:
BuildRequires: python3-packaging BuildRequires: python3-packaging
BuildRequires: python3-pyenchant
BuildRequires: update-desktop-files
BuildRequires: xvfb-run
Requires: dbus-1-python3
# Workaround bug with python3-enchant: https://bugzilla.opensuse.org/show_bug.cgi?id=1141993
Requires: enchant-1-backend
#
Requires: ibus >= 1.5.3
Requires: m17n-lib
Requires: python3 >= 3.3
Requires: python3-distro
# Because of “from packing import version”:
Requires: python3-packaging
Requires: python3-pyenchant
Requires: python3-pyxdg
Recommends: gdouros-symbola-fonts
# Recommend reasonably good fonts which have most of the emoji:
Recommends: noto-coloremoji-fonts
# For speech recognition:
Recommends: python3-PyAudio
# To make the setup tool look nicer and the search for dictionaries and imes better:
Recommends: python3-langtable
# Better regexpressions (optional):
Recommends: python3-regex
# To play a sound on error:
Recommends: python3-simpleaudio
%if 0%{?sle_version} >= 120200 %if 0%{?sle_version} >= 120200
BuildRequires: python3-pyxdg BuildRequires: python3-pyxdg
%endif %endif
@ -64,29 +88,6 @@ BuildRequires: myspell-es_ES
BuildRequires: myspell-fr_FR BuildRequires: myspell-fr_FR
BuildRequires: myspell-it_IT BuildRequires: myspell-it_IT
%endif %endif
#
Requires: ibus >= 1.5.3
Requires: dbus-1-python3
Requires: m17n-lib
Requires: python3 >= 3.3
Requires: python3-distro
Requires: python3-pyenchant
# Because of “from packing import version”:
Requires: python3-packaging
# Workaround bug with python3-enchant: https://bugzilla.opensuse.org/show_bug.cgi?id=1141993
Requires: enchant-1-backend
Requires: python3-pyxdg
# Recommend reasonably good fonts which have most of the emoji:
Recommends: noto-coloremoji-fonts
Recommends: gdouros-symbola-fonts
# For speech recognition:
Recommends: python3-PyAudio
# To play a sound on error:
Recommends: python3-simpleaudio
# To make the setup tool look nicer and the search for dictionaries and imes better:
Recommends: python3-langtable
# Better regexpressions (optional):
Recommends: python3-regex
%description %description
Ibus-typing-booster is a context sensitive completion Ibus-typing-booster is a context sensitive completion
@ -98,11 +99,12 @@ input method to speedup typing.
##extract inscript2 maps ##extract inscript2 maps
tar xzf %{SOURCE1} tar xzf %{SOURCE1}
%endif %endif
%patch0 -p1
%build %build
export PYTHON=%{_bindir}/python3 export PYTHON=%{_bindir}/python3
%configure --disable-static --libexecdir=%{_libdir}/ibus %configure --disable-static --libexecdir=%{_libdir}/ibus
make %{?_smp_mflags} %make_build
%install %install
export PYTHON=%{_bindir}/python3 export PYTHON=%{_bindir}/python3
@ -133,7 +135,7 @@ export M17NDIR=%{buildroot}%{_datadir}/m17n/
desktop-file-validate \ desktop-file-validate \
%{buildroot}%{_datadir}/applications/ibus-setup-typing-booster.desktop %{buildroot}%{_datadir}/applications/ibus-setup-typing-booster.desktop
desktop-file-validate \ desktop-file-validate \
$RPM_BUILD_ROOT%{_datadir}/applications/emoji-picker.desktop %{buildroot}%{_datadir}/applications/emoji-picker.desktop
pushd engine pushd engine
# run doctests # run doctests
# hunspell_suggest.py test currently doesn't work on SuSE because # hunspell_suggest.py test currently doesn't work on SuSE because
@ -200,7 +202,8 @@ fi
%{_bindir}/ibus write-cache --system &>/dev/null || : %{_bindir}/ibus write-cache --system &>/dev/null || :
%files -f %{name}.lang %files -f %{name}.lang
%doc AUTHORS COPYING README README.html README.md %license COPYING
%doc AUTHORS README README.html README.md
%{_bindir}/emoji-picker %{_bindir}/emoji-picker
%{_datadir}/%{name} %{_datadir}/%{name}
%dir %{_datadir}/metainfo %dir %{_datadir}/metainfo