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 index 123a027..7679a8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /anthy-unicode-1.0.0.20190412.tar.gz /anthy-unicode-1.0.0.20191015.tar.gz /anthy-unicode-1.0.0.20201109.tar.gz +/anthy-unicode-1.0.0.20211224.tar.gz +/anthy-unicode-1.0.0.20240502.tar.gz diff --git a/anthy-unicode-1.0.0.20240502.tar.gz.sum b/anthy-unicode-1.0.0.20240502.tar.gz.sum new file mode 100644 index 0000000..5cf1eac --- /dev/null +++ b/anthy-unicode-1.0.0.20240502.tar.gz.sum @@ -0,0 +1,4 @@ +cksum 2650323057 5196128 anthy-unicode-1.0.0.20240502.tar.gz +sha1sum 18c885dc0821ec675bee95e138ac7acd88ff3a3a anthy-unicode-1.0.0.20240502.tar.gz +sha256sum 43a13f24cc4749a1248bc6d0ce7796743b176ae68ee524cb4331bef64ac133b0 anthy-unicode-1.0.0.20240502.tar.gz +sha512sum 835f7cbd5c3afc3dcd7002b77c94a5c69e67f970584c223b47329ece011148cbc4e9f65332c00bbdbe2f407a2daa7f9e10067a182a27d07074e0f1406bb3bbc2 anthy-unicode-1.0.0.20240502.tar.gz diff --git a/anthy-unicode-HEAD.patch b/anthy-unicode-HEAD.patch index e69de29..216e20c 100644 --- a/anthy-unicode-HEAD.patch +++ b/anthy-unicode-HEAD.patch @@ -0,0 +1,108 @@ +From a4a42a3c933a2f40023e6c857e60e0bf08a1d913 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 15 Jul 2024 14:53:17 +0900 +Subject: [PATCH] Fix some compiler warnings + +- src-main/context.c: Fix warning[-Waddress] + &ce->str will always evaluate as 'true' +- mkworddic/mkdic.c: Fix warning[-Wformat-overflow=] + '%s' directive argument is null +--- + mkworddic/mkdic.c | 21 +++++++++------------ + src-main/context.c | 5 ++--- + 2 files changed, 11 insertions(+), 15 deletions(-) + +diff --git a/mkworddic/mkdic.c b/mkworddic/mkdic.c +index b0f9f4c..cb68520 100644 +--- a/mkworddic/mkdic.c ++++ b/mkworddic/mkdic.c +@@ -60,8 +60,6 @@ + + #define DEFAULT_FN "anthy.wdic" + +-static const char *progname; +- + /* writewords.cからアクセスするために、global変数 */ + FILE *yomi_entry_index_out, *yomi_entry_out; + FILE *page_out, *page_index_out; +@@ -127,8 +125,7 @@ open_output_files(void) + } + /**/ + if (!(*(fs->fpp))) { +- fprintf (stderr, "%s: cannot open temporary file: %s\n", +- progname, strerror (errno)); ++ fprintf (stderr, "cannot open temporary file: %s\n", strerror (errno)); + exit (2); + } + } +@@ -142,13 +139,13 @@ flush_output_files (void) + struct file_section *fs; + for (fs = file_array; fs->fpp; fs ++) { + if (ferror(*(fs->fpp))) { +- fprintf (stderr, "%s: write error\n", progname); ++ fprintf (stderr, "write error\n"); + exit (1); + } + } + for (fs = file_array; fs->fpp; fs ++) { + if (fflush(*(fs->fpp))) { +- fprintf (stderr, "%s: write error: %s\n", progname, strerror (errno)); ++ fprintf (stderr, "write error: %s\n", strerror (errno)); + exit (1); + } + } +@@ -793,8 +790,8 @@ copy_file(struct mkdic_stat *mds, FILE *in, FILE *out) + while ((nread = fread (buf, 1, sizeof buf, in)) > 0) { + if (fwrite (buf, 1, nread, out) < nread) { + /* Handle short write (maybe disk full). */ +- fprintf (stderr, "%s: %s: write error: %s\n", +- progname, mds->output_fn, strerror (errno)); ++ fprintf (stderr, "%s: write error: %s\n", ++ mds->output_fn, strerror (errno)); + exit (1); + } + } +@@ -839,8 +836,8 @@ link_dics(struct mkdic_stat *mds) + + fp = fopen (mds->output_fn, "w"); + if (!fp) { +- fprintf (stderr, "%s: %s: cannot create: %s\n", +- progname, mds->output_fn, strerror (errno)); ++ fprintf (stderr, "%s: cannot create: %s\n", ++ mds->output_fn, strerror (errno)); + exit (1); + } + +@@ -856,8 +853,8 @@ link_dics(struct mkdic_stat *mds) + } + + if (fclose (fp)) { +- fprintf (stderr, "%s: %s: write error: %s\n", +- progname, mds->output_fn, strerror (errno)); ++ fprintf (stderr, "%s: write error: %s\n", ++ mds->output_fn, strerror (errno)); + exit (1); + } + } +diff --git a/src-main/context.c b/src-main/context.c +index d84858c..f117f7d 100644 +--- a/src-main/context.c ++++ b/src-main/context.c +@@ -706,12 +706,11 @@ anthy_do_print_context(struct anthy_context *ac, int encoding) + void + anthy_release_cand_ent(struct cand_ent *ce) + { ++ assert (ce); + if (ce->elm) { + free(ce->elm); + } +- if (&ce->str) { +- anthy_free_xstr_str(&ce->str); +- } ++ anthy_free_xstr_str(&ce->str); + free(ce); + } + +-- +2.45.0 + diff --git a/anthy-unicode.spec b/anthy-unicode.spec index 7f0ebba..587d7f2 100644 --- a/anthy-unicode.spec +++ b/anthy-unicode.spec @@ -1,29 +1,40 @@ %global pkg anthy-unicode -%bcond_with xemacs -%bcond_with autoreconf +%bcond_without autoreconf + +%if (0%{?fedora} > 35 || 0%{?rhel} > 7) +%bcond_with xemacs +%else +%bcond_without xemacs +%endif + Name: anthy-unicode -Version: 1.0.0.20201109 -Release: 1%{?dist} +Version: 1.0.0.20240502 +Release: %autorelease # The entire source code is LGPLv2+ and dictionaries is GPLv2. the corpus data is under Public Domain. -License: LGPLv2+ and GPLv2 and Public Domain +License: LGPL-2.0-or-later AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain URL: https://github.com/fujiwarat/anthy-unicode/wiki BuildRequires: emacs BuildRequires: gcc BuildRequires: git -%if 0%{?rhel} == 0 +%if %{with xemacs} BuildRequires: xemacs +# overlay.el is required by anthy-unicode.el and anthy-unicode-isearch.el +BuildRequires: xemacs-packages-extra %endif %if %{with autoreconf} BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +BuildRequires: make %endif Source0: https://github.com/fujiwarat/anthy-unicode/releases/download/%{version}/%{name}-%{version}.tar.gz -Source1: %{name}-init.el +Source1: https://github.com/fujiwarat/anthy-unicode/releases/download/%{version}/%{name}-%{version}.tar.gz.sum +Source2: %{name}-init.el # Upstreamed patches #Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Summary: Japanese character set input library for Unicode @@ -37,18 +48,18 @@ other conversion server. %package -n emacs-%{pkg} Summary: Emacs files for %{pkg} Requires: %{name} = %{version}-%{release} -Requires: emacs(bin) >= %{_emacs_version} +Requires: emacs-filesystem >= %{_emacs_version} BuildArch: noarch %description -n emacs-%{pkg} This package contains the byte compiled elips packages to run %{pkg} with GNU Emacs. -%if 0%{?rhel} == 0 +%if %{with xemacs} %package -n xemacs-%{pkg} Summary: XEmacs files for %{pkg} Requires: %{name} = %{version}-%{release} -Requires: xemacs(bin) >= %{_xemacs_version} +Requires: xemacs-filesystem >= %{_xemacs_version} BuildArch: noarch %description -n xemacs-%{pkg} @@ -66,6 +77,11 @@ the programs which uses Anthy Unicode. %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 @@ -81,26 +97,30 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" # remove unnecessary files rm $RPM_BUILD_ROOT%{_libdir}/lib*.la +pushd ./src-util +install -m 644 dic-tool-input $RPM_BUILD_ROOT%{_datadir}/%{pkg} +install -m 644 dic-tool-result $RPM_BUILD_ROOT%{_datadir}/%{pkg} +popd + ## for emacs-anthy mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir} -install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_emacs_sitestartdir} +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_emacs_sitestartdir} -%if 0%{?rhel} == 0 +%if %{with xemacs} ## for xemacs-anthy mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitestartdir} -install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_xemacs_sitestartdir} +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_xemacs_sitestartdir} # FIXME lisp build -%if %{with xemacs} -pushd $RPM_BUILD_DIR/%{name}-%{version}/src-util +pushd ./src-util make clean -make EMACS=xemacs lispdir="%{_xemacs_sitelispdir}/%{pkg}" +#make EMACS=xemacs lispdir="%%{_xemacs_sitelispdir}/%%{pkg}" +# The latest /usr/share/automake-*/am/lisp.am calls -L option for +# $(EMACS) --batch but -L is not supported by xemacs. +# Copy elisp-comp script here from old automake +xemacs --batch --eval '(setq load-path (cons nil load-path))' -f batch-byte-compile *.el +make make install-lispLISP DESTDIR=$RPM_BUILD_ROOT EMACS=xemacs lispdir="%{_xemacs_sitelispdir}/%{pkg}" INSTALL="install -p" popd -%else -mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{pkg} -cp $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{pkg}/*.el \ - $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{pkg}/. -%endif %endif %check @@ -115,12 +135,11 @@ cd ../src-util env $_TEST_ENV ./anthy-dic-tool-unicode --load dic-tool-input diff $HOME/.config/anthy/private_words_default dic-tool-result env $_TEST_ENV ./anthy-dic-tool-unicode --dump -mkdir $HOME/.anthy +mkdir -p $HOME/.anthy mv $HOME/.config/anthy/private_words_default $HOME/.anthy env $_TEST_ENV ./anthy-dic-tool-unicode --migrate diff $HOME/.config/anthy/private_words_default dic-tool-result cd .. -rm test.conf %ldconfig_scriptlets @@ -141,7 +160,7 @@ rm test.conf %{_emacs_sitestartdir}/*.el %dir %{_emacs_sitelispdir}/%{pkg} -%if 0%{?rhel} == 0 +%if %{with xemacs} %files -n xemacs-%{pkg} %doc doc/ELISP %{_xemacs_sitelispdir}/%{pkg}/*.el @@ -154,40 +173,13 @@ rm test.conf %files devel %doc doc/DICLIB doc/DICUTIL doc/GLOSSARY doc/GRAMMAR doc/GUIDE.english doc/ILIB doc/LEARNING doc/LIB doc/MISC doc/POS doc/SPLITTER doc/TESTING doc/protocol.txt +%{_datadir}/%{pkg}/dic-tool-input +%{_datadir}/%{pkg}/dic-tool-result %{_includedir}/* %{_libdir}/lib*.so %{_libdir}/pkgconfig/*.pc %changelog -* Mon Nov 09 2020 Takao Fujiwara 1.0.0.20201109-1 -- Bump 1.0.0.20201109 +%autochangelog -* Fri Jul 31 2020 Fedora Release Engineering - 1.0.0.20191015-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.0.0.20191015-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 1.0.0.20191015-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Oct 21 2019 Takao Fujiwara 1.0.0.20191015-2 -- Add %%check to run local test programs - -* Tue Oct 15 2019 Takao Fujiwara 1.0.0.20191015-1 -- Release anthy-unicode 1.0.0.20191015 - -* Wed Aug 07 2019 Takao Fujiwara 1.0.0.20190412-1 -- Initial package -- Update license -- Delete Group tags -- Make parse_modify_freq_command() for UTF-8 -- Revert ptab.h to EUC-JP -- BuildRequire: git -- Genearate emacs- and xemacs- sub packages -- Fix some obsolete warnings in emacs batch-byte-compile -- Fix shared-lib-calls-exit -- Fix non-conffile-in-etc -- Fix description-line-too-long diff --git a/changelog b/changelog new file mode 100644 index 0000000..a67b8a6 --- /dev/null +++ b/changelog @@ -0,0 +1,91 @@ +* Thu Mar 14 2024 Takao Fujiwara 1.0.0.20211224-13 +- Resolves #2269401 Fix おきのえらぶ in gcanna.ctd + +* Mon Jan 22 2024 Fedora Release Engineering - 1.0.0.20211224-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.0.0.20211224-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1.0.0.20211224-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 1.0.0.20211224-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 16 2022 Takao Fujiwara 1.0.0.20211224-8 +- Migrate license tag to SPDX + +* Wed Jul 20 2022 Fedora Release Engineering - 1.0.0.20211224-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 19 2022 Takao Fujiwara 1.0.0.20211224-6 +- Rename master_dic_file to main_dic_file + +* Fri May 06 2022 Takao Fujiwara 1.0.0.20211224-5 +- Fix GCC_ANALYZER_WARNING with -Wanalyzer-null-dereference + +* Fri Feb 11 2022 Takao Fujiwara 1.0.0.20211224-4 +- Resolves: #2051670 xemacs is a dead package + +* Wed Jan 19 2022 Fedora Release Engineering - 1.0.0.20211224-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 24 2021 Takao Fujiwara 1.0.0.20211224-1 +- Bump to 1.0.0.20211224-1 + +* Tue Oct 26 2021 Takao Fujiwara 1.0.0.20201109-10 +- Resolves: #1998727 Fix emacs-anthy-unicode + +* Thu Oct 21 2021 Takao Fujiwara 1.0.0.20201109-8 +- Resolves: #2007482 Update gcanna.ctd with Shubitai + +* Wed Jul 21 2021 Fedora Release Engineering - 1.0.0.20201109-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 13 2021 Takao Fujiwara 1.0.0.20201109-6 +- Fix covscan report + +* Mon Jul 12 2021 Takao Fujiwara 1.0.0.20201109-5 +- Fix covscan report + +* Mon May 03 2021 Takao Fujiwara 1.0.0.20201109-4 +- Delete unnecessary xemacs in tests/tests.yml + +* Sat May 01 2021 Takao Fujiwara 1.0.0.20201109-3 +- Enable CI + +* Tue Jan 26 2021 Fedora Release Engineering - 1.0.0.20201109-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 09 2020 Takao Fujiwara 1.0.0.20201109-1 +- Bump 1.0.0.20201109 + +* Fri Jul 31 2020 Fedora Release Engineering - 1.0.0.20191015-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.0.0.20191015-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.0.0.20191015-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 21 2019 Takao Fujiwara 1.0.0.20191015-2 +- Add %%check to run local test programs + +* Tue Oct 15 2019 Takao Fujiwara 1.0.0.20191015-1 +- Release anthy-unicode 1.0.0.20191015 + +* Wed Aug 07 2019 Takao Fujiwara 1.0.0.20190412-1 +- Initial package +- Update license +- Delete Group tags +- Make parse_modify_freq_command() for UTF-8 +- Revert ptab.h to EUC-JP +- BuildRequire: git +- Genearate emacs- and xemacs- sub packages +- Fix some obsolete warnings in emacs batch-byte-compile +- Fix shared-lib-calls-exit +- Fix non-conffile-in-etc +- Fix description-line-too-long diff --git a/plans/dict-test.fmf b/plans/dict-test.fmf new file mode 100644 index 0000000..9c5ae63 --- /dev/null +++ b/plans/dict-test.fmf @@ -0,0 +1,5 @@ +summary: anthy-unicode test +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index fef419b..b3ba7ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (anthy-unicode-1.0.0.20201109.tar.gz) = 963f44df6defe725138de5697e3be8ae6c84ac723fc66c09996c11b99bd7ce24331908caad61c547f90122dadb6ec46fb2b5b3aa9526151c912fd19ed583c345 +SHA512 (anthy-unicode-1.0.0.20240502.tar.gz) = 835f7cbd5c3afc3dcd7002b77c94a5c69e67f970584c223b47329ece011148cbc4e9f65332c00bbdbe2f407a2daa7f9e10067a182a27d07074e0f1406bb3bbc2 diff --git a/tests/migration/main.fmf b/tests/migration/main.fmf new file mode 100644 index 0000000..bc2c7a7 --- /dev/null +++ b/tests/migration/main.fmf @@ -0,0 +1,5 @@ +summary: Migration tests of private dicts from anthy to anthy-unicode +test: ./test.sh +framework: beakerlib +require: + - anthy-unicode-devel diff --git a/tests/migration/test.sh b/tests/migration/test.sh new file mode 100755 index 0000000..a1bd50c --- /dev/null +++ b/tests/migration/test.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +[ -d $HOME/.anthy ] || mkdir $HOME/.anthy + +rlJournalStart + rlPhaseStartTest + rlRun -t "anthy-dic-tool-unicode --load /usr/share/anthy-unicode/dic-tool-input" + rlRun -t "diff $HOME/.config/anthy/private_words_default /usr/share/anthy-unicode/dic-tool-result" + rlRun -t "anthy-dic-tool-unicode --dump" + rlRun -t "mv $HOME/.config/anthy/private_words_default $HOME/.anthy" + rlRun -t "anthy-dic-tool-unicode --migrate" + rlRun -t "diff $HOME/.config/anthy/private_words_default /usr/share/anthy-unicode/dic-tool-result" + rlPhaseEnd +rlJournalEnd