diff --git a/README.md b/README.md index eebc342..582afe3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # hspell +Hspell is a Hebrew Spell checker. It currently provides a mostly spell-like interface (gives the list of wrong words in the input text), but can also suggest corrections (-c). It also provides a true (yet incomplete) morphological analizer (-l), that prints all known meanings of a Hebrew string. +On typical documents Hspell recognizes the majority of correct words. However, users must take into account that it still will not recognize *all* the correct words; The dictionary is still not complete, and this situation will continue to improve in the next releases. On the other hand, barring bugs Hspell should not recognize incorrect words - extreme attention has been given to the correctness and consistency of the dictionary. +Hspell was written by Nadav Har'El and Dan Kenigsberg. + diff --git a/hspell-1.0.sharedlib.patch b/hspell-1.0.sharedlib.patch new file mode 100644 index 0000000..0f2d2b0 --- /dev/null +++ b/hspell-1.0.sharedlib.patch @@ -0,0 +1,64 @@ +--- hspell-1.0.orig/Makefile.in ++++ hspell-1.0/Makefile.in +@@ -51,7 +51,7 @@ LDFLAGS=@LDFLAGS@ + + # Our TARGETS variable chooses what to compile. Some things are + # optionally compiled depending on --enable-* paramters to configure. +-TARGETS = @TARGETS@ ++TARGETS = @TARGETS@ libhspell.a + all: $(TARGETS) + + # SEDCMD controls on whether objective-kinuyim - about 130,000 rare verb +@@ -76,7 +76,8 @@ clean: + hebrew.wgz.lingsizes.tmp dmask.c install.js \ + spell-he.xpi he.dic he.aff README-he.txt \ + README_he_IL.txt he_IL.dic he_IL.aff he_IL.zip \ +- specfilter.o specfilter ++ specfilter.o specfilter \ ++ libhspell.so.0 libhspell.so *.lo + rm -f hebeng/install.js hebeng/heb-eng.aff hebeng/heb-eng.dic \ + hebeng/README-he.txt hebeng/README-en-US.txt \ + hebeng/spell-heb-eng.xpi +@@ -113,6 +114,9 @@ install: all + test -d $(DESTDIR)$(LIBDIR) || mkdir -m 755 -p $(DESTDIR)$(LIBDIR) + cp libhspell.a $(DESTDIR)$(LIBDIR)/ + chmod 644 $(DESTDIR)$(LIBDIR)/libhspell.a ++ cp libhspell.so.0 $(DESTDIR)$(LIBDIR)/ ++ chmod 755 $(DESTDIR)$(LIBDIR)/libhspell.so.0 ++ ln -sf libhspell.so.0 $(DESTDIR)$(LIBDIR)/libhspell.so + test -d $(DESTDIR)$(INCLUDEDIR) || mkdir -m 755 -p $(DESTDIR)$(INCLUDEDIR) + cp hspell.h linginfo.h $(DESTDIR)$(INCLUDEDIR)/ + chmod 644 $(DESTDIR)$(INCLUDEDIR)/hspell.h $(DESTDIR)$(INCLUDEDIR)/linginfo.h +@@ -166,19 +170,30 @@ libhspell.a: dict_radix.o gimatria.o cor + ar cr $@ $^ + -ranlib $@ + +-$(HSPELL_EXECUTABLE): hspell.o tclHash.o libhspell.a +- $(CC) $(CFLAGS) $(LDFLAGS) -o $(HSPELL_EXECUTABLE) hspell.o tclHash.o libhspell.a $(LIBS) ++EXTRAOBJECTSPIC=$(EXTRAOBJECTS:.o=.lo) ++ ++%.lo: %.c ++ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -o $@ $< ++ ++libhspell.so.0: dict_radix.lo gimatria.lo corlist.lo libhspell.lo $(EXTRAOBJECTSPIC) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -shared -Wl,-soname,libhspell.so.0 $^ -lz ++ ln -sf libhspell.so.0 libhspell.so ++ ++$(HSPELL_EXECUTABLE): hspell.o tclHash.o libhspell.so.0 ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(HSPELL_EXECUTABLE) hspell.o tclHash.o libhspell.so.0 $(LIBS) + + # remember to update this dependency list once in a while... + libhspell.o dict_radix.o find_sizes.o: dict_radix.h + dict_radix.o linginfo.o: gzbuffered.h + libhspell.o mk_he_affix.o: prefixes.c ++libhspell.lo mk_he_affix.lo: prefixes.c + hspell.o: hash.h tclHash.h + tclHash.o: tclHash.h + corlist.o gimatria.o hspell.o libhspell.o: hspell.h + hspell.o libhspell.o linginfo.o: linginfo.h hspell.h + linginfo.o: dmask.c + specfilter.o: prefixes.c ++specfilter.lo: prefixes.c + + prefixes.c: genprefixes.pl PrefixBits.pl + $(PERL) -w ./genprefixes.pl >prefixes.c diff --git a/hspell.spec b/hspell.spec new file mode 100644 index 0000000..1082a67 --- /dev/null +++ b/hspell.spec @@ -0,0 +1,123 @@ +Name: hspell +Version: 1.2 +Release: 1mamba +Summary: A Hebrew spell checker +Group: System/Internationalization +Vendor: openmamba +Distribution: openmamba +Packager: Automatic Build System +URL: http://hspell.ivrix.org.il/ +Source: http://hspell.ivrix.org.il/hspell-%{version}.tar.gz +Patch0: hspell-1.0.sharedlib.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libz-devel +BuildRequires: perl-devel +## AUTOBUILDREQ-END +Requires: lib%{name} = %{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Hspell is a Hebrew Spell checker. It currently provides a mostly spell-like interface (gives the list of wrong words in the input text), but can also suggest corrections (-c). It also provides a true (yet incomplete) morphological analizer (-l), that prints all known meanings of a Hebrew string. +On typical documents Hspell recognizes the majority of correct words. However, users must take into account that it still will not recognize *all* the correct words; The dictionary is still not complete, and this situation will continue to improve in the next releases. On the other hand, barring bugs Hspell should not recognize incorrect words - extreme attention has been given to the correctness and consistency of the dictionary. +Hspell was written by Nadav Har'El and Dan Kenigsberg. + +%package -n lib%{name} +Summary: Library for {name}, the hebrew spell checker +Group: System/Internationalization + +%description -n lib%{name} +Library for {name}, the hebrew spell checker. + +%package -n lib%{name}-devel +Summary: Static library and include files for %{name}, the hebrew spell checker +Group: System/Internationalization +Requires: lib%{name} = %{version}-%{release} + +%description -n lib%{name}-devel +Static library and include files for applications that want to use %{name}. + +%package -n hunspell-he +Summary: Hebrew hunspell dictionaries +Group: System/Internationalization +Requires: hunspell + +%description -n hunspell-he +Hebrew hunspell dictionaries. + +%prep +%setup -q +#%patch0 -p1 +sed -i -e '/^\s\+strip\s/d' Makefile.in +sed -i -e 's/gzip/gzip -n/g' Makefile.in + +%build +%configure \ + --enable-fatverb \ + --enable-linginfo \ + --enable-shared + +%make -j1 +#CFLAGS="${CFLAGS:-%optflags}" + +#export PATH=$PATH:. +make hunspell + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +mkdir -p %{buildroot}%{_datadir}/myspell +cp -p he.dic %{buildroot}%{_datadir}/myspell/he_IL.dic +echo -e "WORDCHARS \0340\0341\0342\0343\0344\0345\0346\0347\0350\0351\0352\0353\0354\0355\0356\0357\0360\0361\0362\0363\0364\0365\0366\0367\0370\0371\0372\042\047" >> he.aff +cp -p he.aff %{buildroot}%{_datadir}/myspell/he_IL.aff + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/hspell +%{_bindir}/hspell-i +%{_bindir}/multispell +%{_mandir}/man1/hspell.1.gz + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libhspell.so.0 +%{_datadir}/hspell/hebrew.wgz +%{_datadir}/hspell/hebrew.wgz.hints +%{_datadir}/hspell/hebrew.wgz.prefixes +%{_datadir}/hspell/hebrew.wgz.sizes +%{_datadir}/hspell/hebrew.wgz.desc +%{_datadir}/hspell/hebrew.wgz.stems +%doc COPYING README WHATSNEW + +%files -n lib%{name}-devel +%defattr(-,root,root) +%{_includedir}/*.h +%{_libdir}/libhspell.a +%{_libdir}/libhspell.so +%{_mandir}/man3/hspell.3.gz + +%files -n hunspell-he +%defattr(-,root,root) +%{_datadir}/myspell/he_IL.aff +%{_datadir}/myspell/he_IL.dic +%doc LICENSE + +%changelog +* Thu Aug 30 2012 Automatic Build System 1.2-1mamba +- automatic version update by autodist + +* Tue Feb 01 2011 Silvan Calarco 1.1-1mamba +- update to 1.1 +- libhspell: remove requirement for hspell +- move dictionary files from hspell to libhspell + +* Tue Nov 04 2008 gil 1.0-1mamba +- package created by autospec