summary refs log tree commit diff
path: root/pkgs/development/libraries/aspell/default.nix
blob: e69bbe0d2f2ba1a9d953a03e20343e4bbc91c52f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{stdenv, fetchurl, perl}:

stdenv.mkDerivation rec {
  name = "aspell-0.60.6.1";

  src = fetchurl {
    url = "mirror://gnu/aspell/${name}.tar.gz";
    sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
  };

  patchPhase = ''
    patch interfaces/cc/aspell.h < ${./clang.patch}
  '';

  buildInputs = [ perl ];

  doCheck = true;

  preConfigure = ''
    configureFlagsArray=(
      --enable-pkglibdir=$out/lib/aspell
      --enable-pkgdatadir=$out/lib/aspell
    );
  '';

  postInstall = ''
    local prog="$out/bin/aspell"
    local hidden="$out/bin/.aspell-wrapped"
    mv "$prog" "$hidden"
    cat > "$prog" <<END
    #! $SHELL -e
    if [ -z "\$ASPELL_CONF" ]; then
      for p in \$NIX_PROFILES; do
        if [ -d "\$p/lib/aspell" ]; then
          ASPELL_CONF="data-dir \$p/lib/aspell"
        fi
      done
      if [ -z "\$ASPELL_CONF" ] && [ -d "\$HOME/.nix-profile/lib/aspell" ]; then
        ASPELL_CONF="data-dir \$HOME/.nix-profile/lib/aspell"
      fi
      export ASPELL_CONF
    fi
    exec "$hidden" "\$@"
    END
    chmod +x "$prog"
  '';

  meta = {
    description = "Spell checker for many languages";
    homepage = http://aspell.net/;
    license = stdenv.lib.licenses.lgpl2Plus;
    maintainers = [ ];
    platforms = with stdenv.lib.platforms; all;
  };
}