Merge pull request #64285 from tadeokondrak/ispell/update
ispell: 3.3.02 -> 3.4.00
This commit is contained in:
commit
72646582a4
@ -1,14 +1,17 @@
|
|||||||
{ stdenv, fetchurl, bison, ncurses }:
|
{ stdenv, fetchurl, bison, ncurses }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ispell-3.3.02";
|
pname = "ispell";
|
||||||
|
version = "3.4.00";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://fmg-www.cs.ucla.edu/geoff/tars/${name}.tar.gz";
|
url = "http://fmg-www.cs.ucla.edu/geoff/tars/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1d7c2fqrdjckp91ajpkn5nnmpci2qrxqn8b6cyl0zn1afb9amxbz";
|
sha256 = "1d7c2fqrdjckp91ajpkn5nnmpci2qrxqn8b6cyl0zn1afb9amxbz";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ bison ncurses ];
|
buildInputs = [ bison ncurses ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./patches/0005-Do-not-reorder-words.patch
|
|
||||||
./patches/0007-Use-termios.patch
|
./patches/0007-Use-termios.patch
|
||||||
./patches/0008-Tex-backslash.patch
|
./patches/0008-Tex-backslash.patch
|
||||||
./patches/0009-Fix-FTBFS-on-glibc.patch
|
./patches/0009-Fix-FTBFS-on-glibc.patch
|
||||||
@ -21,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
./patches/0025-Languages.patch
|
./patches/0025-Languages.patch
|
||||||
./patches/0030-Display-whole-multibyte-character.patch
|
./patches/0030-Display-whole-multibyte-character.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
cat >> local.h <<EOF
|
cat >> local.h <<EOF
|
||||||
${stdenv.lib.optionalString (!stdenv.isDarwin) "#define USG"}
|
${stdenv.lib.optionalString (!stdenv.isDarwin) "#define USG"}
|
||||||
@ -37,11 +41,18 @@ stdenv.mkDerivation rec {
|
|||||||
#define MINIMENU
|
#define MINIMENU
|
||||||
#define HAS_RENAME
|
#define HAS_RENAME
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
for dir in $out/share/emacs/site-lisp $out/share/info $out/share/man/man1 $out/share/man/man4 $out/bin $out/lib; do
|
for dir in $out/share/emacs/site-lisp $out/share/info $out/share/man/man1 $out/share/man/man4 $out/bin $out/lib; do
|
||||||
mkdir -p $dir
|
mkdir -p $dir
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An interactive spell-checking program for Unix";
|
||||||
|
homepage = "https://www.cs.hmc.edu/~geoff/ispell.html";
|
||||||
|
license = licenses.free;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
From: Geoff Kuenning <geoff@cs.hmc.edu>
|
|
||||||
Date: Thu, 3 Nov 2005 14:14:15 -0800
|
|
||||||
Subject: 0005 Do not reorder words
|
|
||||||
|
|
||||||
ispell reorders words in personal dictionary without good reason.
|
|
||||||
|
|
||||||
The correct approach is to build the internal data structure with variant
|
|
||||||
spellings stored in the same order as they appear in the personal dictionary.
|
|
||||||
Fortunately, this is easy, though the patch is to a different file. This one
|
|
||||||
has been tested (That's what I get for trying to rush out a fix before a
|
|
||||||
meeting!).
|
|
||||||
---
|
|
||||||
makedent.c | 18 +++++++++++-------
|
|
||||||
1 files changed, 11 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/makedent.c b/makedent.c
|
|
||||||
index 0453d11..d121345 100644
|
|
||||||
--- a/makedent.c
|
|
||||||
+++ b/makedent.c
|
|
||||||
@@ -447,9 +447,10 @@ int combinecaps (hdrp, newp)
|
|
||||||
if (retval == 0)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
- ** Couldn't combine the two entries. Add a new variant. For
|
|
||||||
- ** ease, we'll stick it right behind the header, rather than
|
|
||||||
- ** at the end of the list.
|
|
||||||
+ ** Couldn't combine the two entries. Add a new variant. We
|
|
||||||
+ ** stick it at the end of the variant list because it's
|
|
||||||
+ ** important to maintain order; this causes the personal
|
|
||||||
+ ** dictionary to have a stable ordering.
|
|
||||||
*/
|
|
||||||
forcevheader (hdrp, oldp, newp);
|
|
||||||
tdent = (struct dent *) mymalloc (sizeof (struct dent));
|
|
||||||
@@ -460,10 +461,13 @@ int combinecaps (hdrp, newp)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
*tdent = *newp;
|
|
||||||
- tdent->next = hdrp->next;
|
|
||||||
- hdrp->next = tdent;
|
|
||||||
- tdent->flagfield |= (hdrp->flagfield & MOREVARIANTS);
|
|
||||||
- hdrp->flagfield |= MOREVARIANTS;
|
|
||||||
+ for (oldp = hdrp;
|
|
||||||
+ oldp->next != NULL && oldp->flagfield & MOREVARIANTS;
|
|
||||||
+ oldp = oldp->next)
|
|
||||||
+ ;
|
|
||||||
+ tdent->next = oldp->next;
|
|
||||||
+ oldp->next = tdent;
|
|
||||||
+ oldp->flagfield |= MOREVARIANTS;
|
|
||||||
combineaffixes (hdrp, newp);
|
|
||||||
hdrp->flagfield |= (newp->flagfield & KEEP);
|
|
||||||
if (captype (newp->flagfield) == FOLLOWCASE)
|
|
||||||
--
|
|
Loading…
x
Reference in New Issue
Block a user