From 8dec5e6224c84cfcd027acdc288eda073ff5359a Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Thu, 4 Jul 2019 02:14:56 -0600 Subject: [PATCH] ispell: 3.3.02 -> 3.4.00 --- pkgs/tools/text/ispell/default.nix | 19 +++++-- .../patches/0005-Do-not-reorder-words.patch | 52 ------------------- 2 files changed, 15 insertions(+), 56 deletions(-) delete mode 100644 pkgs/tools/text/ispell/patches/0005-Do-not-reorder-words.patch diff --git a/pkgs/tools/text/ispell/default.nix b/pkgs/tools/text/ispell/default.nix index dbec8d353d94..2f61536ed2c0 100644 --- a/pkgs/tools/text/ispell/default.nix +++ b/pkgs/tools/text/ispell/default.nix @@ -1,14 +1,17 @@ { stdenv, fetchurl, bison, ncurses }: stdenv.mkDerivation rec { - name = "ispell-3.3.02"; + pname = "ispell"; + version = "3.4.00"; + 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"; }; + buildInputs = [ bison ncurses ]; + patches = [ - ./patches/0005-Do-not-reorder-words.patch ./patches/0007-Use-termios.patch ./patches/0008-Tex-backslash.patch ./patches/0009-Fix-FTBFS-on-glibc.patch @@ -21,6 +24,7 @@ stdenv.mkDerivation rec { ./patches/0025-Languages.patch ./patches/0030-Display-whole-multibyte-character.patch ]; + postPatch = '' cat >> local.h < -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) ---