Merge pull request #118 from ertugerata/master
lynks, hunspell and libIDL fixed and pisi-2.0/main
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
<PISI>
|
||||
<Name>network.web</Name>
|
||||
</PISI>
|
||||
@@ -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")
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>lynx</Name>
|
||||
<Homepage>http://lynx.isc.org/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPL</License>
|
||||
<PartOf>network.web</PartOf>
|
||||
<IsA>app:gui</IsA>
|
||||
<Summary>Lynx is the text web browser.</Summary>
|
||||
<Description>This is the top level page for the Lynx software distribution site hosted by the Internet Software Consortium.</Description>
|
||||
<Archive sha1sum="65bbf95627c88723bbb5880155e5fe01c2753d0c" type="tarbz2">http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>ncurses-devel</Dependency>
|
||||
<Dependency>openssl-devel</Dependency>
|
||||
<Dependency>gettext-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">lynx2-8-6-don-t-accept-command-line-args-to-telnet.patch</Patch>
|
||||
<Patch level="1">lynx2-8-6-fix-ugly-color.patch</Patch>
|
||||
<Patch level="1">lynx2-8-7-adapt-to-modern-file-localizations.patch</Patch>
|
||||
<Patch level="1">lynx2-8-7-tmp_dir.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>lynx</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>ncurses</Dependency>
|
||||
<Dependency>openssl</Dependency>
|
||||
<Dependency>gettext</Dependency>
|
||||
</RuntimeDependencies>
|
||||
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="data">/usr/share</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2014-05-29</Date>
|
||||
<Version>2.8.8</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Stefan Gronewold(groni)</Name>
|
||||
<Email>groni@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2014-03-09</Date>
|
||||
<Version>2.8.7</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-07-26</Date>
|
||||
<Version>2.8.7</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>Lynx</Name>
|
||||
<Summary xml:lang="en">Lynx is the text web browser.</Summary>
|
||||
<Summary xml:lang="pl">Przeglądarka WWW z interfejsem tekstowym</Summary>
|
||||
<Description xml:lang="en">This is the top level page for the Lynx software distribution site hosted by the Internet Software Consortium.</Description>
|
||||
<Description xml:lang="pl">Lynx – przeglądarka internetowa pracująca w trybie tekstowym.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -0,0 +1,3 @@
|
||||
<PISI>
|
||||
<Name>office.spellcheck</Name>
|
||||
</PISI>
|
||||
@@ -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")
|
||||
@@ -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 <agustin.martin@hispalinux.es>
|
||||
#
|
||||
# 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 <agustin.martin\@hispalinux.es> License: GPL
|
||||
|
||||
Usage:
|
||||
ispellaff2myspell [options] <affixfile>
|
||||
|
||||
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 (<REPLACE>){
|
||||
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 (<AFFIXFILE>){
|
||||
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<ispellaff2myspell> - A program to convert ispell affix tables to myspell format.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
ispellaff2myspell [options] <affixfile> --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<ispellaff2myspell> 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<i>
|
||||
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<http://lingucomponent.openoffice.org/index.html>
|
||||
|
||||
and the document
|
||||
|
||||
L<http://lingucomponent.openoffice.org/affix.readme>
|
||||
|
||||
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 <agustin.martin@hispalinux.es>
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# (C) 2008 Caolán McNamara <caolanm@redhat.com>
|
||||
#
|
||||
# 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
|
||||
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>hunspell</Name>
|
||||
<Homepage>http://hunspell.sourceforge.net/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>MPL-1.1</License>
|
||||
<License>GPLv2</License>
|
||||
<License>LGPLv2.1</License>
|
||||
<IsA>library</IsA>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>An improved spell checker</Summary>
|
||||
<Description>hunspell spell checker is an improved replacement for myspell in Openoffice.org. It is also used in Firefox and Thunderbird as spell checker.</Description>
|
||||
<Archive sha1sum="219b20f305d6690f666ff3864a16e4674908a553" type="targz">mirrors://sourceforge/hunspell/hunspell-1.3.3.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>ncurses-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- <Patch>hunspell-1.2.2-renameexes.patch</Patch> -->
|
||||
<!-- <Patch level="1">15_OOo_paths.patch</Patch> -->
|
||||
<!-- <Patch level="1">ubuntu_affix.patch</Patch> -->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>hunspell</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>ncurses</Dependency>
|
||||
<Dependency>libgcc</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="localedata">/usr/share/locale</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="man">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="/usr/bin/ispellaff2myspell" permission="0755" owner="root">ispellaff2myspell</AdditionalFile>
|
||||
<AdditionalFile target="/usr/bin/wordlist2hunspell" permission="0755" owner="root">wordlist2hunspell</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>hunspell-devel</Name>
|
||||
<Summary>Development files for hunspell</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">hunspell</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
<Path fileType="library">/usr/lib/*.a</Path>
|
||||
<Path fileType="man">/usr/share/man/man3</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="4">
|
||||
<Date>2014-07-10</Date>
|
||||
<Version>1.3.3</Version>
|
||||
<Comment>Version Bump.</Comment>
|
||||
<Name>Vedat Demir</Name>
|
||||
<Email>vedat@pisilinux.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2014-05-25</Date>
|
||||
<Version>1.3.2</Version>
|
||||
<Comment>Rebuild</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
<Email>alihan@pisilinux.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2014-01-26</Date>
|
||||
<Version>1.3.2</Version>
|
||||
<Comment>Rebuild and some fixes</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
<Email>alihan@pisilinux.com</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-09-11</Date>
|
||||
<Version>1.3.2</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@istambul.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>hunspell</Name>
|
||||
<Summary xml:lang="tr">Gelişmiş imla denetleyici</Summary>
|
||||
<Description xml:lang="tr">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.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>hunspell-devel</Name>
|
||||
<Summary xml:lang="tr">hunspell için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
@@ -15,6 +15,15 @@
|
||||
<Archive sha1sum="de97ec6132ac76bb7c0f92b5ca4682138093af1b" type="tarbz2">ftp://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>tcltk-devel</Dependency>
|
||||
<Dependency>db-devel</Dependency>
|
||||
<Dependency>gmp-devel</Dependency>
|
||||
<Dependency>tcl-devel</Dependency>
|
||||
<Dependency>gdbm-devel</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
<Dependency>libffi-devel</Dependency>
|
||||
<Dependency>openssl-devel</Dependency>
|
||||
<Dependency>readline-devel</Dependency>
|
||||
<Dependency>libyaml-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
<Summary>Development files for tcl</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">tcl</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
<Summary>Development files for tcltk</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">tcltk</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>tcl-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
|
||||
Reference in New Issue
Block a user