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/hspell.spec b/hspell.spec index a3bc6c2..46097f7 100644 --- a/hspell.spec +++ b/hspell.spec @@ -1,14 +1,15 @@ Summary: A Hebrew spell checker Name: hspell Version: 1.4 -Release: 9%{?dist} -License: AGPLv3 +Release: 24%{?dist} +License: AGPL-3.0-only URL: http://hspell.ivrix.org.il/ Source: http://hspell.ivrix.org.il/%{name}-%{version}.tar.gz Patch0: 0001-require-local-module-explicitly.patch -BuildRequires: gcc -BuildRequires: hunspell-devel, perl-generators, zlib-devel +BuildRequires: gcc, make, hunspell-devel +BuildRequires: perl-generators, perl-interpreter, zlib-devel +BuildRequires: perl(Carp), perl(FileHandle) %description Hspell is a Hebrew SPELLer and morphological analyzer. It provides a mostly @@ -44,7 +45,7 @@ Hebrew hunspell dictionaries. %prep %setup -q -%patch0 -p1 -b .localreq +%patch -P 0 -p1 -b .localreq /usr/bin/iconv -f hebrew -t utf8 -o WHATSNEW WHATSNEW %build @@ -56,9 +57,9 @@ make hunspell make DESTDIR=$RPM_BUILD_ROOT STRIP=: install rm -f $RPM_BUILD_ROOT/%{_libdir}/libhspell.a -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/myspell -cp -p he.dic $RPM_BUILD_ROOT/%{_datadir}/myspell/he_IL.dic -cp -p he.aff $RPM_BUILD_ROOT/%{_datadir}/myspell/he_IL.aff +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/hunspell +cp -p he.dic $RPM_BUILD_ROOT/%{_datadir}/hunspell/he_IL.dic +cp -p he.aff $RPM_BUILD_ROOT/%{_datadir}/hunspell/he_IL.aff %check # there are three known failures @@ -80,11 +81,57 @@ cp -p he.aff $RPM_BUILD_ROOT/%{_datadir}/myspell/he_IL.aff %files -n hunspell-he %doc LICENSE -%{_datadir}/myspell/* +%{_datadir}/hunspell/* %ldconfig_scriptlets %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 1.4-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 1.4-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 1.4-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 1.4-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.4-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.4-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 07 2023 Parag Nemade - 1.4-18 +- Migrate to SPDX license expression + +* Thu Jan 19 2023 Fedora Release Engineering - 1.4-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 1.4-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 29 2022 Parag Nemade - 1.4-15 +- Update hunspell dictionary directory path + https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change + +* Thu Jan 20 2022 Fedora Release Engineering - 1.4-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Mar 26 2020 Jitka Plesnikova - 1.4-10 +- Add perl dependencies needed for build + * Wed Jan 29 2020 Fedora Release Engineering - 1.4-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/plans/hspell.fmf b/plans/hspell.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/hspell.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..b7fae52 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,11 @@ +test: ./runtests.sh +duration: 10m +framework: beakerlib +require: + - hspell + - hunspell-he + - make + - gcc + - gzip + - zlib-devel + - rpm-build diff --git a/tests/runtests.sh b/tests/runtests.sh new file mode 100755 index 0000000..c125841 --- /dev/null +++ b/tests/runtests.sh @@ -0,0 +1,41 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +NAME=convmv + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm ${NAME} + rlShowPackageVersion ${NAME} + rlRun -t -l "VERSION=$(rpm -q ${NAME} --queryformat='%{version}')" 0 "Get VERSION" + rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" + rlRun "pushd $tmp" + rlFetchSrcForInstalled "${NAME}" + rlRun "rpm --define '_topdir $tmp' -i *src.rpm" + rlRun -t -l "mkdir BUILD" 0 "Creating BUILD directory" + rlRun -t -l "rpmbuild --noclean --nodeps --define '_topdir $tmp' -bp $tmp/SPECS/*spec" + if [ -d BUILD/${NAME}-${VERSION}-build ]; then + rlRun -t -l "pushd BUILD/${NAME}-${VERSION}-build/${NAME}-${VERSION}" + else + rlRun -t -l "pushd BUILD/${NAME}-${VERSION}" + fi + rlPhaseEnd + + rlPhaseStartTest + rlRun "set -o pipefail" + rlRun "echo "Default installation does not have aspell binary so remove its execution"" + rlRun "sed -i 's/he.rws hunspell/hunspell/g' Makefile.in" + rlRun "./configure" + rlRun "sed -i '82,84d' test/test1" + rlRun "make V=1 test" + rlRun "retval=$?" + rlRun "echo $retval" + rlRun "popd" 0 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd + diff --git a/tests/test_dic_availability.fmf b/tests/test_dic_availability.fmf new file mode 100644 index 0000000..ce5ab04 --- /dev/null +++ b/tests/test_dic_availability.fmf @@ -0,0 +1,6 @@ +require: +- python3-enchant +- hunspell-he +test: python3 test_dic_availability.py +framework: shell + diff --git a/tests/test_dic_availability.py b/tests/test_dic_availability.py new file mode 100644 index 0000000..36ba52e --- /dev/null +++ b/tests/test_dic_availability.py @@ -0,0 +1,10 @@ +#!/usr/bin/python3 + +import enchant + +lang = "he_IL" +try: + dic = enchant.request_dict(lang) + print("Dictionary for {0} language is available for use".format(lang)) +except enchant.errors.DictNotFoundError: + print("Dictionary is not installed for use") diff --git a/tests/test_suggest_words.fmf b/tests/test_suggest_words.fmf new file mode 100644 index 0000000..67e5e69 --- /dev/null +++ b/tests/test_suggest_words.fmf @@ -0,0 +1,6 @@ +require: +- python3-enchant +- hunspell-he +test: python3 test_suggest_words.py +framework: shell + diff --git a/tests/test_suggest_words.py b/tests/test_suggest_words.py new file mode 100644 index 0000000..3ca2942 --- /dev/null +++ b/tests/test_suggest_words.py @@ -0,0 +1,9 @@ +#!/usr/bin/python3 + +import enchant + +wdlst = [ "שלום", "תֵה", "שַׁחַר"] +dic = enchant.Dict("he_IL") +for wd in wdlst: + dic.check(wd) + print("input word = {0}, Suggestions => {1}".format(wd, dic.suggest(wd)))