nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 aspell,
3 aspellDicts_de,
4 aspellDicts_en,
5 buildEnv,
6 fetchurl,
7 fortune,
8 gnugrep,
9 makeWrapper,
10 lib,
11 stdenv,
12 tk,
13 tre,
14}:
15let
16 aspellEnv = buildEnv {
17 name = "env-ding-aspell";
18 paths = [
19 aspell
20 aspellDicts_de
21 aspellDicts_en
22 ];
23 };
24in
25stdenv.mkDerivation rec {
26 pname = "ding";
27 version = "1.9";
28
29 src = fetchurl {
30 url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/ding-${version}.tar.gz";
31 sha256 = "sha256-aabIH894WihsBTo1LzIBzIZxxyhRYVxLcHpDQwmwmOU=";
32 };
33
34 nativeBuildInputs = [ makeWrapper ];
35 buildInputs = [
36 aspellEnv
37 fortune
38 gnugrep
39 tk
40 tre
41 ];
42
43 patches = [ ./dict.patch ];
44
45 installPhase = ''
46 mkdir -p $out/bin
47 mkdir -p $out/share/dict
48 mkdir -p $out/share/man/man1
49 mkdir -p $out/share/applications
50 mkdir -p $out/share/pixmaps
51
52 for f in ding ding.1; do
53 sed -i "s@/usr/share@$out/share@g" "$f"
54 done
55
56 sed -i "s@/usr/bin/fortune@fortune@g" ding
57
58 sed -i "s@/usr/bin/ding@$out/bin/ding@g" ding.desktop
59
60 cp -v ding $out/bin/
61 cp -v de-en.txt $out/share/dict/
62 cp -v ding.1 $out/share/man/man1/
63 cp -v ding.png $out/share/pixmaps/
64 cp -v ding.desktop $out/share/applications/
65
66 wrapProgram $out/bin/ding --prefix PATH : ${
67 lib.makeBinPath [
68 gnugrep
69 aspellEnv
70 tk
71 fortune
72 ]
73 } --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
74 '';
75
76 meta = with lib; {
77 description = "Simple and fast dictionary lookup tool";
78 mainProgram = "ding";
79 homepage = "https://www-user.tu-chemnitz.de/~fri/ding/";
80 license = licenses.gpl2Plus;
81 platforms = platforms.linux; # homepage says: unix-like except darwin
82 maintainers = [ maintainers.exi ];
83 };
84}