diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2006-10-27 01:46:05 +0000 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2006-10-27 01:46:05 +0000 |
commit | 08106516f87f333203404ada53dd2bcb96d2477d (patch) | |
tree | 35e6ab90008bddef2a53b18e18cae6e08c15a18b /app-text/hspell | |
parent | Fix for PHP segfault, bug #152933. (diff) | |
download | historical-08106516f87f333203404ada53dd2bcb96d2477d.tar.gz historical-08106516f87f333203404ada53dd2bcb96d2477d.tar.bz2 historical-08106516f87f333203404ada53dd2bcb96d2477d.zip |
Made hspell be shared library, thanks for KDE herd for the help, as part of bug#152818
Package-Manager: portage-2.1.1
Diffstat (limited to 'app-text/hspell')
-rw-r--r-- | app-text/hspell/ChangeLog | 9 | ||||
-rw-r--r-- | app-text/hspell/Manifest | 19 | ||||
-rw-r--r-- | app-text/hspell/files/digest-hspell-1.0-r1 | 3 | ||||
-rw-r--r-- | app-text/hspell/files/hspell-1.0-shared.patch | 478 | ||||
-rw-r--r-- | app-text/hspell/hspell-1.0-r1.ebuild | 36 |
5 files changed, 540 insertions, 5 deletions
diff --git a/app-text/hspell/ChangeLog b/app-text/hspell/ChangeLog index edbab00c2a20..549508c710e7 100644 --- a/app-text/hspell/ChangeLog +++ b/app-text/hspell/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-text/hspell # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/hspell/ChangeLog,v 1.18 2006/10/06 13:49:45 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-text/hspell/ChangeLog,v 1.19 2006/10/27 01:46:05 alonbl Exp $ + +*hspell-1.0-r1 (27 Oct 2006) + + 27 Oct 2006; Alon Bar-Lev <alonbl@gentoo.org> + +files/hspell-1.0-shared.patch, +hspell-1.0-r1.ebuild: + Made hspell be shared library, thanks for KDE herd for the help, as part of + bug#152818 05 Oct 2006; Alon Bar-Lev <alonbl@gentoo.org> metadata.xml: Adding my-self as primary maintainer to metadata.xml (see bug#77751). diff --git a/app-text/hspell/Manifest b/app-text/hspell/Manifest index 4c3e20bcd4a3..3d4a409098e4 100644 --- a/app-text/hspell/Manifest +++ b/app-text/hspell/Manifest @@ -1,3 +1,7 @@ +AUX hspell-1.0-shared.patch 19790 RMD160 f430d7f09bdd6d6957cf54d06f5e1071ca4fc31c SHA1 054baa2eb2a8f8d31931293c7ab136b6cd74efa7 SHA256 6263cab50f514dca4e1a65065a5cd7365469cc54475d8a7768bbda5c63052613 +MD5 986fba9b7bf025fdbaf7bcb1a862e468 files/hspell-1.0-shared.patch 19790 +RMD160 f430d7f09bdd6d6957cf54d06f5e1071ca4fc31c files/hspell-1.0-shared.patch 19790 +SHA256 6263cab50f514dca4e1a65065a5cd7365469cc54475d8a7768bbda5c63052613 files/hspell-1.0-shared.patch 19790 DIST hspell-0.4.tar.gz 99850 RMD160 a706835b2d2904a3be4847905d68860978dffa9c SHA1 46d73d2bf80e662270a3a6bdad6e27b185a7e5b1 SHA256 23aa57711d4b03fbfec7b74aec6429995d4dc2bc1c406ac3ce17688467c1ccfa DIST hspell-0.5.tar.gz 116306 RMD160 1270f9332d0f721369baef1cc7896d4a310d0a37 SHA1 e2474b6c78f8a3e161cf963a2f28ecb161a18664 SHA256 178e0d0eb4a90ceeb3a0a54dcd75c1a6d37c309e26622d0cd05dd132d10e15d6 DIST hspell-0.6.tar.gz 151705 RMD160 fc80872e005bd12334383cf97d92ba2ded5d6e2c SHA1 d30b48406b6fec55862e54b6a4a7d42fedae5777 SHA256 495f011d317918683ba63d3ec3f6f2bf8224a7288f5db453f38bb81e07eccff0 @@ -19,14 +23,18 @@ EBUILD hspell-0.7.ebuild 726 RMD160 6812439b3151ccc8ed86d708c26de573edfb3569 SHA MD5 116e60b2f1178489238efe3e63a22801 hspell-0.7.ebuild 726 RMD160 6812439b3151ccc8ed86d708c26de573edfb3569 hspell-0.7.ebuild 726 SHA256 6592960727ef6d42efa1de7d6ffb335c3da114ba58c3fbd57bfabf6ba1553a0f hspell-0.7.ebuild 726 +EBUILD hspell-1.0-r1.ebuild 845 RMD160 a28e3f53ab445026b09ba0388f06f26e99f61b34 SHA1 53391c3de26614fe3751e27acb3eb47d005b80ba SHA256 c30eacd5078ef3ba44eaf41256ff35913d4206186bff8210a30f4bf25ba8e1c0 +MD5 844561ef030fba86076a23095c0c75e3 hspell-1.0-r1.ebuild 845 +RMD160 a28e3f53ab445026b09ba0388f06f26e99f61b34 hspell-1.0-r1.ebuild 845 +SHA256 c30eacd5078ef3ba44eaf41256ff35913d4206186bff8210a30f4bf25ba8e1c0 hspell-1.0-r1.ebuild 845 EBUILD hspell-1.0.ebuild 837 RMD160 fe880b10c78f08d845a1e95b386106facd2f4806 SHA1 ccfb10c42e1d9281c8130efe879abfd5408f4475 SHA256 3b80b9ffccbe82850b72cc152c3406fd7fe46f62ce1da3fd29af2d62634a1485 MD5 736aad81a54f0990a69aa6e544671e37 hspell-1.0.ebuild 837 RMD160 fe880b10c78f08d845a1e95b386106facd2f4806 hspell-1.0.ebuild 837 SHA256 3b80b9ffccbe82850b72cc152c3406fd7fe46f62ce1da3fd29af2d62634a1485 hspell-1.0.ebuild 837 -MISC ChangeLog 2062 RMD160 30c6241e2e993d4dc9207d884c010fcf59a5eb39 SHA1 3ca3fac212852a4351fa0698fc66bd533ff9ce9a SHA256 5e214e8795dd714c193262fe614029f7c8c0e3ba5ce1703284433af233dd06a3 -MD5 a149ac64061e7ed4e8baa6a0e52f57a5 ChangeLog 2062 -RMD160 30c6241e2e993d4dc9207d884c010fcf59a5eb39 ChangeLog 2062 -SHA256 5e214e8795dd714c193262fe614029f7c8c0e3ba5ce1703284433af233dd06a3 ChangeLog 2062 +MISC ChangeLog 2289 RMD160 d827f720216b0dfa6dec214f478424f9ced61c12 SHA1 2fe9cb49ac09cdc8f63312ce759ee37d28052656 SHA256 46009b701a1d731daaa9b1161220e2fa2217510bc1c7e18fb3ed483ae102fb31 +MD5 b43a33450619ac7e6a8ee984833d0514 ChangeLog 2289 +RMD160 d827f720216b0dfa6dec214f478424f9ced61c12 ChangeLog 2289 +SHA256 46009b701a1d731daaa9b1161220e2fa2217510bc1c7e18fb3ed483ae102fb31 ChangeLog 2289 MISC metadata.xml 453 RMD160 e42b374ff5471ca99460e11a5843377a1d0c6d2e SHA1 625e098e69b764c1141d41fe080b9f78d7e01812 SHA256 1688214ac356bee512119757e424d262c0cb8d2bcfd06b129a110cb82788e870 MD5 ee37654a6fd895a8008e4c8afd3d4fb7 metadata.xml 453 RMD160 e42b374ff5471ca99460e11a5843377a1d0c6d2e metadata.xml 453 @@ -46,3 +54,6 @@ SHA256 150ee9df2ed34374a2cd073a469356bde048545df7f1cc57f675a77b54cdd1ed files/di MD5 f944a04a90a778befcc81cf8bcf72a01 files/digest-hspell-1.0 232 RMD160 8e63678d5f16b9dbf0dfc38ceb0241cb0bb428cf files/digest-hspell-1.0 232 SHA256 81c9963b984a0a91006a88f921b1fd21d2f94f8d8f3fbc2f243fd62a51a05417 files/digest-hspell-1.0 232 +MD5 f944a04a90a778befcc81cf8bcf72a01 files/digest-hspell-1.0-r1 232 +RMD160 8e63678d5f16b9dbf0dfc38ceb0241cb0bb428cf files/digest-hspell-1.0-r1 232 +SHA256 81c9963b984a0a91006a88f921b1fd21d2f94f8d8f3fbc2f243fd62a51a05417 files/digest-hspell-1.0-r1 232 diff --git a/app-text/hspell/files/digest-hspell-1.0-r1 b/app-text/hspell/files/digest-hspell-1.0-r1 new file mode 100644 index 000000000000..7aa7e0e97063 --- /dev/null +++ b/app-text/hspell/files/digest-hspell-1.0-r1 @@ -0,0 +1,3 @@ +MD5 3e12fa383c2cfd430918d115f33f9841 hspell-1.0.tar.gz 292215 +RMD160 f4a4ce05650e3b658cc9cc5cfba8a9280b598718 hspell-1.0.tar.gz 292215 +SHA256 19919d8aea49f37277f82b090ddf81fbedf3cc693f3eaf034dddf8a3bddc2e50 hspell-1.0.tar.gz 292215 diff --git a/app-text/hspell/files/hspell-1.0-shared.patch b/app-text/hspell/files/hspell-1.0-shared.patch new file mode 100644 index 000000000000..a390e2885e0e --- /dev/null +++ b/app-text/hspell/files/hspell-1.0-shared.patch @@ -0,0 +1,478 @@ +diff -urNp hspell-1.0.org/binarize-desc.pl hspell-1.0/binarize-desc.pl +--- hspell-1.0.org/binarize-desc.pl 2005-01-11 17:45:00.000000000 +0200 ++++ hspell-1.0/binarize-desc.pl 2006-10-27 00:13:06.000000000 +0200 +@@ -202,9 +202,9 @@ while(<>){ + $c++; + print STDERR "#" if !($c%1000); + } +-print STDERR "\ncreate dmask.c...\n"; ++print STDERR "\ncreate dmask.c.h...\n"; + +-open(DESC_C,">dmask.c") or die "cannot create dmask.c\n"; ++open(DESC_C,">dmask.c.h") or die "cannot create dmask.c.h\n"; + print DESC_C "/* This file is automatically generated by binarize-desc.pl.\n". + " DO NOT EDIT THIS FILE DIRECTLY!\n*/\n"; + print DESC_C "int dmasks[] = {\n"; +diff -urNp hspell-1.0.org/configure.in hspell-1.0/configure.in +--- hspell-1.0.org/configure.in 2004-12-06 23:01:49.000000000 +0200 ++++ hspell-1.0/configure.in 2006-10-27 01:53:44.000000000 +0200 +@@ -1,16 +1,33 @@ + dnl Process this file with autoconf to produce Hspell's configure script. + ++AC_INIT(hspell, 1.0, ++ [http://www.ivrix.org.il/bugzilla/enter_bug.cgi?product=Hspell]) ++ + dnl "wolig.dat" is any file in the source directory, used to check we're in + dnl the right directory. +-AC_INIT(wolig.dat) ++AC_CONFIG_SRCDIR(wolig.dat) ++ ++AM_INIT_AUTOMAKE + +-dnl this alows us to use $(MAKE) in the makefile, even if our make program +-dnl doesn't support this variable. This requires putting @SET_MAKE@ in the +-dnl Makefile.in +-AC_PROG_MAKE_SET ++AC_PROG_LIBTOOL + +-AC_PROG_CC +-dnl AC_PROG_INSTALL ++dnl Libtool versioning (CURRENT:REVISION:AGE) ++dnl 1. Start with version information of 0:0:0 for each libtool library. ++dnl 2. Update the version information only immediately before a public ++dnl release of your software. More frequent updates are unnecessary, and ++dnl only guarantee that the current interface number gets larger faster. ++dnl 3. If the library source code has changed at all since the last ++dnl update, then increment revision (c:r:a becomes c:r+1:a). ++dnl 4. If any interfaces have been added, removed, or changed since the ++dnl last update, increment current, and set revision to 0. ++dnl 5. If any interfaces have been added since the last public release, ++dnl then increment age. ++dnl 6. If any interfaces have been removed since the last public release, ++dnl then set age to 0. ++dnl ++dnl http://www.gnu.org/software/libtool/manual.html#Updating-version-info ++LT_VERSION_INFO="-version-info 1:0:0" ++AC_SUBST(LT_VERSION_INFO) + + dnl Hspell uses the "inline" keyword, always as "static inline". Some old C + dnl compilers (such as the one on Solaris 8!) still don't have inline, so we +@@ -22,12 +39,15 @@ AC_C_CONST + dnl TODO: remove -g from CFLAGS and add -s to LDFLAGS + + AC_PATH_PROG([PERL], [perl]) ++AC_PATH_PROG([GZIP], [gzip]) ++AC_PATH_PROG([AWK], [awk]) + + dnl Check for libraries. + AC_CHECK_LIB([z],[gzread], +- [AC_CHECK_HEADER([zlib.h],[AC_DEFINE(HAVE_ZLIB) LIBS="-lz $LIBS"], ++ [AC_CHECK_HEADER([zlib.h],[AC_DEFINE(HAVE_ZLIB) LIBS="$LIBS -lz" ZLIB_LIBS="-lz"], + [AC_MSG_RESULT([No Zlib header, defaulting to using pipes])])], + [AC_MSG_RESULT([No Zlib library, defaulting to using pipes])]) ++AC_SUBST(ZLIB_LIBS) + + dnl Allow the builder to enable or disable certain features of Hspell, + dnl and/or build or not build certain things. +@@ -37,11 +57,6 @@ dnl "make clean" is done! + AC_MSG_NOTICE([Checking features selected by user (see configure --help)...]) + + +-dnl Our TARGETS variable chooses what to compile. Some things are +-dnl optionally compiled depending on --enable-* paramters to configure. +-TARGETS="hebrew.wgz.sizes hspell" +-AC_SUBST(TARGETS) +- + dnl "fatverb" optional feature: (--enable-fatverb) + dnl Determines whether or not to build about 150,000 additional rare verb + dnl forms (known as objective kinuyim). +@@ -63,25 +78,6 @@ else + fi + AC_SUBST(SEDCMD) + +-dnl "aspell" optional feature: (--enable-aspell) +-dnl Builds data files - he_affix.dat and he.wl - needed by Aspell to do +-dnl spell-checking of Hebrew. +- +-dnl NOTE: This configuration parameter is deprecated. There is no point +-dnl in using it, instead of doing normal "configure" followed by "make aspell". +- +-AC_ARG_ENABLE([aspell], +- AC_HELP_STRING([--enable-aspell],[Build data files - he_affix.dat +- and he.wl - suitable for use as Aspell 0.6 dictionary for Hebrew.]), +- [ac_opt_aspell=$enable_aspell], [ac_opt_aspell=no]) +- +-if test x$ac_opt_aspell = xyes +-then +- AC_MSG_NOTICE([Feature aspell enabled (building he_affix.dat, he.wl).]) +- TARGETS="$TARGETS aspell" +-else +- AC_MSG_NOTICE([Feature aspell disabled (not building aspell files).]) +-fi + + dnl "linginfo" optional feature: (--enable-linginfo) + dnl Include a full morphological analyzer in "hspell -l". Note that this +@@ -95,20 +91,14 @@ AC_ARG_ENABLE([linginfo], + 4 times larger, but doesn't slow Hspell if "-l" isn't used.]), + [ac_opt_linginfo=$enable_linginfo], [ac_opt_linginfo=no]) + +-EXTRAOBJECTS= + if test x$ac_opt_linginfo = xyes + then + AC_MSG_NOTICE([Feature linginfo enabled (morphological analyzer).]) + AC_DEFINE(USE_LINGINFO) +- EXTRAOBJECTS="linginfo.o" +-# note that linginfo_data should be done first, because it currently builds +-# some of the normal things (like hebrew.wgz) in a different way (using +-# pack-desc, not pmerge). This is ugly, and should be fixed. +- TARGETS="linginfo_data $TARGETS" + else + AC_MSG_NOTICE([Feature linginfo disabled (no morphological analyzer).]) + fi +-AC_SUBST(EXTRAOBJECTS) ++AM_CONDITIONAL(ENABLE_LINGINFO, test x$ac_opt_linginfo = xyes) + + dnl "test" optional feature: (--enable-test) + dnl Compile a testing binary. Currently the only thing that this does is +@@ -127,9 +117,10 @@ then + AC_MSG_NOTICE([Feature test enabled (USES DICTIONARY IN CURRENT DIRECTORY!!!).]) + DICTBASE='./hebrew.wgz' + else +- DICTBASE='$(SHARE)/hebrew.wgz' ++ DICTBASE='$(pkgdatadir)/hebrew.wgz' + fi + AC_SUBST(DICTBASE) + + +-AC_OUTPUT(Makefile) ++AC_CONFIG_FILES([Makefile hspell.pc]) ++AC_OUTPUT +diff -urNp hspell-1.0.org/hspell.pc.in hspell-1.0/hspell.pc.in +--- hspell-1.0.org/hspell.pc.in 1970-01-01 02:00:00.000000000 +0200 ++++ hspell-1.0/hspell.pc.in 2006-10-27 00:03:28.000000000 +0200 +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: Hspell ++Description: Hebrew spell-checker library ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lhspell @ZLIB_LIBS@ +diff -urNp hspell-1.0.org/libhspell.c hspell-1.0/libhspell.c +--- hspell-1.0.org/libhspell.c 2006-05-04 22:59:37.000000000 +0300 ++++ hspell-1.0/libhspell.c 2006-10-27 00:21:06.000000000 +0200 +@@ -75,7 +75,7 @@ load_data(struct dict_radix **dictp) + * genprefixes.pl program. + */ + +-#include "prefixes.c" ++#include "prefixes.c.h" + + struct prefix_node { + /* if a prefix has a certain 'mask', and lookup on a word returns +diff -urNp hspell-1.0.org/linginfo.c hspell-1.0/linginfo.c +--- hspell-1.0.org/linginfo.c 2004-09-08 10:11:19.000000000 +0300 ++++ hspell-1.0/linginfo.c 2006-10-27 01:05:49.000000000 +0200 +@@ -5,7 +5,7 @@ + #include <string.h> + #include "linginfo.h" + +-#include "dmask.c" ++#include "dmask.c.h" + + + /* For an explanation of this bizarre set of definitions, see the comment +diff -urNp hspell-1.0.org/ltmain.sh hspell-1.0/ltmain.sh +diff -urNp hspell-1.0.org/Makefile.am hspell-1.0/Makefile.am +--- hspell-1.0.org/Makefile.am 1970-01-01 02:00:00.000000000 +0200 ++++ hspell-1.0/Makefile.am 2006-10-27 01:57:09.000000000 +0200 +@@ -0,0 +1,257 @@ ++ ++# ++# EXTRIMLY important ++# UTF will not work!!! ++# ++LC_ALL=C ++LC_CTYPE=C ++LC_COLLATE=C ++ ++INCLUDES = -DDICTIONARY_BASE=\"$(DICTBASE)\" -I. ++ ++if ENABLE_LINGINFO ++linginfo_sources = linginfo.c ++linginfo_deps = dmask.c.h ++linginfo_data = hebrew.wgz.stems hebrew.wgz.desc ++else ++linginfo_sources = ++linginfo_deps = ++linginfo_data = ++endif ++ ++BUILT_SOURCES = prefixes.c.h $(linginfo_deps) ++ ++lib_LTLIBRARIES = libhspell.la ++nodist_libhspell_la_SOURCES = prefixes.c.h $(linginfo_deps) ++libhspell_la_SOURCES = dict_radix.c gimatria.c corlist.c libhspell.c $(linginfo_sources) ++libhspell_la_LDFLAGS = $(LT_VERSION_INFO) -no-undefined ++ ++dist_bin_SCRIPTS = multispell ++dist_man_MANS = hspell.1 hspell.3 ++bin_PROGRAMS = hspell ++hspell_SOURCES = hspell.c tclHash.c ++hspell_LDADD = libhspell.la ++ ++include_HEADERS = hspell.h linginfo.h ++ ++pkgdata_DATA = hebrew.wgz hebrew.wgz.hints hebrew.wgz.prefixes hebrew.wgz.sizes $(linginfo_data) ++ ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = hspell.pc ++ ++noinst_PROGRAMS = find_sizes specfilter mk_he_affix wunzip ++find_sizes_SOURCES = find_sizes.c dict_radix.c ++find_sizes_CFLAGS = $(AM_CFLAGS) ++specfilter_SOURCES = specfilter.c ++specfilter_DEPENDENCIES = prefixes.c.h ++mk_he_affix_SOURCES = mk_he_affix.c ++mk_he_affix_DEPENDENCIES = prefixes.c.h ++wunzip_SOURCES = wunzip.c ++ ++noinst_HEADERS = dict_radix.h gzbuffered.h hash.h tclHash.h ++ ++install-exec-hook: ++ -$(LN_S) hspell$(EXEEXT) $(DESTDIR)$(bindir)/hspell-i ++ ++CLEANFILES = out.nouns out.verbs out.nouns-shemp hspell.pl_full \ ++ hspell.pl_wzip wunzip wordlist.wgz shemp.dat \ ++ hebrew.wgz hebrew.wgz.sizes hebrew.wgz.prefixes \ ++ dout.nouns.shemp.gz shemp.dat dout.nouns.wolig.gz dout.verbs.gz \ ++ prefixes.c.h hebrew.wgz.desc hebrew.wgz.stems he_affix.dat \ ++ he.wl mk_he_affix hebrew.wgz.lingsizes.tmp dmask.c.h 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 \ ++ 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 ++ ++EXTRA_DIST = COPYING INSTALL LICENSE README TODO WHATSNEW \ ++ stats wzip wolig.pl wolig.dat biza-nouns milot extrawords \ ++ woo woo.dat biza-verbs likelyerrors spellinghints \ ++ pmerge PrefixBits.pl genprefixes.pl binarize-desc.pl pack-desc.pl \ ++ install.js.pre hspell.pc.in ++ ++############################### special rules ############################### ++ ++prefixes.c.h: genprefixes.pl ++ $(PERL) -I. -w $< > $@ ++ ++hebrew.wgz.hints: spellinghints ++ $(GZIP) -9 < $< > $@ ++ ++GZDICTS=dout.nouns.wolig.gz dout.verbs.gz dout.nouns.shemp.gz ++DICTS=milot extrawords biza-verbs biza-nouns ++ ++# hebrew.wgz contains all the words without any prefix hints like B,L,+ we ++# previously had. ++# hebrew.wgz.prefixes is the prefix hints (one byte per word, compressed). ++# hebrew.wgz.sizes contains the memory sizes that reading hebrew.wgz will ++# require (this makes it easier for hspell to preallocate the needed sizes). ++hebrew.wgz hebrew.wgz.prefixes: $(DICTS) $(GZDICTS) ++ ($(GZIP) -dc $(GZDICTS); cat $(DICTS)) | $(PERL) -I. -- pmerge -p hebrew.wgz.tmp | $(AWK) -f wzip | $(GZIP) -9 > hebrew.wgz ++ $(GZIP) -9 < hebrew.wgz.tmp >hebrew.wgz.prefixes ++ -rm -f hebrew.wgz.tmp ++hebrew.wgz.sizes: hebrew.wgz find_sizes$(EXEEXT) ++ $(GZIP) -dc hebrew.wgz | ./find_sizes >hebrew.wgz.sizes ++ ++###################################### optional linginfo stuff ############## ++# hebrew.wgz contains all the words without any prefix hints like B,L,+ we ++# previously had. ++# hebrew.wgz.prefixes is the prefix hints (one byte per word, compressed). ++# hebrew.wgz.sizes contains the memory sizes that reading hebrew.wgz will ++# require (this makes it easier for hspell to preallocate the needed sizes). ++# dmask.c contains an array of all possible values of the description bitmask. ++# It is generated by pack-desc.pl. This array is not too long (no more than ++# 300 for the default dictionary). ++# ++# In the following long rule, the complete list of all words with linguistic ++# details is concatanated and sent to binarize-desc.pl, which converts the ++# detail information of each word into bitmap (called dmask), produces a ++# spesifier that tell which prefixes are accepted with the word, and writes its ++# stem. Then the words list is sorted, packed (a-la uniq), and the output files ++# are written. ++ ++# TODO: make pack-desc.pl/binarize-desc.pl and pmerge into just one script ++# (with options on whether to generate stems, etc.), and then we won't have ++# this ugliness of two different rules generating hebrew.wgz in two ways ++# (this is not only ugly, it's unsafe. If we use linginfo (--enable-linginfo ++# and change, say, "extrawords", and run "make hebrew.wgz" we will get the ++# wrong program run. "make" will work properly because we stick an extra ++# target in front of the default targets. ++# ++ ++hebrew.wgz.desc hebrew.wgz.stems hebrew.wgz.lingsizes.tmp dmask.c.h: $(DICTS) $(GZDICTS) find_sizes$(EXEEXT) ++ ($(GZIP) -dc $(GZDICTS); cat $(DICTS)) | \ ++ $(PERL) "-I." binarize-desc.pl | \ ++ sort -u | \ ++ $(PERL) "-I." pack-desc.pl -p hebrew.wgz.prefixes.tmp \ ++ -d hebrew.wgz.desc.tmp -s hebrew.wgz.stems.tmp \ ++ -l hebrew.wgz.lingsizes.tmp | \ ++ $(AWK) -f wzip | \ ++ $(GZIP) -9 > hebrew.wgz ++ $(GZIP) -dc hebrew.wgz | ./find_sizes >hebrew.wgz.sizes ++ cat hebrew.wgz.lingsizes.tmp >> hebrew.wgz.sizes ++ -rm -f hebrew.wgz.prefixes ++ -rm -f hebrew.wgz.lingsizes.tmp ++ $(GZIP) -9 < hebrew.wgz.prefixes.tmp >hebrew.wgz.prefixes ++ -rm -f hebrew.wgz.prefixes.tmp ++ -rm -f hebrew.wgz.desc ++ $(GZIP) -9 < hebrew.wgz.desc.tmp >hebrew.wgz.desc ++ -rm -f hebrew.wgz.desc.tmp ++ -rm -f hebrew.wgz.stems ++ $(GZIP) -9 < hebrew.wgz.stems.tmp >hebrew.wgz.stems ++ -rm -f hebrew.wgz.stems.tmp ++############################################################################ ++ ++ ++# dout.* are the outputs from the various word-list generators with the ++# -d option (i.e., with an explanation on how each word was derived) ++# ++# The dout files are quite large, as much as 10MB. To lower the amount ++# of temporary space needed during compilation (is this necessary nowadays?) ++# we compress them. ++dout.nouns.%: %.dat ++ $(PERL) -I. -w wolig.pl -d $< > $@ ++dout.nouns.%.gz: %.dat ++ $(PERL) -I. -w wolig.pl -d $< | $(GZIP) -4 > $@ ++dout.nouns.shemp.gz: shemp.dat ++ $(PERL) -I. -w wolig.pl -d shemp.dat | $(GZIP) -4 > $@ ++ ++# We need two rules here, and not just two targets for one rule, to make ++# parallel make work correctly. See bug 78 in the bugzilla for more info. ++dout.verbs.gz: ++ $(PERL) -I. -w woo -d woo.dat | sed "$(SEDCMD)" | $(GZIP) -4 > $@ ++shemp.dat: dout.verbs.gz ++ ++############################################################################ ++# The following targets build packages of Hspell's word list in formats ++# required for other spell-checkers like Aspell and Myspell. They are not ++# necessary for building Hspell. ++############################################################################ ++ ++# The "aspell" target generates the "he_affix.dat" and "he.wl" files needed ++# for using aspell 0.6 with Hspell's Hebrew word list. ++aspell: he_affix.dat he.wl ++mk_he_affix.o: prefixes.c.h ++he_affix.dat he.wl: mk_he_affix$(EXEEXT) wunzip$(EXEEXT) hebrew.wgz hebrew.wgz.prefixes specfilter$(EXEEXT) ++ ./mk_he_affix > he.wl ++ ++# The "myspell" target generates the "he.dic" and "he.aff" files needed ++# for using Hspell's Hebrew word list in myspell. Myspell is the spell- ++# checking library used in both Mozilla and OpenOffice, and its format is ++# very similar to the uncompressed aspell dictionary format. ++myspell: he.dic he.aff ++he.dic he.aff: he_affix.dat he.wl ++ cat he.wl | wc -l > he.dic ++ cat he.wl >> he.dic ++ echo SET ISO8859-8 > he.aff ++ echo TRY éåäàòçë÷\'\"ùñæãâáøðîèöúôíóêõïì >> he.aff ++ cat he_affix.dat >> he.aff ++ ++# The "mozilla" target generates a ".xpi" file, which is basically a zip ++# file containing the dictionaries in Myspell format (similar to the ++# uncompressed aspell dictionary format). ++mozilla: spell-he.xpi ++spell-he.xpi: he.dic he.aff install.js README ++ rm -f README-he.txt spell-he.xpi ++ cp README README-he.txt ++ zip spell-he.xpi install.js README-he.txt he.aff he.dic ++install.js: ++ sed "s/%VERSION%/$(VERSION)/g; s/%DISPLAY_NAME%/Hebrew (IL) dictionary/g; s/%APP_NAME%/spell-he/g" < install.js.pre > install.js ++ ++# The "heb-eng-xpi" target generates, like the "mozilla" target, an xpi ++# file. But instead of taking only the Hebrew word list, it merges our ++# Hebrew word list with another English word list. This is useful in software ++# (like Mozilla) which doesn't support multiple dictionaries at the same time, ++# but a typical user still wants to check mixed-language documents. ++hebeng: ++ mkdir hebeng ++en-US.dic en-US.aff README-en-US.txt: ++ echo \*\*\* Please link to the english dictionary files $@ ++ false ++hebeng/install.js: hebeng install.js.pre ++ sed "s/%VERSION%/$(VERSION)/g; s/%DISPLAY_NAME%/Hebrew-English combined dictionary/g; s/%APP_NAME%/spell-heb-eng/g; s/he\.dic/heb-eng.dic/; s/he\.aff/heb-eng.aff/; /var myspell_folder/s/$$/addFile(APP_NAME, \"README-en-US.txt\", myspell_folder, \"\")\;/" < install.js.pre > hebeng/install.js ++hebeng/heb-eng.aff: he.aff en-US.aff ++ echo SET ISO8859-8 >hebeng/heb-eng.aff ++ echo TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZéåäàòçë÷\'\"ùñæãâáøðîèöúôíóêõïì >> hebeng/heb-eng.aff ++ tail +3 en-US.aff >> hebeng/heb-eng.aff ++ tail +3 he.aff >> hebeng/heb-eng.aff ++hebeng/heb-eng.dic: he.dic en-US.dic ++ cat he.dic en-US.dic | wc -l > hebeng/heb-eng.dic ++ tail +2 en-US.dic >> hebeng/heb-eng.dic ++ tail +2 he.dic >> hebeng/heb-eng.dic ++heb-eng-xpi: hebeng hebeng/heb-eng.dic hebeng/heb-eng.aff hebeng/install.js README README-en-US.txt ++ (cd hebeng;\ ++ rm -f README-he.txt spell-heb-eng.xpi ;\ ++ cp README README-he.txt;\ ++ cp ../README-en-US.txt . ;\ ++ zip spell-heb-eng.xpi install.js README-he.txt README-en-US.txt heb-eng.aff heb-eng.dic) ++ ++# ++# The openoffice target generates a .zip file, which contains the files ++# that need to be installed in OpenOffice's dictionary directory (e.g., ++# /usr/lib/ooo-1.1/share/dict/ooo/). Additionally, you'll need to add the ++# line "DICT he IL he_IL" to the dictionary.lst file in that directory ++# (for performance, you may want to remove from that list dictionaries in ++# irrelevant languages). The zip itself can be used by DicOOo, OpenOffice's ++# automatic dictionary-fetching macro. But you don't need to compile Hspell ++# yourself if you plan to do that. ++openoffice: he_IL.zip ++he_IL.zip: he_IL.dic he_IL.aff README_he_IL.txt ++ rm -f he_IL.zip ++ zip he_IL.zip he_IL.dic he_IL.aff README_he_IL.txt ++# note: zip dereferences symbolic links, so those are enough. ++he_IL.dic: he.dic ++ $(LN_S) he.dic he_IL.dic ++he_IL.aff: he.aff ++ $(LN_S) he.aff he_IL.aff ++README_he_IL.txt: ++ echo "This Hebrew dictionary in Myspell format was generated automatically from" >README_he_IL.txt ++ echo "data prepared by the Hspell project:" >>README_he_IL.txt ++ echo >>README_he_IL.txt ++ echo "http://ivrix.org.il/projects/spell-checker" >>README_he_IL.txt ++ echo "Hspell version $(VERSION) was used." >>README_he_IL.txt ++ echo >>README_he_IL.txt ++ echo "This dictionary is Copyright (C) 2000-2006, Nadav Har'El and Dan Kenigsberg." >>README_he_IL.txt ++ echo "It is licensed under the GNU General Public License (GPL)." >>README_he_IL.txt ++ +diff -urNp hspell-1.0.org/mk_he_affix.c hspell-1.0/mk_he_affix.c +--- hspell-1.0.org/mk_he_affix.c 2006-05-08 22:33:28.000000000 +0300 ++++ hspell-1.0/mk_he_affix.c 2006-10-27 01:16:48.000000000 +0200 +@@ -9,11 +9,11 @@ + #include <string.h> + #include <stdlib.h> + +-#include "prefixes.c" ++#include "prefixes.c.h" + #include "hspell.h" + + /* #define PREFIXFILE_COMMAND "gzip -dc hebrew.wgz.prefixes" */ +-#define PREFIXFILE_COMMAND "gzip -dc hebrew.wgz.prefixes | specfilter" ++#define PREFIXFILE_COMMAND "gzip -dc hebrew.wgz.prefixes | ./specfilter" + + /* Convert a number in the range 0..52 (currently) to a readable character + that can be used as the rule (prefix set) name. To facilitate merging our +diff -urNp hspell-1.0.org/specfilter.c hspell-1.0/specfilter.c +--- hspell-1.0.org/specfilter.c 2006-05-04 22:58:11.000000000 +0300 ++++ hspell-1.0/specfilter.c 2006-10-27 01:16:02.000000000 +0200 +@@ -50,7 +50,7 @@ + * matters is just the bag of different masks in the masks[] array)) + */ + +-#include "prefixes.c" ++#include "prefixes.c.h" + + #include <stdlib.h> + diff --git a/app-text/hspell/hspell-1.0-r1.ebuild b/app-text/hspell/hspell-1.0-r1.ebuild new file mode 100644 index 000000000000..b0756e3f7376 --- /dev/null +++ b/app-text/hspell/hspell-1.0-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/hspell/hspell-1.0-r1.ebuild,v 1.1 2006/10/27 01:46:05 alonbl Exp $ + +inherit eutils autotools + +DESCRIPTION="A Hebrew spell checker" +HOMEPAGE="http://www.ivrix.org.il/projects/spell-checker/" +SRC_URI="http://ivrix.org.il/projects/spell-checker/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~ppc ~x86" +IUSE="" + +DEPEND=">=dev-lang/perl-5.6.1" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-shared.patch" + eautoreconf +} + +src_compile() { + econf \ + --enable-linginfo \ + --enable-fatverb \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc README TODO WHATSNEW +} |