diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..68fd01d --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +tests/artifacts +ibus-anthy-1.2.1.tar.gz +ibus-anthy.png +/ibus-anthy-1.2.2.20101015.tar.gz +/ibus-anthy-1.2.3.tar.gz +/ibus-anthy-1.2.4.tar.gz +/ibus-anthy-1.2.5.tar.gz +/ibus-anthy-1.2.6.tar.gz +/ibus-anthy-1.2.7.tar.gz +/ibus-anthy-1.3.99.20120304.tar.gz +/ibus-anthy-1.4.99.20120327.tar.gz +/ibus-anthy-1.4.99.20121006.tar.gz +/ibus-anthy-1.5.0.tar.gz +/ibus-anthy-1.5.1.tar.gz +/ibus-anthy-1.5.2.tar.gz +/ibus-anthy-1.5.3.tar.gz +/ibus-anthy-1.5.4.tar.gz +/ibus-anthy-1.5.5.tar.gz +/ibus-anthy-1.5.6.tar.gz +/ibus-anthy-1.5.7.tar.gz +/ibus-anthy-1.5.8.tar.gz +/ibus-anthy-1.5.9.tar.gz +/ibus-anthy-1.5.10.tar.gz +/ibus-anthy-1.5.11.tar.gz +/ibus-anthy-1.5.12.tar.gz +/ibus-anthy-1.5.13.tar.gz +/ibus-anthy-1.5.14.tar.gz +/ibus-anthy-1.5.15.tar.gz +/ibus-anthy-1.5.16.tar.gz +/ibus-anthy-1.5.17.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index ea4fe05..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: ibus-anthy -# $Id$ -NAME := ibus-anthy -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/changelog b/changelog new file mode 100644 index 0000000..2999d16 --- /dev/null +++ b/changelog @@ -0,0 +1,462 @@ +* Tue Mar 12 2024 Takao Fujiwara - 1.5.16-2 +- Disable Super-l in Hiragana mode + +* Wed Feb 28 2024 Takao Fujiwara - 1.5.16-1 +- Bump to 1.5.16 + +* Wed Jan 31 2024 Takao Fujiwara - 1.5.15-6 +- Fix make check with GitHub action + +* Tue Jan 30 2024 Takao Fujiwara - 1.5.15-5 +- Resolves #2261242 Update era.t with 2024 +- Add appstream-util validattion + +* Wed Jan 24 2024 Fedora Release Engineering - 1.5.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.5.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Sep 07 2023 Takao Fujiwara - 1.5.15-2 +- Resolves #2237374 Fix to commit selected candidate with OSK + +* Tue Aug 22 2023 Takao Fujiwara - 1.5.15-1 +- Bump to 1.5.15 + +* Fri Aug 18 2023 Takao Fujiwara - 1.5.14-15 +- Resolves #2232532 converting Super+Space to wide space character + +* Thu Jul 20 2023 Fedora Release Engineering - 1.5.14-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-13 +- Resolves #2015149 Commit candidate text with clicking on candidate list in OSK + +* Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 +- Fix to load EN compose table + +* Thu Jan 26 2023 Takao Fujiwara - 1.5.14-10 +- Add 2023 Era +- Fix PageDown/PageUp + +* Thu Jan 19 2023 Fedora Release Engineering - 1.5.14-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 16 2022 Takao Fujiwara - 1.5.14-8 +- Migrate license tag to SPDX + +* Wed Aug 03 2022 Takao Fujiwara - 1.5.14-7 +- Change metainfo icon from SVG to PNG file + +* Wed Aug 03 2022 Takao Fujiwara - 1.5.14-6 +- Add icon tag in ibus-anthy.appdata.xml.in +- Enable IBus.Engine::has-focus-id property +- Add the escape_to_latin command as a vi-cooperative cancel + +* Thu Jul 21 2022 Fedora Release Engineering - 1.5.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 14 2022 Takao Fujiwara - 1.5.14-4 +- Resolves #2064261 assertion error with page size 0 + +* Thu Jan 27 2022 Takao Fujiwara - 1.5.14-3 +- Add 2022 Era + +* Thu Jan 20 2022 Fedora Release Engineering - 1.5.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 24 2021 Takao Fujiwara - 1.5.14-1 +- Bump to 1.5.14 + +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 +- export C.UTF-8 for make check + +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 +- Update era.t with 2021 +- Check python3-pycotap.rpm in Fedora instead of pip + +* Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 +- Bump to 1.5.13 + +* Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 +- Remove Ctrl+period in circle_kana_mode + +* Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 +- Delete postscript for ibus write-cache + +* Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 +- Move .desktop file from ibus-anthy-python to ibus-anthy +- Fix covscan + +* Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 +- Resolves: #1948197 Move post to posttrans + +* Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 +- Delete postscripts + +* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 +- Output info to stderr instead of StringIO + +* Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 +- Change default input mode to Hiragana + +* Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 +- Bump to 1.5.12 + +* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 +- Replace kasumi with kausmi-unicode +- Delete to require intltool +- Delete to call gettext.bind_textdomain_codeset() + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 +- Use pycotap instead of tappy in CI +- Revise CI from ibus-typing-booster +- Delete _python_bytecompile_extra + +* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 +- Bug 1779129- Fix to install zipcode dict with anthy-unicode + +* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 +- Add CI + +* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 +- Replace anthy with anthy-unicode +- Install ibus-anthy-tests sub package + +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 +- Bump to 1.5.11 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 +- Rebuilt for Python 3.7 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 +- Reverted scriptlets for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 +- Reverted ldconfig for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + +* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 +- Rebuild for Python 3.6 + +* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 +- Fix URL in anthy.appdata.xml + +* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 +- Resolved #1214092 Updated ibus-anthy-HEAD.patch +- Added with_appdata macro and removed with_python_pkg macro + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 +- Add the AppData file to the right built RPM, in this case we have to install + ibus-anthy-python rather than the main package in gnome-software. +- It turns out adding the AppData file to spec files is a great way to fix these + kinds of bugs. :) + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 +- Use an AppStream file compatible with F22 also. + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 +- Register as an AppStream component. + +* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. +- Use python2 for epel7. + +* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 +- Rebuilt for gobject-introspection 1.41.4 + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. + Set 'IBUS_SETUP_XID' environment variable in setup. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 +- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. + +* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 +- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. + +* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 +- Updated ibus-anthy-HEAD.patch to enable property icon. + +* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Enabled python3. + +* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 +- Required ibus-anthy by ibus-anthy-python + +* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus-anthy-python subpackage for noarch. +- Deleted ibus-anthy-xx-disable-prop-symbol.patch + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 + +* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 + +* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 +- Bumped to 1.5.0 + +* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 +- Resolved #884031. Deleted arch depended files. + +* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated to save the spec update. + +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 +- Bumped to 1.4.99.20120327 + +* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 +- Bumped to 1.3.99.20120304 + +* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 +- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 +- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. + +* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 +- Bumped to 1.2.6 + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 +- Updated to 1.2.5 + Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 654322 - new custom keys are not loaded. + +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +- Updated to 1.2.4 +- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV + +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 +- Updated to 1.2.3 +- Updated translations. + +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 +- Updated to 1.2.2.20101015 +- Fixed Bug 643291 - ibus-anthy commit_first_segment + +* Wed Jul 21 2010 David Malcolm - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 +- Update to 1.2.1 + +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 +- Update icon + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 +- Update to 1.2.0.20100313 +- Update fr.po + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 +- Update to 1.2.0.20100312.1 +- Minor fix for a translation + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 +- Update to 1.2.0.20100312 +- Fix bug 571728 - ibus-anthy support to switch dicts +- Fix bug 572412 - ibus-anthy: Segment convertion mode + +* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 +- Fix bug 564268 - Crash with enabled global input method +- Fix bug 570680 - Support NICOLA-F and NICOLA-A +- Fix romaji_typing_rule. #777 +- Fix Shift + char with CapsLock ON in romaji mode. +- Fix chattering bug. + +* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 +- Update to 1.2.0.20100115 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy + +* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Update to 1.2.0.20091127 +- Fix bug 520989 - ibus-anthy icon enhancement +- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt +- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy + +* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 +- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt + +* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 +- Update to 1.2.0.20090917 +- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 +- Fix a build issue + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 +- Update to 1.2.0.20090907 +- Fix bug 510978 - "Typing Method" configuration doesn't work +- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. + +* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 +- Update to 1.2.0.20090813 +- Fix bug 509483 - reconversion feature doesn't work +- Fix bug 509485 - commit_first_segment feature doesn't work + +* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 +- Update to 1.2.0.20090804 +- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + +* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 +- require kasumi to pull in dictionary tool + +* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 +- Update to 1.1.0.20090603 +- Implement setup ui. + +* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 +- Update to upstream HEAD version +- Fix bug 498250 - Cannot type zenkaku-space + +* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 +- Update to 1.1.0.20090402. +- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion +- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything +- Fix bug 490748 - Kana key doesn't do anything + +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 +- Rebuild for Python 2.6 + +* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 +- Update to 0.1.1.20080912. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 +- Update to 0.1.1.20080828. + +* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 +- Update to 0.1.1.20080827. + +* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 +- Update to 0.1.1.20080826. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 +- The first version. diff --git a/ibus-anthy-1938129-default-hiragana.patch b/ibus-anthy-1938129-default-hiragana.patch new file mode 100644 index 0000000..79f769a --- /dev/null +++ b/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/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..c8c77b8 --- /dev/null +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,1367 @@ +From 7f3101f60abc0c615ec2dcf82729b554373cddcc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 7 Jun 2025 15:33:17 +0900 +Subject: [PATCH] configure: Drop Python 2 support + +--- + configure.ac | 26 +++++++++----------------- + engine/Makefile.am | 8 ++------ + setup/Makefile.am | 8 ++------ + 3 files changed, 13 insertions(+), 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8bb6733..e4090c3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -117,12 +117,12 @@ AC_SUBST(ENV_IBUS_TEST) + dnl - define python version + AC_ARG_WITH(python, + AS_HELP_STRING([--with-python[=PATH]], +- [Select python2 or python3]), ++ [Select python3. python2 is no longer supported.]), + [PYTHON=$with_python], [] + ) + + dnl export $pyexecdir using existent $PYTHON +-AM_PATH_PYTHON([2.5]) ++AM_PATH_PYTHON([3.0]) + + dnl Decided to separate python3 directory from python2 directory here + dnl because engine/table.py includes unicode array so it's better to +@@ -142,15 +142,12 @@ dnl return gettext(a) + case "$PYTHON_VERSION" in + 3.*) + enable_python3=yes +- enable_python2=no + ;; + *) +- enable_python3=no +- enable_python2=yes ++ AC_MSG_ERROR([Not support PYTHON $PYTHON]) + ;; + esac + +-AM_CONDITIONAL([ENABLE_PYTHON2], [test x"$enable_python2" = x"yes"]) + AM_CONDITIONAL([ENABLE_PYTHON3], [test x"$enable_python3" = x"yes"]) + + dnl - check the supported ibus version +@@ -192,15 +189,14 @@ fi + AC_SUBST(ENV_IBUS_ENGINE) + + dnl - check pygtk2 +-AC_MSG_CHECKING([whether you enable pygtk2 anthy]) ++AC_MSG_NOTICE([pygtk2 does not work because python2 is no longer supported.]) + AC_ARG_ENABLE(pygtk2-anthy, + AS_HELP_STRING([--enable-pygtk2-anthy=no/yes], +- [Install pygtk2 anthy default=no]), +- [], +- enable_pygtk2_anthy=no) +-AC_MSG_RESULT($enable_pygtk2_anthy) ++ [pygtk2 is no longer supported.]), ++ enable_pygtk2=no, ++ enable_pygtk2=no) + +-if test x"$enable_pygtk2_anthy" = xyes; then ++if test x"$enable_pygtk2" = xyes; then + AM_CONDITIONAL(HAVE_PYGTK2_ANTHY, true) + + dnl - check swig +@@ -447,14 +443,10 @@ ibus-anthy.spec + data/Makefile + gir/Makefile + engine/Makefile +-engine/python2/Makefile +-engine/python2/anthy.inputMethod.xml.in +-engine/python2/default.inputMethod.xml.in + engine/python3/Makefile + engine/python3/anthy.inputMethod.xml.in + engine/python3/default.inputMethod.xml.in + setup/Makefile +-setup/python2/Makefile + setup/python3/Makefile + tests/Makefile + icons/Makefile +@@ -475,7 +467,7 @@ ANTHY_GOBJECT_GIRDIR $ANTHY_GOBJECT_GIRDIR + ANTHY_GOBJECT_TYPELIBSDIR $ANTHY_GOBJECT_TYPELIBSDIR + LT_VERSION_INFO $LT_VERSION_INFO + ENV_IBUS_ENGINE $ENV_IBUS_ENGINE +-HAVE_PYGTK2_ANTHY $enable_pygtk2_anthy ++HAVE_PYGTK2_ANTHY $enable_pygtk2 + python $PYTHON + Enable python2 $enable_python2 + Enable python3 $enable_python3 +diff --git a/engine/Makefile.am b/engine/Makefile.am +index 3c64425..991d7e3 100644 +--- a/engine/Makefile.am ++++ b/engine/Makefile.am +@@ -2,8 +2,8 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2014 Takao Fujiwara +-# Copyright (c) 2014 Red Hat, Inc. ++# Copyright (c) 2014-2025 Takao Fujiwara ++# Copyright (c) 2014-2025 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -21,10 +21,6 @@ + + SUBDIRS = + +-if ENABLE_PYTHON2 +-SUBDIRS += python2 +-endif +- + if ENABLE_PYTHON3 + SUBDIRS += python3 + endif +diff --git a/setup/Makefile.am b/setup/Makefile.am +index 3c64425..991d7e3 100644 +--- a/setup/Makefile.am ++++ b/setup/Makefile.am +@@ -2,8 +2,8 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2014 Takao Fujiwara +-# Copyright (c) 2014 Red Hat, Inc. ++# Copyright (c) 2014-2025 Takao Fujiwara ++# Copyright (c) 2014-2025 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -21,10 +21,6 @@ + + SUBDIRS = + +-if ENABLE_PYTHON2 +-SUBDIRS += python2 +-endif +- + if ENABLE_PYTHON3 + SUBDIRS += python3 + endif +-- +2.49.0 + +From 7dd0db48e69306d28cb033336e0e7429b2920fb1 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 7 Jun 2025 15:34:18 +0900 +Subject: [PATCH] engine: Enable compose error notification + +IBusEngimeSimple now can use focus-id feature to warn the messages +for GNOME and Wayland specific and the parent class needs to connect +the 'focus-in/out-id' signals instead overriding the class methods +to access ibus_engine_simple_focus_in_id(). + +Also define the name of GType of the Python classes. + +BUG=https://github.com/ibus/ibus/pull/2763 +--- + engine/python3/engine.py | 26 ++++++++++++++++---------- + engine/python3/factory.py | 3 ++- + 2 files changed, 18 insertions(+), 11 deletions(-) + +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 0858614..5678d18 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-2024 Takao Fujiwara ++# Copyright (c) 2010-2025 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -116,6 +116,7 @@ for k, v in zip(['KEY_KP_Add', 'KEY_KP_Decimal', 'KEY_KP_Divide', 'KEY_KP_Enter' + KP_Table[getattr(IBus, k)] = getattr(IBus, v) + + class Engine(IBus.EngineSimple): ++ __gtype_name__ = 'IBusEngineAnthy' + __input_mode = None + __typing_mode = None + __segment_mode = None +@@ -129,12 +130,12 @@ class Engine(IBus.EngineSimple): + + def __init__(self, bus, object_path): + if hasattr(IBus.Engine.props, 'has_focus_id'): +- super(Engine, self).__init__(engine_name="anthy", ++ super(Engine, self).__init__(engine_name='anthy', + connection=bus.get_connection(), + object_path=object_path, + has_focus_id=True) + else: +- super(Engine, self).__init__(engine_name="anthy", ++ super(Engine, self).__init__(engine_name='anthy', + connection=bus.get_connection(), + object_path=object_path) + +@@ -186,6 +187,11 @@ class Engine(IBus.EngineSimple): + # loop infinitely if this class overrides it. + # self.process_key_event is not accessible too. + self.connect('process-key-event', self.__process_key_event) ++ self.connect('focus-in', self.__focus_in) ++ # flashing compose sequence in GNOME instead of system bell ++ self.connect('focus-in-id', self.__focus_in_id) ++ self.connect('focus-out', self.__focus_out) ++ self.connect('focus-out-id', self.__focus_out_id) + self.connect('destroy', self.__destroy) + self.connect('page-down', self.__page_down) + self.connect('page-up', self.__page_up) +@@ -1059,13 +1065,10 @@ class Engine(IBus.EngineSimple): + def __rgb(self, r, g, b): + return self.__argb(255, r, g, b) + +- def do_focus_in(self): +- self.do_focus_in_id(None, None) ++ def __focus_in(self, obj): ++ self.__focus_in_id(obj, None, None) + +- def do_focus_out(self): +- self.do_focus_out_id(None) +- +- def do_focus_in_id(self, object_path, client): ++ def __focus_in_id(self, obj, object_path, client): + self.register_properties(self.__prop_list) + self.__refresh_typing_mode_property() + mode = self.__prefs.get_value('common', 'behavior-on-focus-out') +@@ -1077,7 +1080,10 @@ class Engine(IBus.EngineSimple): + if size != self.__lookup_table.get_page_size(): + self.__lookup_table.set_page_size(size) + +- def do_focus_out_id(self, object_path): ++ def __focus_out(self, obj): ++ self.__focus_out_id(obj, None) ++ ++ def __focus_out_id(self, obj, object_path): + if self.__has_input_purpose: + self.__input_purpose = 0 + mode = self.__prefs.get_value('common', 'behavior-on-focus-out') +diff --git a/engine/python3/factory.py b/engine/python3/factory.py +index b7b1e89..ea1d364 100644 +--- a/engine/python3/factory.py ++++ b/engine/python3/factory.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2017 Takao Fujiwara ++# Copyright (c) 2010-2025 Takao Fujiwara + # Copyright (c) 2007-2017 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -34,6 +34,7 @@ import engine + + + class EngineFactory(IBus.Factory): ++ __gtype_name__ = 'IBusFactoryAnthy' + FACTORY_PATH = '/com/redhat/IBus/engines/Anthy/Factory' + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Engine' + NAME = 'Anthy' +-- +2.49.0 + +From 7e345f89b574b746fa9e33df3504831ff7553ec9 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 3 Sep 2025 13:38:15 +0900 +Subject: [PATCH] engine/engine: Use preedit semantic API + +ibus_attr_hint_new() API is provided and other ibus_attr_underline_new(), +ibus_attr_foreground_new() and ibus_attr_foreground_new() are deprecated +so that IBus panel or the Wayland panels decide the actual preedit colors +with the current desktop theme. + +BUG=https://github.com/ibus/ibus/pull/2790 +--- + engine/python3/engine.py | 52 ++++++++++++++++++++++++++++------------ + 1 file changed, 37 insertions(+), 15 deletions(-) + +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 5678d18..a0bbc38 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -152,6 +152,7 @@ class Engine(IBus.EngineSimple): + self.__prop_dict = {} + self.__input_purpose = 0 + self.__has_input_purpose = False ++ self.__has_preedit_format_hint = False + # OSK mode is designed for OSK on gnome-shell, which always shows + # IBus lookup window prior to the preedit and selecting a candidate + # causes the commmit instead of the selection. +@@ -169,6 +170,8 @@ class Engine(IBus.EngineSimple): + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False ++ if hasattr(IBus, 'attr_hint_new'): ++ self.__has_preedit_format_hint = True + + # self.__lookup_table = ibus.LookupTable.new(page_size=9, + # cursor_pos=0, +@@ -1241,9 +1244,14 @@ class Engine(IBus.EngineSimple): + def __update_input_chars(self): + text, cursor = self.__get_preedit() + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, +- len(text))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, ++ len(text))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, ++ len(text))) + + self.update_preedit(text, + attrs, cursor, not self.__preedit_ja_string.is_empty()) +@@ -1293,12 +1301,18 @@ class Engine(IBus.EngineSimple): + text = text.capitalize() + self.__convert_chars = text + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, len(text))) +- attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), +- 0, len(text))) +- attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), +- 0, len(text))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, len(text))) ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.SELECTION, 0, len(text))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, len(text))) ++ attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), ++ 0, len(text))) ++ attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), ++ 0, len(text))) + self.update_preedit(text, attrs, len(text), True) + + self.update_aux_string('', +@@ -1314,12 +1328,20 @@ class Engine(IBus.EngineSimple): + if i < self.__cursor_pos: + pos += len(text) + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, len(self.__convert_chars))) +- attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), +- pos, pos + len(self.__segments[self.__cursor_pos][1]))) +- attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), +- pos, pos + len(self.__segments[self.__cursor_pos][1]))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, len(self.__convert_chars))) ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.SELECTION, ++ pos, ++ pos + len(self.__segments[self.__cursor_pos][1]))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, len(self.__convert_chars))) ++ attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), ++ pos, pos + len(self.__segments[self.__cursor_pos][1]))) ++ attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), ++ pos, pos + len(self.__segments[self.__cursor_pos][1]))) + self.update_preedit(self.__convert_chars, attrs, pos, True) + aux_string = '( %d / %d )' % (self.__lookup_table.get_cursor_pos() + 1, self.__lookup_table.get_number_of_candidates()) + self.update_aux_string(aux_string, +-- +2.50.1 + +From 646ea5d63852477bd902a971952cac777019da09 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Dec 2025 17:41:21 +0900 +Subject: [PATCH] engine: Fix double IBus.init() + +Calling IBus.init() twice causes a big memory leaks in OpenIndiana +2025.10 which uses IBus 1.5.29. +I have no idea to check the parent Python stack and use inspect module +to fix the double IBus.init(). +Also move ibus_check_version() from engin.py to main.py + +BUG=https://github.com/ibus/ibus-anthy/issues/44 +Fixes: https://github.com/ibus/ibus-anthy/commit/14b2759 +--- + engine/python2/engine.py | 12 ++---------- + engine/python2/main.py | 24 +++++++++++++++++++++++- + engine/python3/engine.py | 12 ++---------- + engine/python3/main.py | 24 +++++++++++++++++++++++- + 4 files changed, 50 insertions(+), 22 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index c7ccd3f..942dd33 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -28,7 +28,7 @@ import signal + import sys + from gettext import dgettext + +-from main import get_userhome ++from main import get_userhome, ibus_check_version + + try: + from locale import getpreferredencoding +@@ -163,7 +163,7 @@ class Engine(IBus.EngineSimple): + self.__is_utf8 = False + self.__has_update_preedit_text_with_mode = True + try: +- self.__ibus_check_version('1.3') ++ ibus_check_version('1.3') + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False +@@ -195,14 +195,6 @@ class Engine(IBus.EngineSimple): + self.__reset() + + +- def __ibus_check_version(self, v): +- major = IBus.MAJOR_VERSION +- minor = IBus.MINOR_VERSION +- micro = IBus.MICRO_VERSION +- if (major, minor, micro) < tuple(map(int, (v.split('.')))): +- raise ValueError('Required ibus %s but version of ibus is ' \ +- '%d.%d.%d' % (v, major, minor, micro)) +- + # http://en.sourceforge.jp/ticket/browse.php?group_id=14&tid=33075 + def __verify_anthy_journal_file(self): + journal = ANTHY_CONFIG_PATH + '/last-record2_default.utf8' +diff --git a/engine/python2/main.py b/engine/python2/main.py +index c1e6a2f..bae2058 100644 +--- a/engine/python2/main.py ++++ b/engine/python2/main.py +@@ -42,11 +42,33 @@ from gi.repository import IBus + + import _config as config + ++ ++def ibus_check_version(v): ++ major = IBus.MAJOR_VERSION ++ minor = IBus.MINOR_VERSION ++ micro = IBus.MICRO_VERSION ++ if (major, minor, micro) < tuple(map(int, (v.split('.')))): ++ raise ValueError('Required ibus %s but version of ibus is ' \ ++ '%d.%d.%d' % (v, major, minor, micro)) ++ ++ + # Need to call IBus.init() before IBus.EngineSimple() is loaded. + # factory -> engine -> IBus.EngineSimple +-IBus.init() ++try: ++ # IBus.init() has not been needed here since IBus 1.5.32 ++ ibus_check_version("1.5.32") ++except ValueError: ++ import inspect ++ parent_frame = inspect.currentframe().f_back ++ # Call IBus.init() again from "from main import get_userhome" in engin.py. ++ # The twice IBus.init() issue has been fixed since IBus 1.5.31 by ++ # https://github.com/ibus/ibus/commit/9f50b46 ++ if parent_frame == None: ++ IBus.init() ++ + import factory + ++ + class IMApp: + def __init__(self, exec_by_ibus): + command_line = config.LIBEXECDIR + '/ibus-engine-anthy --ibus' +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index a0bbc38..4781d42 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -29,7 +29,7 @@ import signal + import sys + from gettext import dgettext + +-from main import get_userhome ++from main import get_userhome, ibus_check_version + + try: + from locale import getpreferredencoding +@@ -166,7 +166,7 @@ class Engine(IBus.EngineSimple): + self.__is_utf8 = False + self.__has_update_preedit_text_with_mode = True + try: +- self.__ibus_check_version('1.3') ++ ibus_check_version('1.3') + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False +@@ -205,14 +205,6 @@ class Engine(IBus.EngineSimple): + self.__reset() + + +- def __ibus_check_version(self, v): +- major = IBus.MAJOR_VERSION +- minor = IBus.MINOR_VERSION +- micro = IBus.MICRO_VERSION +- if (major, minor, micro) < tuple(map(int, (v.split('.')))): +- raise ValueError('Required ibus %s but version of ibus is ' \ +- '%d.%d.%d' % (v, major, minor, micro)) +- + # http://en.sourceforge.jp/ticket/browse.php?group_id=14&tid=33075 + def __verify_anthy_journal_file(self): + journal = ANTHY_CONFIG_PATH + '/last-record2_default.utf8' +diff --git a/engine/python3/main.py b/engine/python3/main.py +index 05836a6..3ab99b2 100644 +--- a/engine/python3/main.py ++++ b/engine/python3/main.py +@@ -42,11 +42,33 @@ from gi.repository import IBus + + import _config as config + ++ ++def ibus_check_version(v): ++ major = IBus.MAJOR_VERSION ++ minor = IBus.MINOR_VERSION ++ micro = IBus.MICRO_VERSION ++ if (major, minor, micro) < tuple(map(int, (v.split('.')))): ++ raise ValueError('Required ibus %s but version of ibus is ' \ ++ '%d.%d.%d' % (v, major, minor, micro)) ++ ++ + # Need to call IBus.init() before IBus.EngineSimple() is loaded. + # factory -> engine -> IBus.EngineSimple +-IBus.init() ++try: ++ # IBus.init() has not been needed here since IBus 1.5.32 ++ ibus_check_version("1.5.32") ++except ValueError: ++ import inspect ++ parent_frame = inspect.currentframe().f_back ++ # Call IBus.init() again from "from main import get_userhome" in engin.py. ++ # The twice IBus.init() issue has been fixed since IBus 1.5.31 by ++ # https://github.com/ibus/ibus/commit/9f50b46 ++ if parent_frame == None: ++ IBus.init() ++ + import factory + ++ + class IMApp: + def __init__(self, exec_by_ibus): + command_line = config.LIBEXECDIR + '/ibus-engine-anthy --ibus' +-- +2.52.0 + +From 296cd6b8e4e79964b4956953707b315c3dc010da Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 12 Jan 2026 09:49:48 +0900 +Subject: [PATCH] data: Update era.t with 2026 + +Added era.py to update the Era automatically. +--- + data/Makefile.am | 33 +++- + data/era.py | 196 +++++++++++++++++++ + data/era.t | 5 +- + data/era.t.in | 491 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 716 insertions(+), 9 deletions(-) + create mode 100755 data/era.py + create mode 100644 data/era.t.in + +diff --git a/data/Makefile.am b/data/Makefile.am +index d76f17a..c13d273 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -19,6 +19,8 @@ + # with this program; if not, write to the Free Software Foundation, Inc., + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + ++noinst_DATA = era.stamp ++ + dicts_DATA = \ + emoji.t \ + era.t \ +@@ -43,6 +45,7 @@ CLEANFILES = \ + $(metainfo_DATA) \ + $(schemas_DATA) \ + emoji.t \ ++ era.stamp \ + $(NULL) + + $(metainfo_DATA): $(metainfo_in_files) Makefile +@@ -79,14 +82,26 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) + CLEANFILES += zipcode.t + endif + ++era.t: era.stamp ++ ++era.stamp: ++ if test -f $(srcdir)/era.t ; then \ ++ if ! $(srcdir)/era.py --check $(srcdir)/era.t ; then \ ++ rm $(srcdir)/era.t; \ ++ $(srcdir)/era.py $(srcdir)/era.t.in \ ++ --output $(builddir)/era.t; \ ++ echo "Generate era.t"; \ ++ fi; \ ++ fi; \ ++ touch era.stampT; \ ++ mv era.stampT era.stamp; ++ + check: +- S_YEAR=`date '+%Y'`; \ +- M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ +- grep -q $$M_YEAR $(srcdir)/era.t; \ +- if test $$? -ne 0 ; then \ +- echo "This year $$M_YEAR is not included in era.y"; \ +- exit 1; \ +- fi; ++ if test -f $(srcdir)/era.t ; then \ ++ $(srcdir)/era.py --check $(srcdir)/era.t; \ ++ else \ ++ $(srcdir)/era.py --check $(builddir)/era.t; \ ++ fi + + install-data-hook: + if test -z "$(DESTDIR)"; then \ +@@ -106,6 +121,8 @@ EXTRA_DIST = \ + emoji-each.t \ + emoji-emoji.t \ + era.t \ ++ era.t.in \ ++ era.py \ + oldchar.t \ + symbol.t \ + zipcode-textdic.py \ +diff --git a/data/era.py b/data/era.py +new file mode 100755 +index 0000000..85eb55b +--- /dev/null ++++ b/data/era.py +@@ -0,0 +1,196 @@ ++#!/usr/bin/python3 ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2026 Takao Fujiwara ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++from datetime import date ++from os import path ++import getopt ++import locale ++import re ++import sys ++ ++ ++_prgname = "" ++ ++class JapaneseEra(object): ++ VERSION = 1 ++ ERA_FIRST = 2019 ++ HIRAGANA_ERA = 'れいわ' ++ KANJI_ERA = '令和' ++ KANJI_ERA_PREV = '平成' ++ __S_YEAR = 0 ++ __M_YEAR = '' ++ __narrow_to_wide_map = None ++ _check = False ++ _output_file = None ++ _parse_file = None ++ _parse_contents = None ++ ++ def __init__(self): ++ if self._parse_file == None: ++ print("%s.parse_args() should be called before the instance " ++ "is generated." % str(self), file=sys.stderr) ++ sys.exit(1) ++ self.__narrow_to_wide_map = str.maketrans('0123456789', ++ '0123456789') ++ self.__S_YEAR = date.today().year ++ self.__M_YEAR = str(self.__S_YEAR).translate(self.__narrow_to_wide_map) ++ parse_file = open(self._parse_file) ++ self._parse_contents = parse_file.read() ++ parse_file.close() ++ ++ ++ ++ @classmethod ++ def parse_args(cls)->None: ++ ++ shortopt = 'cho:v' ++ longopt = ['check', 'help', 'output=', 'version'] ++ ++ try: ++ opts, args = getopt.gnu_getopt(sys.argv[1:], shortopt, longopt) ++ except getopt.GetoptError as err: ++ cls.print_help(sys.stderr, 1) ++ ++ for o, a in opts: ++ if o in ('-h', '--help'): ++ cls.print_help(sys.stdout) ++ elif o in ('-c', '--check'): ++ cls._check = True ++ elif o in ('-o', '--output'): ++ cls._output_file = a ++ elif o in ('-v', '--version'): ++ print("%s Version %d" % (_prgname, cls.VERSION)) ++ sys.exit(0) ++ else: ++ print('Unknown argument: %s' % o, file=sys.stderr) ++ cls.print_help(sys.stderr, 1) ++ ++ if len(args) == 0: ++ cls.print_help(sys.stderr, 1) ++ cls._parse_file = args[0] ++ ++ ++ @staticmethod ++ def print_help(out, v=0)->None: ++ print("%s [OPTIONS...] ERA_FILE" % _prgname, file=out) ++ print("This replaces @HIRAGANA_TO_LATEST_ERA@ with latest Japanese Era " ++ "in ERA_FILE", ++ file=out) ++ print('OPTIONS', file=out) ++ print('-c, --check Check if the latest Japanese Era in ERA_FILE.', ++ file=out) ++ print('-h, --help Show this message.', file=out) ++ print('-v, --version Show version.', file=out) ++ sys.exit(v) ++ ++ ++ def run(self)->None: ++ if self._check: ++ self.check() ++ else: ++ self.update_file_with_keywords() ++ ++ ++ def check(self)->None: ++ if self._parse_contents == None: ++ assert() ++ pat = r'{}.*'.format(self.__M_YEAR) ++ res = re.findall(pat, self._parse_contents, re.MULTILINE) ++ if res: ++ print(res) ++ else: ++ print("This year {0} is not included in {1}".format( ++ self.__M_YEAR, self._parse_file), file=sys.stderr) ++ sys.exit(1) ++ ++ def update_file_with_keywords(self)->None: ++ if self._parse_contents == None: ++ assert() ++ HIRAGANA_TO_LATEST_ERA = '' ++ YEAR_TO_LATEST_ERA = '' ++ s_n = 1 ++ s_y = self.ERA_FIRST ++ while(s_y <= self.__S_YEAR): ++ m_n = str(s_n).translate(self.__narrow_to_wide_map) ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ HIRAGANA_TO_LATEST_ERA = \ ++"""{0}{1}{2} #T35*500 {3}{4} ++{5}{6} #T35*500 {7} ++""".format(HIRAGANA_TO_LATEST_ERA, ++ self.HIRAGANA_ERA, m_n, ++ self.KANJI_ERA, s_n, ++ self.HIRAGANA_ERA, m_n, ++ s_y) ++ YEAR_TO_LATEST_ERA = \ ++"""{0}{1} #T35*500 {2}{3} ++""".format(YEAR_TO_LATEST_ERA, ++ m_y, ++ self.KANJI_ERA, s_n) ++ s_n = s_n + 1 ++ s_y = s_y + 1 ++ HIRAGANA_TO_LATEST_ERA = HIRAGANA_TO_LATEST_ERA.strip() ++ YEAR_TO_LATEST_ERA = YEAR_TO_LATEST_ERA.strip() ++ tmp = self._parse_contents.replace( ++ '@HIRAGANA_TO_REIWA@', ++ HIRAGANA_TO_LATEST_ERA).replace( ++ '@YEAR_TO_REIWA@', ++ YEAR_TO_LATEST_ERA) ++ s_y = self.ERA_FIRST ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ pat = r'({0} #T35\*500 {1}[0-9]+)\n({2} #T35\*500 {3}1)'.format( ++ m_y, self.KANJI_ERA_PREV, m_y, self.KANJI_ERA) ++ # The lest Era should be first. ++ res = re.sub(pat, r'\2\n\1', tmp) ++ if res: ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(res) ++ f.flush() ++ f.close() ++ else: ++ print(res) ++ else: ++ print('Failed to find %s in %s' % (pat, self._parse_file), ++ file=sys.stderr) ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(tmp) ++ f.flush() ++ f.close() ++ else: ++ print(tmp) ++ ++ ++def main()->None: ++ try: ++ locale.setlocale(locale.LC_ALL, '') ++ except: ++ pass ++ global _prgname ++ _prgname = path.basename(sys.argv[0]) ++ JapaneseEra.parse_args() ++ era = JapaneseEra() ++ era.run() ++ ++ ++if __name__ == '__main__': ++ main() +diff --git a/data/era.t b/data/era.t +index 76a374c..1c07e58 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2025 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -346,6 +346,8 @@ + れいわ6 #T35*500 2024 + れいわ7 #T35*500 令和7 + れいわ7 #T35*500 2025 ++れいわ8 #T35*500 令和8 ++れいわ8 #T35*500 2026 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -508,3 +510,4 @@ + 2023 #T35*500 令和5 + 2024 #T35*500 令和6 + 2025 #T35*500 令和7 ++2026 #T35*500 令和8 +diff --git a/data/era.t.in b/data/era.t.in +new file mode 100644 +index 0000000..4881ec2 +--- /dev/null ++++ b/data/era.t.in +@@ -0,0 +1,491 @@ ++# vim:set noet ts=4: ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2010-2026 Takao Fujiwara ++# Copyright (c) 2010-2013 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# This file was imported from im-dict-ja ++# im-dict-ja - Japanese word dictionary set for input method ++# http://github.com/fujiwarat/im-dict-ja ++しょうわ1 #T35*500 昭和1 ++しょうわ1 #T35*500 1926 ++しょうわ10 #T35*500 昭和10 ++しょうわ10 #T35*500 1935 ++しょうわ11 #T35*500 昭和11 ++しょうわ11 #T35*500 1936 ++しょうわ12 #T35*500 昭和12 ++しょうわ12 #T35*500 1937 ++しょうわ13 #T35*500 昭和13 ++しょうわ13 #T35*500 1938 ++しょうわ14 #T35*500 昭和14 ++しょうわ14 #T35*500 1939 ++しょうわ15 #T35*500 昭和15 ++しょうわ15 #T35*500 1940 ++しょうわ16 #T35*500 昭和16 ++しょうわ16 #T35*500 1941 ++しょうわ17 #T35*500 昭和17 ++しょうわ17 #T35*500 1942 ++しょうわ18 #T35*500 昭和18 ++しょうわ18 #T35*500 1943 ++しょうわ19 #T35*500 昭和19 ++しょうわ19 #T35*500 1944 ++しょうわ2 #T35*500 昭和2 ++しょうわ2 #T35*500 1927 ++しょうわ20 #T35*500 昭和20 ++しょうわ20 #T35*500 1945 ++しょうわ21 #T35*500 昭和21 ++しょうわ21 #T35*500 1946 ++しょうわ22 #T35*500 昭和22 ++しょうわ22 #T35*500 1947 ++しょうわ23 #T35*500 昭和23 ++しょうわ23 #T35*500 1948 ++しょうわ24 #T35*500 昭和24 ++しょうわ24 #T35*500 1949 ++しょうわ25 #T35*500 昭和25 ++しょうわ25 #T35*500 1950 ++しょうわ26 #T35*500 昭和26 ++しょうわ26 #T35*500 1951 ++しょうわ27 #T35*500 昭和27 ++しょうわ27 #T35*500 1952 ++しょうわ28 #T35*500 昭和28 ++しょうわ28 #T35*500 1953 ++しょうわ29 #T35*500 昭和29 ++しょうわ29 #T35*500 1954 ++しょうわ3 #T35*500 昭和3 ++しょうわ3 #T35*500 1928 ++しょうわ30 #T35*500 昭和30 ++しょうわ30 #T35*500 1955 ++しょうわ31 #T35*500 昭和31 ++しょうわ31 #T35*500 1956 ++しょうわ32 #T35*500 昭和32 ++しょうわ32 #T35*500 1957 ++しょうわ33 #T35*500 昭和33 ++しょうわ33 #T35*500 1958 ++しょうわ34 #T35*500 昭和34 ++しょうわ34 #T35*500 1959 ++しょうわ35 #T35*500 昭和35 ++しょうわ35 #T35*500 1960 ++しょうわ36 #T35*500 昭和36 ++しょうわ36 #T35*500 1961 ++しょうわ37 #T35*500 昭和37 ++しょうわ37 #T35*500 1962 ++しょうわ38 #T35*500 昭和38 ++しょうわ38 #T35*500 1963 ++しょうわ39 #T35*500 昭和39 ++しょうわ39 #T35*500 1964 ++しょうわ4 #T35*500 昭和4 ++しょうわ4 #T35*500 1929 ++しょうわ40 #T35*500 昭和40 ++しょうわ40 #T35*500 1965 ++しょうわ41 #T35*500 昭和41 ++しょうわ41 #T35*500 1966 ++しょうわ42 #T35*500 昭和42 ++しょうわ42 #T35*500 1967 ++しょうわ43 #T35*500 昭和43 ++しょうわ43 #T35*500 1968 ++しょうわ44 #T35*500 昭和44 ++しょうわ44 #T35*500 1969 ++しょうわ45 #T35*500 昭和45 ++しょうわ45 #T35*500 1970 ++しょうわ46 #T35*500 昭和46 ++しょうわ46 #T35*500 1971 ++しょうわ47 #T35*500 昭和47 ++しょうわ47 #T35*500 1972 ++しょうわ48 #T35*500 昭和48 ++しょうわ48 #T35*500 1973 ++しょうわ49 #T35*500 昭和49 ++しょうわ49 #T35*500 1974 ++しょうわ5 #T35*500 昭和5 ++しょうわ5 #T35*500 1930 ++しょうわ50 #T35*500 昭和50 ++しょうわ50 #T35*500 1975 ++しょうわ51 #T35*500 昭和51 ++しょうわ51 #T35*500 1976 ++しょうわ52 #T35*500 昭和52 ++しょうわ52 #T35*500 1977 ++しょうわ53 #T35*500 昭和53 ++しょうわ53 #T35*500 1978 ++しょうわ54 #T35*500 昭和54 ++しょうわ54 #T35*500 1979 ++しょうわ55 #T35*500 昭和55 ++しょうわ55 #T35*500 1980 ++しょうわ56 #T35*500 昭和56 ++しょうわ56 #T35*500 1981 ++しょうわ57 #T35*500 昭和57 ++しょうわ57 #T35*500 1982 ++しょうわ58 #T35*500 昭和58 ++しょうわ58 #T35*500 1983 ++しょうわ59 #T35*500 昭和59 ++しょうわ59 #T35*500 1984 ++しょうわ6 #T35*500 昭和6 ++しょうわ6 #T35*500 1931 ++しょうわ60 #T35*500 昭和60 ++しょうわ60 #T35*500 1985 ++しょうわ61 #T35*500 昭和61 ++しょうわ61 #T35*500 1986 ++しょうわ62 #T35*500 昭和62 ++しょうわ62 #T35*500 1987 ++しょうわ63 #T35*500 昭和63 ++しょうわ63 #T35*500 1988 ++しょうわ64 #T35*500 昭和64 ++しょうわ64 #T35*500 1989 ++しょうわ7 #T35*500 昭和7 ++しょうわ7 #T35*500 1932 ++しょうわ8 #T35*500 昭和8 ++しょうわ8 #T35*500 1933 ++しょうわ9 #T35*500 昭和9 ++しょうわ9 #T35*500 1934 ++たいしょう1 #T35*500 大正1 ++たいしょう1 #T35*500 1912 ++たいしょう10 #T35*500 大正10 ++たいしょう10 #T35*500 1921 ++たいしょう11 #T35*500 大正11 ++たいしょう11 #T35*500 1922 ++たいしょう12 #T35*500 大正12 ++たいしょう12 #T35*500 1923 ++たいしょう13 #T35*500 大正13 ++たいしょう13 #T35*500 1924 ++たいしょう14 #T35*500 大正14 ++たいしょう14 #T35*500 1925 ++たいしょう15 #T35*500 大正15 ++たいしょう15 #T35*500 1926 ++たいしょう2 #T35*500 大正2 ++たいしょう2 #T35*500 1913 ++たいしょう3 #T35*500 大正3 ++たいしょう3 #T35*500 1914 ++たいしょう4 #T35*500 大正4 ++たいしょう4 #T35*500 1915 ++たいしょう5 #T35*500 大正5 ++たいしょう5 #T35*500 1916 ++たいしょう6 #T35*500 大正6 ++たいしょう6 #T35*500 1917 ++たいしょう7 #T35*500 大正7 ++たいしょう7 #T35*500 1918 ++たいしょう8 #T35*500 大正8 ++たいしょう8 #T35*500 1919 ++たいしょう9 #T35*500 大正9 ++たいしょう9 #T35*500 1920 ++へいせい1 #T35*500 平成1 ++へいせい1 #T35*500 1989 ++へいせい10 #T35*500 平成10 ++へいせい10 #T35*500 1998 ++へいせい11 #T35*500 平成11 ++へいせい11 #T35*500 1999 ++へいせい12 #T35*500 平成12 ++へいせい12 #T35*500 2000 ++へいせい13 #T35*500 平成13 ++へいせい13 #T35*500 2001 ++へいせい14 #T35*500 平成14 ++へいせい14 #T35*500 2002 ++へいせい15 #T35*500 平成15 ++へいせい15 #T35*500 2003 ++へいせい16 #T35*500 平成16 ++へいせい16 #T35*500 2004 ++へいせい17 #T35*500 平成17 ++へいせい17 #T35*500 2005 ++へいせい18 #T35*500 平成18 ++へいせい18 #T35*500 2006 ++へいせい19 #T35*500 平成19 ++へいせい19 #T35*500 2007 ++へいせい2 #T35*500 平成2 ++へいせい2 #T35*500 1990 ++へいせい20 #T35*500 平成20 ++へいせい20 #T35*500 2008 ++へいせい21 #T35*500 平成21 ++へいせい21 #T35*500 2009 ++へいせい22 #T35*500 平成22 ++へいせい22 #T35*500 2010 ++へいせい23 #T35*500 平成23 ++へいせい23 #T35*500 2011 ++へいせい24 #T35*500 平成24 ++へいせい24 #T35*500 2012 ++へいせい25 #T35*500 平成25 ++へいせい25 #T35*500 2013 ++へいせい26 #T35*500 平成26 ++へいせい26 #T35*500 2014 ++へいせい27 #T35*500 平成27 ++へいせい27 #T35*500 2015 ++へいせい28 #T35*500 平成28 ++へいせい28 #T35*500 2016 ++へいせい29 #T35*500 平成29 ++へいせい29 #T35*500 2017 ++へいせい3 #T35*500 平成3 ++へいせい3 #T35*500 1991 ++へいせい30 #T35*500 平成30 ++へいせい30 #T35*500 2018 ++へいせい31 #T35*500 平成31 ++へいせい31 #T35*500 2019 ++へいせい4 #T35*500 平成4 ++へいせい4 #T35*500 1992 ++へいせい5 #T35*500 平成5 ++へいせい5 #T35*500 1993 ++へいせい6 #T35*500 平成6 ++へいせい6 #T35*500 1994 ++へいせい7 #T35*500 平成7 ++へいせい7 #T35*500 1995 ++へいせい8 #T35*500 平成8 ++へいせい8 #T35*500 1996 ++へいせい9 #T35*500 平成9 ++へいせい9 #T35*500 1997 ++めいじ1 #T35*500 明治1 ++めいじ1 #T35*500 1868 ++めいじ10 #T35*500 明治10 ++めいじ10 #T35*500 1877 ++めいじ11 #T35*500 明治11 ++めいじ11 #T35*500 1878 ++めいじ12 #T35*500 明治12 ++めいじ12 #T35*500 1879 ++めいじ13 #T35*500 明治13 ++めいじ13 #T35*500 1880 ++めいじ14 #T35*500 明治14 ++めいじ14 #T35*500 1881 ++めいじ15 #T35*500 明治15 ++めいじ15 #T35*500 1882 ++めいじ16 #T35*500 明治16 ++めいじ16 #T35*500 1883 ++めいじ17 #T35*500 明治17 ++めいじ17 #T35*500 1884 ++めいじ18 #T35*500 明治18 ++めいじ18 #T35*500 1885 ++めいじ19 #T35*500 明治19 ++めいじ19 #T35*500 1886 ++めいじ2 #T35*500 明治2 ++めいじ2 #T35*500 1869 ++めいじ20 #T35*500 明治20 ++めいじ20 #T35*500 1887 ++めいじ21 #T35*500 明治21 ++めいじ21 #T35*500 1888 ++めいじ22 #T35*500 明治22 ++めいじ22 #T35*500 1889 ++めいじ23 #T35*500 明治23 ++めいじ23 #T35*500 1890 ++めいじ24 #T35*500 明治24 ++めいじ24 #T35*500 1891 ++めいじ25 #T35*500 明治25 ++めいじ25 #T35*500 1892 ++めいじ26 #T35*500 明治26 ++めいじ26 #T35*500 1893 ++めいじ27 #T35*500 明治27 ++めいじ27 #T35*500 1894 ++めいじ28 #T35*500 明治28 ++めいじ28 #T35*500 1895 ++めいじ29 #T35*500 明治29 ++めいじ29 #T35*500 1896 ++めいじ3 #T35*500 明治3 ++めいじ3 #T35*500 1870 ++めいじ30 #T35*500 明治30 ++めいじ30 #T35*500 1897 ++めいじ31 #T35*500 明治31 ++めいじ31 #T35*500 1898 ++めいじ32 #T35*500 明治32 ++めいじ32 #T35*500 1899 ++めいじ33 #T35*500 明治33 ++めいじ33 #T35*500 1900 ++めいじ34 #T35*500 明治34 ++めいじ34 #T35*500 1901 ++めいじ35 #T35*500 明治35 ++めいじ35 #T35*500 1902 ++めいじ36 #T35*500 明治36 ++めいじ36 #T35*500 1903 ++めいじ37 #T35*500 明治37 ++めいじ37 #T35*500 1904 ++めいじ38 #T35*500 明治38 ++めいじ38 #T35*500 1905 ++めいじ39 #T35*500 明治39 ++めいじ39 #T35*500 1906 ++めいじ4 #T35*500 明治4 ++めいじ4 #T35*500 1871 ++めいじ40 #T35*500 明治40 ++めいじ40 #T35*500 1907 ++めいじ41 #T35*500 明治41 ++めいじ41 #T35*500 1908 ++めいじ42 #T35*500 明治42 ++めいじ42 #T35*500 1909 ++めいじ43 #T35*500 明治43 ++めいじ43 #T35*500 1910 ++めいじ44 #T35*500 明治44 ++めいじ44 #T35*500 1911 ++めいじ45 #T35*500 明治45 ++めいじ45 #T35*500 1912 ++めいじ5 #T35*500 明治5 ++めいじ5 #T35*500 1872 ++めいじ6 #T35*500 明治6 ++めいじ6 #T35*500 1873 ++めいじ7 #T35*500 明治7 ++めいじ7 #T35*500 1874 ++めいじ8 #T35*500 明治8 ++めいじ8 #T35*500 1875 ++めいじ9 #T35*500 明治9 ++めいじ9 #T35*500 1876 ++@HIRAGANA_TO_REIWA@ ++1868 #T35*500 明治1 ++1869 #T35*500 明治2 ++1870 #T35*500 明治3 ++1871 #T35*500 明治4 ++1872 #T35*500 明治5 ++1873 #T35*500 明治6 ++1874 #T35*500 明治7 ++1875 #T35*500 明治8 ++1876 #T35*500 明治9 ++1877 #T35*500 明治10 ++1878 #T35*500 明治11 ++1879 #T35*500 明治12 ++1880 #T35*500 明治13 ++1881 #T35*500 明治14 ++1882 #T35*500 明治15 ++1883 #T35*500 明治16 ++1884 #T35*500 明治17 ++1885 #T35*500 明治18 ++1886 #T35*500 明治19 ++1887 #T35*500 明治20 ++1888 #T35*500 明治21 ++1889 #T35*500 明治22 ++1890 #T35*500 明治23 ++1891 #T35*500 明治24 ++1892 #T35*500 明治25 ++1893 #T35*500 明治26 ++1894 #T35*500 明治27 ++1895 #T35*500 明治28 ++1896 #T35*500 明治29 ++1897 #T35*500 明治30 ++1898 #T35*500 明治31 ++1899 #T35*500 明治32 ++1900 #T35*500 明治33 ++1901 #T35*500 明治34 ++1902 #T35*500 明治35 ++1903 #T35*500 明治36 ++1904 #T35*500 明治37 ++1905 #T35*500 明治38 ++1906 #T35*500 明治39 ++1907 #T35*500 明治40 ++1908 #T35*500 明治41 ++1909 #T35*500 明治42 ++1910 #T35*500 明治43 ++1911 #T35*500 明治44 ++1912 #T35*500 大正1 ++1912 #T35*500 明治45 ++1913 #T35*500 大正2 ++1914 #T35*500 大正3 ++1915 #T35*500 大正4 ++1916 #T35*500 大正5 ++1917 #T35*500 大正6 ++1918 #T35*500 大正7 ++1919 #T35*500 大正8 ++1920 #T35*500 大正9 ++1921 #T35*500 大正10 ++1922 #T35*500 大正11 ++1923 #T35*500 大正12 ++1924 #T35*500 大正13 ++1925 #T35*500 大正14 ++1926 #T35*500 昭和1 ++1926 #T35*500 大正15 ++1927 #T35*500 昭和2 ++1928 #T35*500 昭和3 ++1929 #T35*500 昭和4 ++1930 #T35*500 昭和5 ++1931 #T35*500 昭和6 ++1932 #T35*500 昭和7 ++1933 #T35*500 昭和8 ++1934 #T35*500 昭和9 ++1935 #T35*500 昭和10 ++1936 #T35*500 昭和11 ++1937 #T35*500 昭和12 ++1938 #T35*500 昭和13 ++1939 #T35*500 昭和14 ++1940 #T35*500 昭和15 ++1941 #T35*500 昭和16 ++1942 #T35*500 昭和17 ++1943 #T35*500 昭和18 ++1944 #T35*500 昭和19 ++1945 #T35*500 昭和20 ++1946 #T35*500 昭和21 ++1947 #T35*500 昭和22 ++1948 #T35*500 昭和23 ++1949 #T35*500 昭和24 ++1950 #T35*500 昭和25 ++1951 #T35*500 昭和26 ++1952 #T35*500 昭和27 ++1953 #T35*500 昭和28 ++1954 #T35*500 昭和29 ++1955 #T35*500 昭和30 ++1956 #T35*500 昭和31 ++1957 #T35*500 昭和32 ++1958 #T35*500 昭和33 ++1959 #T35*500 昭和34 ++1960 #T35*500 昭和35 ++1961 #T35*500 昭和36 ++1962 #T35*500 昭和37 ++1963 #T35*500 昭和38 ++1964 #T35*500 昭和39 ++1965 #T35*500 昭和40 ++1966 #T35*500 昭和41 ++1967 #T35*500 昭和42 ++1968 #T35*500 昭和43 ++1969 #T35*500 昭和44 ++1970 #T35*500 昭和45 ++1971 #T35*500 昭和46 ++1972 #T35*500 昭和47 ++1973 #T35*500 昭和48 ++1974 #T35*500 昭和49 ++1975 #T35*500 昭和50 ++1976 #T35*500 昭和51 ++1977 #T35*500 昭和52 ++1978 #T35*500 昭和53 ++1979 #T35*500 昭和54 ++1980 #T35*500 昭和55 ++1981 #T35*500 昭和56 ++1982 #T35*500 昭和57 ++1983 #T35*500 昭和58 ++1984 #T35*500 昭和59 ++1985 #T35*500 昭和60 ++1986 #T35*500 昭和61 ++1987 #T35*500 昭和62 ++1988 #T35*500 昭和63 ++1989 #T35*500 平成1 ++1989 #T35*500 昭和64 ++1990 #T35*500 平成2 ++1991 #T35*500 平成3 ++1992 #T35*500 平成4 ++1993 #T35*500 平成5 ++1994 #T35*500 平成6 ++1995 #T35*500 平成7 ++1996 #T35*500 平成8 ++1997 #T35*500 平成9 ++1998 #T35*500 平成10 ++1999 #T35*500 平成11 ++2000 #T35*500 平成12 ++2001 #T35*500 平成13 ++2002 #T35*500 平成14 ++2003 #T35*500 平成15 ++2004 #T35*500 平成16 ++2005 #T35*500 平成17 ++2006 #T35*500 平成18 ++2007 #T35*500 平成19 ++2008 #T35*500 平成20 ++2009 #T35*500 平成21 ++2010 #T35*500 平成22 ++2011 #T35*500 平成23 ++2012 #T35*500 平成24 ++2013 #T35*500 平成25 ++2014 #T35*500 平成26 ++2015 #T35*500 平成27 ++2016 #T35*500 平成28 ++2017 #T35*500 平成29 ++2018 #T35*500 平成30 ++2019 #T35*500 平成31 ++@YEAR_TO_REIWA@ +-- +2.52.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec new file mode 100644 index 0000000..f9255d7 --- /dev/null +++ b/ibus-anthy.spec @@ -0,0 +1,167 @@ +# 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.17 +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/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/ibus/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.sum#/%{name}.tar.gz.sum + +# 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 +SAVED_SUM=$(grep sha512sum %SOURCE1 | awk '{print $2}') +MY_SUM=$(sha512sum %SOURCE0 | awk '{print $1}') +if test x"$SAVED_SUM" != x"$MY_SUM" ; then + abort +fi +%autosetup -S git + +%build +#autoreconf -f -i -v +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'" \ + --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 +%autochangelog + diff --git a/ibus-anthy.tar.gz.sum b/ibus-anthy.tar.gz.sum new file mode 100644 index 0000000..cc21697 --- /dev/null +++ b/ibus-anthy.tar.gz.sum @@ -0,0 +1,4 @@ +cksum 1682900558 914700 ibus-anthy-1.5.17.tar.gz +sha1sum 7935a5abc2a1cb4dd59ff9295d3582bdb1f0cc83 ibus-anthy-1.5.17.tar.gz +sha256sum 9e1d28ad7da2be5e0d9c0eb0d8fb7557fc89770aa2237272debe197bd61abd40 ibus-anthy-1.5.17.tar.gz +sha512sum 34775879ea4891d2f83c5f9aa341a59bac928332ad60ec4ba8d1475783b0c50c721229e48c7671f050066da3d4053531792c3fa5e5640db2c2e8bd1bc46105a1 ibus-anthy-1.5.17.tar.gz diff --git a/plans/test.fmf b/plans/test.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/test.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index e69de29..6c6f368 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (ibus-anthy-1.5.17.tar.gz) = 34775879ea4891d2f83c5f9aa341a59bac928332ad60ec4ba8d1475783b0c50c721229e48c7671f050066da3d4053531792c3fa5e5640db2c2e8bd1bc46105a1 diff --git a/tests/ibus-desktop-testing/install1-common/main.fmf b/tests/ibus-desktop-testing/install1-common/main.fmf new file mode 100644 index 0000000..b920b02 --- /dev/null +++ b/tests/ibus-desktop-testing/install1-common/main.fmf @@ -0,0 +1,90 @@ +summary: Install common GNOME desktop components +description: + The listed packages are installed commonly between Fedora and + RHEL GNOME desktop components. +require: + # IBus CI sets + - ibus + - ibus-desktop-testing + - dbus-x11 + # https://pagure.io/fedora-comps/blob/main/f/comps-f41.xml.in + # dnf group info GNOME + # base-graphical mandatory + - mesa-dri-drivers + - mesa-vulkan-drivers + - plymouth-system-theme + # fonts default + - default-fonts-cjk-mono + - default-fonts-cjk-sans + - default-fonts-cjk-serif + - default-fonts-core-emoji + - default-fonts-core-math + - default-fonts-core-mono + - default-fonts-core-sans + - default-fonts-core-serif + - default-fonts-other-mono + - default-fonts-other-sans + - default-fonts-other-serif + # gnome-desktop mandatory + - dconf + - gdm + - gnome-connections + - gnome-control-center + - gnome-initial-setup + - gnome-session-wayland-session + - gnome-settings-daemon + - gnome-shell + - gnome-software + - gnome-text-editor + - nautilus + - polkit + - ptyxis + # gnome-desktop default + - avahi + - baobab + # Sometimes version mismatch with gnome-shell in rawhide + #- chrome-gnome-shell + - fprintd-pam + - glib-networking + - gnome-bluetooth + - gnome-browser-connector + - gnome-calculator + - gnome-calendar + - gnome-characters + - gnome-classic-session + - gnome-clocks + - gnome-color-manager + - gnome-disk-utility + - gnome-epub-thumbnailer + - gnome-font-viewer + - gnome-remote-desktop + - gnome-system-monitor + - gnome-user-docs + - gvfs-goa + - gvfs-mtp + - librsvg2 + - libsane-hpaio + - loupe + - mesa-dri-drivers + - mesa-libEGL + - ModemManager + - NetworkManager-adsl + - NetworkManager-ppp + - NetworkManager-wwan + - PackageKit-command-not-found + - PackageKit-gtk3-module + - sane-backends-drivers-scanners + - snapshot + # Move systemd-oomd-defaults to Post-Installing section + - tracker + - tracker-miners + - xdg-desktop-portal + - xdg-desktop-portal-gnome + - xdg-desktop-portal-gtk + - xdg-user-dirs-gtk + # desktop-accessibility default + - at-spi2-atk + - at-spi2-core + - brltty + - orca + - speech-dispatcher diff --git a/tests/ibus-desktop-testing/install2-fedora/main.fmf b/tests/ibus-desktop-testing/install2-fedora/main.fmf new file mode 100644 index 0000000..9bf4560 --- /dev/null +++ b/tests/ibus-desktop-testing/install2-fedora/main.fmf @@ -0,0 +1,39 @@ +summary: Install Fedora specific GNOME desktop components +description: + The listed packages are available in Fedora only. +enabled: false +adjust: + when: distro == fedora + enabled: true +require: + - adobe-source-code-pro-fonts + - gnome-screenshot + - gnome-boxes + - yelp + - cheese + - eog + - evince + - evince-djvu + - gnome-backgrounds + - gnome-contacts + - gnome-logs + - gnome-maps + - gnome-photos + - gnome-themes-extra + - gnome-user-share + - gnome-weather + - gvfs-afc + - gvfs-afp + - gvfs-archive + - gvfs-fuse + - gvfs-gphoto2 + - gvfs-smb + - NetworkManager-openconnect-gnome + - NetworkManager-openvpn-gnome + - NetworkManager-pptp-gnome + - NetworkManager-ssh-gnome + - NetworkManager-vpnc-gnome + - rygel + - simple-scan + - sushi + - totem diff --git a/tests/ibus-desktop-testing/install3-rhel/main.fmf b/tests/ibus-desktop-testing/install3-rhel/main.fmf new file mode 100644 index 0000000..342507c --- /dev/null +++ b/tests/ibus-desktop-testing/install3-rhel/main.fmf @@ -0,0 +1,7 @@ +summary: Install RHEL specific GNOME desktop components +description: + Currently no specific packages for RHEL. +enabled: false +adjust: + when: distro != fedora + enabled: true diff --git a/tests/ibus-desktop-testing/install4-g-d-t/main.fmf b/tests/ibus-desktop-testing/install4-g-d-t/main.fmf new file mode 100644 index 0000000..cfd4fd7 --- /dev/null +++ b/tests/ibus-desktop-testing/install4-g-d-t/main.fmf @@ -0,0 +1,6 @@ +summary: Install GNOME installed-tests testing harness +description: + gnome-desktop-testing package is required by IBus CI(ibus-desktop-testing) + and it's available in Fedora only at present. +require: + - gnome-desktop-testing diff --git a/tests/ibus-desktop-testing/install5-tmt/main.fmf b/tests/ibus-desktop-testing/install5-tmt/main.fmf new file mode 100644 index 0000000..332864f --- /dev/null +++ b/tests/ibus-desktop-testing/install5-tmt/main.fmf @@ -0,0 +1,5 @@ +summary: Install TMT packages +description: + The test script is calling the beakerlib script. +require: + - beakerlib diff --git a/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf b/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf new file mode 100644 index 0000000..0443fd1 --- /dev/null +++ b/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf @@ -0,0 +1,6 @@ +summary: Install ibus-anthy specific packages +description: + The listed packages are required by CI of ibus-anthy. +require: + - ibus-anthy-tests + - glibc-langpack-ja diff --git a/tests/ibus-desktop-testing/main.fmf b/tests/ibus-desktop-testing/main.fmf new file mode 100644 index 0000000..b4d0642 --- /dev/null +++ b/tests/ibus-desktop-testing/main.fmf @@ -0,0 +1,3 @@ +summary: gnome-desktop-testing tests +# common test for sub tests +test: env diff --git a/tests/ibus-desktop-testing/run/main.fmf b/tests/ibus-desktop-testing/run/main.fmf new file mode 100644 index 0000000..d2434b1 --- /dev/null +++ b/tests/ibus-desktop-testing/run/main.fmf @@ -0,0 +1,5 @@ +summary: Run tests +description: + Run CI with ibus-desktop-testing-runner in GNOME Wayland. +duration: 15m +test: ./test.sh diff --git a/tests/ibus-desktop-testing/run/test.sh b/tests/ibus-desktop-testing/run/test.sh new file mode 100755 index 0000000..d53faf5 --- /dev/null +++ b/tests/ibus-desktop-testing/run/test.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartTest + rlRun -t "/usr/bin/ibus-desktop-testing-runner --runner gnome --tests ibus-anthy --no-graphics --lang ja_JP.UTF-8" + rlPhaseEnd + rlPhaseStartCleanup + rlRun "echo test-suite.log" + rlRun "cat test-suite.log" + rlRun "echo /export/home/itestuser/test-autostart.log" + rlRun "cat /export/home/itestuser/test-autostart.log" + rlPhaseEnd +rlJournalEnd diff --git a/tests/main.fmt b/tests/main.fmt new file mode 100644 index 0000000..e89cb45 --- /dev/null +++ b/tests/main.fmt @@ -0,0 +1 @@ +contact: Takao Fujiwara