summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2006-10-27 01:46:05 +0000
committerAlon Bar-Lev <alonbl@gentoo.org>2006-10-27 01:46:05 +0000
commit08106516f87f333203404ada53dd2bcb96d2477d (patch)
tree35e6ab90008bddef2a53b18e18cae6e08c15a18b /app-text/hspell
parentFix for PHP segfault, bug #152933. (diff)
downloadhistorical-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/ChangeLog9
-rw-r--r--app-text/hspell/Manifest19
-rw-r--r--app-text/hspell/files/digest-hspell-1.0-r13
-rw-r--r--app-text/hspell/files/hspell-1.0-shared.patch478
-rw-r--r--app-text/hspell/hspell-1.0-r1.ebuild36
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
+}