diff --git a/network/web/component.xml b/network/web/component.xml
new file mode 100644
index 0000000000..f8809fce3d
--- /dev/null
+++ b/network/web/component.xml
@@ -0,0 +1,3 @@
+
+ network.web
+
diff --git a/network/web/lynx/actions.py b/network/web/lynx/actions.py
new file mode 100644
index 0000000000..00961fa8f7
--- /dev/null
+++ b/network/web/lynx/actions.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+# Licensed under the GNU General Public License, version 3.
+# See the file http://www.gnu.org/copyleft/gpl.txt
+
+from pisi.actionsapi import autotools
+from pisi.actionsapi import get
+from pisi.actionsapi import pisitools
+
+def setup():
+ autotools.configure("--prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-warnings \
+ --enable-8bit-toupper \
+ --enable-externs \
+ --enable-cgi-links \
+ --enable-persistent-cookies \
+ --enable-prettysrc \
+ --enable-source-cache \
+ --enable-charset-choice \
+ --enable-default-colors \
+ --enable-nested-tables \
+ --enable-read-eta \
+ --with-zlib \
+ --enable-nls \
+ --enable-ipv6 \
+ --mandir=/usr/share/man")
+
+def build():
+ autotools.make()
+
+def install():
+ autotools.rawInstall("DESTDIR=%s" % get.installDIR())
+
+ pisitools.dodoc("AUTHORS*", "AUTHORS", "CHANGES", "COPYING", "INSTALLATION","README")
+
+ pisitools.dobin("lynx")
diff --git a/network/web/lynx/files/lynx2-8-6-don-t-accept-command-line-args-to-telnet.patch b/network/web/lynx/files/lynx2-8-6-don-t-accept-command-line-args-to-telnet.patch
new file mode 100644
index 0000000000..e650e8df3b
--- /dev/null
+++ b/network/web/lynx/files/lynx2-8-6-don-t-accept-command-line-args-to-telnet.patch
@@ -0,0 +1,15 @@
+--- lynx2-8-6/WWW/Library/Implementation/HTTelnet.c.pix 2006-05-30 00:44:54.000000000 +0200
++++ lynx2-8-6/WWW/Library/Implementation/HTTelnet.c 2006-11-16 17:27:19.000000000 +0100
+@@ -64,6 +64,12 @@
+ strcmp(acc_method, "rlogin") == 0 ? rlogin :
+ strcmp(acc_method, "tn3270") == 0 ? tn3270 : telnet;
+
++ /* don't accept command line args to telnet */
++ /* notting@redhat.com, 8-25-99 */
++ for (; *host && *host =='-' ; host ++) {
++ *host = '\0';
++ }
++
+ /*
+ * Modified to allow for odd chars in a username only if exists.
+ * 05-28-94 Lynx 2-3-1 Garrett Arch Blythe
diff --git a/network/web/lynx/files/lynx2-8-6-fix-ugly-color.patch b/network/web/lynx/files/lynx2-8-6-fix-ugly-color.patch
new file mode 100644
index 0000000000..e47b535e7d
--- /dev/null
+++ b/network/web/lynx/files/lynx2-8-6-fix-ugly-color.patch
@@ -0,0 +1,11 @@
+--- lynx2-8-6/samples/lynx.lss.pix 2006-09-19 02:28:28.000000000 +0200
++++ lynx2-8-6/samples/lynx.lss 2006-11-16 17:23:21.000000000 +0100
+@@ -34,7 +34,7 @@
+ sup: bold: yellow
+ sub: dim: gray
+ li: normal: magenta
+-code: normal: cyan
++code: normal: white
+ cite: normal: cyan
+
+ table: normal: brightcyan
diff --git a/network/web/lynx/files/lynx2-8-7-adapt-to-modern-file-localizations.patch b/network/web/lynx/files/lynx2-8-7-adapt-to-modern-file-localizations.patch
new file mode 100644
index 0000000000..0ad233c849
--- /dev/null
+++ b/network/web/lynx/files/lynx2-8-7-adapt-to-modern-file-localizations.patch
@@ -0,0 +1,33 @@
+--- lynx2-8-7/userdefs.h.orig 2009-06-07 02:30:35.000000000 +0200
++++ lynx2-8-7/userdefs.h 2010-01-03 14:41:42.000000000 +0100
+@@ -115,8 +115,8 @@
+ * Mappings in these global and personal files override any SUFFIX
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
+ */
+-#define GLOBAL_EXTENSION_MAP "Lynx_Dir:mime.types"
+-#define PERSONAL_EXTENSION_MAP "mime.types"
++#define GLOBAL_EXTENSION_MAP "/etc/mime.types"
++#define PERSONAL_EXTENSION_MAP ".mime.types"
+
+ /**************************
+ * The MAILCAP file allows you to map file MIME types to
+@@ -125,7 +125,7 @@
+ * Mappings in these global and personal files override any VIEWER
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
+ */
+-#define GLOBAL_MAILCAP "Lynx_Dir:mailcap"
++#define GLOBAL_MAILCAP "/etc/mailcap"
+ #define PERSONAL_MAILCAP ".mailcap"
+
+ /**************************
+--- lynx2-8-7/lynx.cfg.orig 2009-06-24 01:53:58.000000000 +0200
++++ lynx2-8-7/lynx.cfg 2010-01-03 14:41:42.000000000 +0100
+@@ -12,7 +12,7 @@
+ # Definition pairs are of the form VARIABLE:DEFINITION
+ # NO spaces are allowed between the pair items.
+ #
+-# If you do not have write access to /usr/local/lib you may change
++# If you do not have write access to /usr/bin you may change
+ # the default location of this file in the userdefs.h file and recompile,
+ # or specify its location on the command line with the "-cfg"
+ # command line option.
diff --git a/network/web/lynx/files/lynx2-8-7-tmp_dir.patch b/network/web/lynx/files/lynx2-8-7-tmp_dir.patch
new file mode 100644
index 0000000000..e8efd2df0e
--- /dev/null
+++ b/network/web/lynx/files/lynx2-8-7-tmp_dir.patch
@@ -0,0 +1,43 @@
+--- lynx2-8-7/src/LYMain.c.orig 2009-07-06 01:52:33.000000000 +0200
++++ lynx2-8-7/src/LYMain.c 2010-01-03 14:58:31.000000000 +0100
+@@ -967,6 +967,7 @@
+ struct stat dir_info;
+ char filename[LY_MAXPATH];
+ BOOL LYGetStdinArgs = FALSE;
++ struct stat st;
+
+ #ifdef _WINDOWS
+ WSADATA WSAData;
+@@ -1209,6 +1210,21 @@
+ #endif
+ LYTildeExpand(&lynx_temp_space, TRUE);
+
++
++ if (stat(lynx_temp_space, &st) < 0) {
++ if (errno = ENOENT) {
++ printf("Creating dir %s\n", lynx_temp_space);
++ mkdir(lynx_temp_space, 0700);
++ }
++ }
++
++ if (stat(lynx_temp_space, &st) < 0) {
++ if (errno = ENOENT) {
++ printf("Can't create %s, let's try /tmp/\n", lynx_temp_space);
++ lynx_temp_space = "/tmp/";
++ }
++ }
++
+ if ((cp = strstr(lynx_temp_space, "$USER")) != NULL) {
+ char *cp1;
+
+--- lynx2-8-7/userdefs.h.orig 2010-01-03 14:58:31.000000000 +0100
++++ lynx2-8-7/userdefs.h 2010-01-03 14:58:31.000000000 +0100
+@@ -354,7 +354,7 @@
+ * the "TMPDIR" (unix), or "TEMP" or "TMP" (Windows,DOS,OS/2)
+ * variable.
+ */
+-#define TEMP_SPACE "/tmp/"
++#define TEMP_SPACE "~/tmp/"
+
+ /********************************
+ * Comment this line out to disable code that implements command logging
diff --git a/network/web/lynx/pspec.xml b/network/web/lynx/pspec.xml
new file mode 100644
index 0000000000..a4ae5e0672
--- /dev/null
+++ b/network/web/lynx/pspec.xml
@@ -0,0 +1,69 @@
+
+
+
+
+ lynx
+ http://lynx.isc.org/
+
+ PisiLinux Community
+ admins@pisilinux.org
+
+ GPL
+ network.web
+ app:gui
+ Lynx is the text web browser.
+ This is the top level page for the Lynx software distribution site hosted by the Internet Software Consortium.
+ http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2
+
+ ncurses-devel
+ openssl-devel
+ gettext-devel
+
+
+ lynx2-8-6-don-t-accept-command-line-args-to-telnet.patch
+ lynx2-8-6-fix-ugly-color.patch
+ lynx2-8-7-adapt-to-modern-file-localizations.patch
+ lynx2-8-7-tmp_dir.patch
+
+
+
+
+ lynx
+
+ ncurses
+ openssl
+ gettext
+
+
+
+ /usr/bin
+ /etc
+ /usr/share
+ /usr/share/man
+
+
+
+
+
+ 2014-05-29
+ 2.8.8
+ Version bump.
+ Stefan Gronewold(groni)
+ groni@pisilinux.org
+
+
+ 2014-03-09
+ 2.8.7
+ Rebuild.
+ Kamil Atlı
+ suvarice@gmail.com
+
+
+ 2012-07-26
+ 2.8.7
+ First release
+ PisiLinux Community
+ admins@pisilinux.org
+
+
+
diff --git a/network/web/lynx/translations.xml b/network/web/lynx/translations.xml
new file mode 100644
index 0000000000..0e5abd2b4c
--- /dev/null
+++ b/network/web/lynx/translations.xml
@@ -0,0 +1,10 @@
+
+
+
+ Lynx
+ Lynx is the text web browser.
+ PrzeglÄ…darka WWW z interfejsem tekstowym
+ This is the top level page for the Lynx software distribution site hosted by the Internet Software Consortium.
+ Lynx – przeglądarka internetowa pracująca w trybie tekstowym.
+
+
diff --git a/office/spellcheck/component.xml b/office/spellcheck/component.xml
new file mode 100644
index 0000000000..ddedf4ca31
--- /dev/null
+++ b/office/spellcheck/component.xml
@@ -0,0 +1,3 @@
+
+ office.spellcheck
+
diff --git a/office/spellcheck/hunspell/actions.py b/office/spellcheck/hunspell/actions.py
new file mode 100644
index 0000000000..f4cbef5454
--- /dev/null
+++ b/office/spellcheck/hunspell/actions.py
@@ -0,0 +1,30 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# Licensed under the GNU General Public License, version 3.
+# See the file http://www.gnu.org/licenses/gpl.txt
+
+from pisi.actionsapi import autotools
+from pisi.actionsapi import pisitools
+from pisi.actionsapi import shelltools
+from pisi.actionsapi import get
+
+
+def setup():
+ shelltools.export("AUTOPOINT", "true")
+ autotools.autoreconf("-fi")
+ autotools.configure("--disable-static \
+ --with-ui \
+ --with-readline \
+ --enable-nls")
+ pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
+
+def build():
+ autotools.make()
+
+def install():
+ autotools.rawInstall("DESTDIR=%s" % get.installDIR())
+ for f in ("affixcompress", "makealias", "wordforms"):
+ pisitools.dobin("src/tools/%s" % f)
+
+ pisitools.dodoc("ABOUT-NLS", "AUTHORS*", "BUGS", "COPYING*", "NEWS", "README*", "THANKS", "TODO")
diff --git a/office/spellcheck/hunspell/files/ispellaff2myspell b/office/spellcheck/hunspell/files/ispellaff2myspell
new file mode 100644
index 0000000000..6f2e79ea23
--- /dev/null
+++ b/office/spellcheck/hunspell/files/ispellaff2myspell
@@ -0,0 +1,472 @@
+#!/usr/bin/perl -w
+# -*- coding: iso-8859-1 -*-
+# $Id: ispellaff2myspell,v 1.29 2005/07/04 12:21:55 agmartin Exp $
+#
+# (C) 2002-2005 Agustin Martin Domingo
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+sub usage {
+ print "ispellaff2myspell: A program to convert ispell affix tables to myspell format
+(C) 2002-2005 Agustin Martin Domingo License: GPL
+
+Usage:
+ ispellaff2myspell [options]
+
+ Options:
+ --affixfile=s Affix file
+ --bylocale Use current locale setup for upper/lowercase
+ conversion
+ --charset=s Use specified charset for upper/lowercase
+ conversion (defaults to latin1)
+ --debug Print debugging info
+ --extraflags Allow some non alphabetic flags
+ --lowercase=s Lowercase string
+ --myheader=s Header file
+ --printcomments Print commented lines in output
+ --replacements=s Replacements file
+ --split=i Split flags with more that i entries
+ --uppercase=s Uppercase string
+ --wordlist=s Still unused
+
+ Currently allowed valued for charset are: latin1, latin2, latin3
+
+This script does not create the dict file. Something like
+
+( echo `cat mydict.words+ | wc -l`; cat mydict.words+ ) > mydict.dict
+
+should do the work, with mydict.words+ being the ispell munched wordlist
+
+";
+ exit;
+}
+
+sub debugprint {
+ if ( $debug ){
+ print STDERR "@_";
+ }
+}
+
+sub shipoutflag{
+ my $flag_entries=scalar @flag_array;
+
+ if ( $flag_entries != 0 ){
+ if ( $split ){
+ while ( @flag_array ){
+ my @flag_subarray=splice(@flag_array,0,$split);
+ my $subflag_entries=scalar @flag_subarray;
+ if ( scalar @flag_array ){
+ print "$myaffix $flagname $flagcombine $subflag_entries S\n";
+ } else {
+ print "$myaffix $flagname $flagcombine $subflag_entries\n";
+ }
+ print join("\n",@flag_subarray);
+ print "\n\n";
+ }
+ } else {
+ print "$myaffix $flagname $flagcombine $flag_entries\n";
+ print join("\n",@flag_array);
+ print "\n\n";
+ }
+ }
+ @flag_array=();
+ $flagname='';
+ $flagcombine='';
+}
+
+sub mylc{
+ my $inputstring=shift;
+ my $outputstring;
+
+ if ( $bylocale ){
+ {
+ use locale;
+ $outputstring = lc $inputstring;
+ }
+ } else {
+ if ( $charset eq "latin0" ){
+ $lowercase='a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ½¨¸';
+ $uppercase='A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¼¦´';
+ } elsif ( $charset eq "latin1" ){
+ $lowercase='a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
+ $uppercase='A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
+ } elsif ( $charset eq "latin2" ){
+ $lowercase='a-z±³µ¶¹º»¼¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
+ $uppercase='A-Z¡£¥¦©ª«¬®¯ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
+ } elsif ( $charset eq "latin3" ){
+ $lowercase='a-z±¶¹º»¼¿àáâäåæçèéêëìíîïñòóôõö÷øùúûüýþ';
+ $uppercase='A-Z¡¦©ª«¬¯ÀÁÂÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖרÙÚÛÜÝÞ';
+# } elsif ( $charset eq "other_charset" ){
+# die "latin2 still unimplemented";
+ } else {
+ if ( not $lowercase and not $uppercase ){
+ die "Unsupported charset [$charset]
+
+use explicitely --lowercase=string and --uppercase=string
+options. Remember that both string must match exactly, but
+case changed.
+";
+ }
+ }
+ $outputstring=$inputstring;
+ eval "\$outputstring=~tr/$uppercase/$lowercase/";
+ }
+ return $outputstring;
+}
+
+sub validate_flag (){
+ my $flag = shift;
+ if ($flag=~m/[a-zA-Z]+/){
+ return $flag;
+ } elsif ( $hasextraflags ){
+ foreach ( keys %theextraflags ){
+ if ($flag =~ m/^$_/){
+ $flag =~ s/^$_//;
+ return $flag;
+ }
+ }
+ }
+ return '';
+}
+
+sub process_replacements{
+ my $file = shift;
+ my @replaces = ();
+
+ open (REPLACE,"< $file") ||
+ die "Error: Could not open replacements file: $file\n";
+ while (){
+ next unless m/^REP[\s\t]*\D.*/;
+ next if m/^REP\s+[0-9]+/;
+ s/\015\012//;
+ s/\015//;
+ chomp;
+ push @replaces, $_;
+ }
+ close REPLACE;
+ my $number = scalar @replaces;
+ print "REP $number\n";
+ foreach ( @replaces ){
+ print $_ . "\n";
+ }
+}
+
+# -----------------------------------------------------------
+# Now the progran start, after the functions are defined
+# -----------------------------------------------------------
+
+use Getopt::Long;
+
+# Initializing option values
+$affixfile = '';
+$bylocale = '';
+$charset = '';
+$debug = '';
+$lowercase = '';
+$myheader = '';
+$printcomments = '';
+$replacements = '';
+$split = '';
+$uppercase = '';
+$wordlist = '';
+$hasextraflags = '';
+@flag_array = ();
+%theextraflags = ();
+# Initializing root values
+$rootremove = "0";
+$rootname = '';
+$addtoroot = '';
+$comment = '';
+# Initializing flag values
+$flagname = '';
+$flagcombine = '';
+$inflags = '';
+
+GetOptions ('affixfile=s' => \$affixfile,
+ 'bylocale' => \$bylocale,
+ 'charset=s' => \$charset,
+ 'debug' => \$debug,
+ 'extraflags:s' => sub {
+ $hasextraflags = 1;
+ shift;
+ $theflag = shift;
+ $theextraflags{$theflag}++ if $theflag},
+ 'lowercase=s' => \$lowercase,
+ 'myheader=s' => \$myheader,
+ 'printcomments' => \$printcomments,
+ 'replacements=s'=> \$replacements,
+ 'split=i' => \$split,
+ 'uppercase=s' => \$uppercase,
+ 'wordlist=s' => \$wordlist) or usage;
+
+if ( not $affixfile ){
+ $affixfile=shift or usage;
+}
+
+if ( $charset and ( $lowercase or $uppercase )){
+ die "Error: charset and lowercase/uppercase options
+are incompatible. Use either charset or lowercase/uppercase options to
+specify the patterns
+"
+} elsif ( not $lowercase and not $uppercase and not $charset ){
+ $charset="latin1";
+}
+
+if ( scalar(keys %theextraflags) == 0 && $hasextraflags ){
+ $theextraflags{"\\\\"}++;
+}
+
+debugprint "$affixfile $charset";
+
+open (AFFIXFILE,"< $affixfile") ||
+ die "Error: Could not open affix file: $affixfile";
+
+if ( $myheader ){
+ my $myspell_header=`cat $myheader`;
+ print $myspell_header . "\n";
+}
+
+while (){
+ chomp;
+ if (/^\s*\#.*/){
+ debugprint "Ignoring line $.\n";
+ print "$_\n" if $printcomments;
+ } elsif (/^\s*$/){
+ debugprint "Ignoring line $.\n";
+ } elsif (/^\s*prefixes/){
+ debugprint "Prefixes starting in line $.\n";
+ $affix="PFX";
+ } elsif (/^\s*suffixes/){
+ debugprint "Suffixes starting in line $.\n";
+ $affix="SFX";
+ } elsif (/^[\s\t]*flag.*/){
+ next if not $affix; # In case we are still in the preamble
+ shipoutflag if $inflags;
+ $inflags="yes";
+ s/^[\s\t]*flag[\s\t]*//;
+ s/[\s\t]*:.*$//;
+ debugprint "Found flag $_ in line $.\n";
+
+ if (/\*/){
+ s/[\*\s]//g;
+ $flagcombine="Y";
+ debugprint "Flag renamed to $_ with combine=$flagcombine\n";
+ } else {
+ $flagcombine="N";
+ }
+
+ if ( $flagname = &validate_flag($_) ){
+ $myaffix = $affix;
+ } else {
+ $myaffix = "\# $affix";
+ $flagname = $_;
+ print STDERR "Ignoring invalid flag $flagname in line $.\n";
+ }
+ } elsif ( $affix and $inflags ) {
+ ($rootname,@comments) = split('#',$_);
+ $comment = '# ' . join('#',@comments);
+
+ $rootname =~ s/\s*//g;
+ $rootname = mylc $rootname;
+ ($rootname,$addtoroot) = split('>',$rootname);
+
+ if ( $addtoroot =~ s/^\-//g ){
+ ($rootremove,$addtoroot) = split(',',$addtoroot);
+ $addtoroot = "0" unless $addtoroot;
+ $addtoroot = "0" if ( $addtoroot eq "-");
+ } else {
+ $rootremove = "0";
+ }
+ $addtoroot =~ s/\\\-/\-/g; # prefix ANTI\- to anti-
+
+ if ( $rootname eq '.' && $rootremove ne "0" ){
+ $rootname = $rootremove;
+ }
+
+ debugprint "$rootname, $addtoroot, $rootremove\n";
+ if ( $printcomments ){
+ $affix_line=sprintf("%s %s %-5s %-11s %-24s %s",
+ $myaffix, $flagname, $rootremove,
+ $addtoroot, $rootname, $comment);
+ } else {
+ $affix_line=sprintf("%s %s %-5s %-11s %s",
+ $myaffix, $flagname, $rootremove,
+ $addtoroot, $rootname);
+ }
+ $rootremove = "0";
+ $rootname = '';
+ $addtoroot = '';
+ $comment = '';
+ @comments = ();
+ push @flag_array,$affix_line;
+ debugprint "$affix_line\n";
+ } else {
+ #
+ }
+}
+shipoutflag;
+
+close AFFIXFILE;
+
+if ( $replacements ){
+ &process_replacements($replacements);
+}
+
+__END__
+
+=head1 NAME
+
+B - A program to convert ispell affix tables to myspell format.
+
+=head1 SYNOPSIS
+
+ ispellaff2myspell [options] --myheader your_header
+
+ Options:
+
+ --affixfile=s Affix file
+ --bylocale Use current locale setup for upper/lowercase
+ conversion
+ --charset=s Use specified charset for upper/lowercase
+ conversion (defaults to latin1)
+ --debug Print debugging info
+ --extraflags=s Allow some non alphabetic flags
+ --lowercase=s Lowercase string
+ --myheader=s Header file
+ --printcomments Print commented lines in output
+ --replacements=s Replacements file
+ --split=i Split flags with more that i entries
+ --uppercase=s Uppercase string
+
+=head1 DESCRIPTION
+
+B is a script that will convert ispell affix tables
+to myspell format in a more or less successful way.
+
+This script does not create the dict file. Something like
+
+( echo `cat mydict.words+ | wc -l`; cat mydict.words+ ) > mydict.dict
+
+should do the work, with mydict.words+ being the munched wordlist
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<--affixfile=s>
+
+Affix file. You can put it directly in the command line.
+
+=item B<--bylocale>
+
+Use current locale setup for upper/lowercase conversion. Make sure
+that the selected locale match the dictionary one, or you might get
+into trouble.
+
+=item B<--charset=s>
+
+Use specified charset for upper/lowercase conversion (defaults to latin1).
+Currently allowed values for charset are: latin0, latin1, latin2, latin3.
+
+=item B<--debug>
+
+Print some debugging info.
+
+=item B<--extraflags:s>
+
+Allows some non alphabetic flags.
+
+When invoked with no value the supported flags are currently those
+corresponding to chars represented with the escape char B<\> as
+first char. B<\> will be stripped.
+
+When given with the flag prefix will allow that flag and strip the
+given prefix. Be careful when giving the prefix to properly escape chars,
+e.g. you will need B<-e "\\\\"> or B<-e '\\'> for flags like B<\[> to be stripped to
+B<[>. Otherwise you might even get errors. Use B<-e "^"> to allow all
+flags and pass them unmodified.
+
+You will need a call to -e for each flag type, e.g.,
+B<-e "\\\\" -e "~\\\\"> (or B<-e '\\' -e '~\\'>).
+
+When a prefix is explicitely set, the default value (anything starting by B<\>)
+is disabled and you need to enable it explicitely as in previous example.
+
+=item B<--lowercase=s>
+
+Lowercase string. Manually set the string of lowercase chars. This
+requires B<--uppercase> having exactly that string but uppercase.
+
+=item B<--myheader=s>
+
+Header file. The myspell aff header. You need to write it
+manually. This can contain everything you want to be before the affix table
+
+=item B<--printcomments>
+
+Print commented lines in output.
+
+=item B<--replacements=file>
+
+Add a pre-defined replacements table taken from 'file' to the .aff file.
+Will skip lines not beginning with REP, and set the replacements number
+appropriately.
+
+=item B<--split=i>
+
+Split flags with more that i entries. This can be of interest for flags
+having a lot of entries. Will split the flag in chunks containing B
+entries.
+
+=item B<--uppercase=s>
+
+Uppercase string. Manually set the sring of uppercase chars. This
+requires B<--lowercase> having exactly that string but lowercase.
+
+=back
+
+If your encoding is currently unsupported you can send me a file with
+the two strings of lower and uppercase chars. Note that they must match
+exactly but case changed. It will look something like
+
+ $lowercase='a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
+ $uppercase='A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
+
+=head1 SEE ALSO
+
+The OpenOffice.org Lingucomponent Project home page
+
+L
+
+and the document
+
+L
+
+that provides information about the basics of the myspell affix file format.
+
+You can also take a look at
+
+ /usr/share/doc/libmyspell-dev/affix.readme.gz
+ /usr/share/doc/libmyspell-dev/README.compoundwords
+ /usr/share/doc/libmyspell-dev/README.replacetable
+
+in your Debian system.
+
+=head1 AUTHORS
+
+Agustin Martin
+
+=cut
diff --git a/office/spellcheck/hunspell/files/wordlist2hunspell b/office/spellcheck/hunspell/files/wordlist2hunspell
new file mode 100644
index 0000000000..09a2bb227e
--- /dev/null
+++ b/office/spellcheck/hunspell/files/wordlist2hunspell
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# (C) 2008 Caolán McNamara
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# This creates a LANG_TERRITORY .aff & .dic from a wordlist.
+# It is only a simple wordlist spellchecking dictionary output, no
+# knowledge of language rules can be extrapolated to shrink the
+# wordlist or provide .aff rules for extending wordstems
+
+if [ $# -lt 2 ]; then
+ echo "Usage: wordlist2hunspell wordlist_file locale"
+ echo "e.g. wordlist2hunspell breton.words br_FR to create br_FR.dic and br_FR.aff in cwd"
+ exit 1
+fi
+
+export LANG=$2.utf8
+echo "# A basic .aff for a raw wordlist, created through wordlist2hunspell" > $2.aff
+echo SET UTF-8 >> $2.aff
+#see https://bugzilla.redhat.com/show_bug.cgi?id=462184 for the "C" hacks
+echo TRY `sed 's/./&\n/g' $1 | sed '/^$/d' | LC_ALL=C sort -n | LC_ALL=C uniq -c | LC_ALL=C sort -rn | tr -s ' ' | cut -d ' ' -f 3 | tr -d '\n'` >> $2.aff
+cat $1 | sed '/^$/d' | wc -l > $2.dic
+LC_ALL=C sort $1 | sed '/^$/d' >> $2.dic
+
+echo Basic $2.dic and $2.aff created
diff --git a/office/spellcheck/hunspell/pspec.xml b/office/spellcheck/hunspell/pspec.xml
new file mode 100644
index 0000000000..f6acc6af51
--- /dev/null
+++ b/office/spellcheck/hunspell/pspec.xml
@@ -0,0 +1,92 @@
+
+
+
+
+ hunspell
+ http://hunspell.sourceforge.net/
+
+ PisiLinux Community
+ admins@pisilinux.org
+
+ MPL-1.1
+ GPLv2
+ LGPLv2.1
+ library
+ app:console
+ An improved spell checker
+ hunspell spell checker is an improved replacement for myspell in Openoffice.org. It is also used in Firefox and Thunderbird as spell checker.
+ mirrors://sourceforge/hunspell/hunspell-1.3.3.tar.gz
+
+ ncurses-devel
+
+
+
+
+
+
+
+
+
+ hunspell
+
+ ncurses
+ libgcc
+
+
+ /usr/lib
+ /usr/bin
+ /usr/share/locale
+ /usr/share/man
+ /usr/share/doc
+
+
+ ispellaff2myspell
+ wordlist2hunspell
+
+
+
+
+ hunspell-devel
+ Development files for hunspell
+
+ hunspell
+
+
+ /usr/include
+ /usr/lib/pkgconfig
+ /usr/lib/*.a
+ /usr/share/man/man3
+
+
+
+
+
+ 2014-07-10
+ 1.3.3
+ Version Bump.
+ Vedat Demir
+ vedat@pisilinux.com
+
+
+ 2014-05-25
+ 1.3.2
+ Rebuild
+ Alihan Öztürk
+ alihan@pisilinux.com
+
+
+ 2014-01-26
+ 1.3.2
+ Rebuild and some fixes
+ Alihan Öztürk
+ alihan@pisilinux.com
+
+
+ 2012-09-11
+ 1.3.2
+ First release
+ Yusuf Aydemir
+ yusuf.aydemir@istambul.com
+
+
+
diff --git a/office/spellcheck/hunspell/translations.xml b/office/spellcheck/hunspell/translations.xml
new file mode 100644
index 0000000000..180373c0cc
--- /dev/null
+++ b/office/spellcheck/hunspell/translations.xml
@@ -0,0 +1,13 @@
+
+
+
+ hunspell
+ GeliÅŸmiÅŸ imla denetleyici
+ hunspell, OpenOffice.org'daki myspell yerine kullanılabilen gelişmiş bir imla denetleyicidir. Aynı zamanda, Firefox ve Thunderbird'de imla denetleyici olarak kullanılmaktadır.
+
+
+
+ hunspell-devel
+ hunspell için geliştirme dosyaları
+
+