{ stdenv, fetchurl, fetchpatch, fetchzip, perl , searchNixProfiles ? true }: let # Source for u-deva.cmap and u-deva.cset: use the Marathi # dictionary like Debian does. devaMapsSource = fetchzip { name = "aspell-u-deva"; url = "ftp://ftp.gnu.org/gnu/aspell/dict/mr/aspell6-mr-0.10-0.tar.bz2"; sha256 = "1v8cdl8x2j1d4vbvsq1xrqys69bbccd6mi03fywrhkrrljviyri1"; }; in stdenv.mkDerivation rec { name = "aspell-0.60.6.1"; src = fetchurl { url = "mirror://gnu/aspell/${name}.tar.gz"; sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"; }; patches = [ (fetchpatch { # remove in >= 0.60.7 name = "gcc-7.patch"; url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff"; sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix"; }) ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch; postPatch = '' patch interfaces/cc/aspell.h < ${./clang.patch} ''; nativeBuildInputs = [ perl ]; doCheck = true; preConfigure = '' configureFlagsArray=( --enable-pkglibdir=$out/lib/aspell --enable-pkgdatadir=$out/lib/aspell ); ''; # Include u-deva.cmap and u-deva.cset in the aspell package # to avoid conflict between 'mr' and 'hi' dictionaries as they # both include those files. postInstall = '' cp ${devaMapsSource}/u-deva.{cmap,cset} $out/lib/aspell/ ''; meta = { description = "Spell checker for many languages"; homepage = http://aspell.net/; license = stdenv.lib.licenses.lgpl2Plus; maintainers = [ ]; platforms = with stdenv.lib.platforms; all; }; }