build-bazel-package: added rm of extra local folders for toolchain configuration...
[NixPkgs.git] / pkgs / by-name / di / dirdiff / package.nix
blobd49b82741c85dce1d8a2a99c3d482bc1197adca1
2   copyDesktopItems,
3   fetchurl,
4   lib,
5   makeDesktopItem,
6   stdenv,
7   tcl,
8   tk,
9 }:
11 stdenv.mkDerivation rec {
12   pname = "dirdiff";
13   version = "2.1";
15   src = fetchurl {
16     url = "mirror://samba/paulus/${pname}-${version}.tar.gz";
17     sha256 = "0lljd8av68j70733yshzzhxjr1lm0vgmbqsm8f02g03qsma3cdyb";
18   };
20   nativeBuildInputs = [ copyDesktopItems ];
21   buildInputs = [
22     tcl
23     tk
24   ];
26   # Some light path patching.
27   patches = [ ./dirdiff-2.1-vars.patch ];
28   postPatch = ''
29     for file in dirdiff Makefile; do
30       substituteInPlace "$file" \
31           --subst-var out \
32           --subst-var-by tcl ${tcl} \
33           --subst-var-by tk ${tk}
34     done
35   '';
37   env = {
38     NIX_CFLAGS_COMPILE = "-DUSE_INTERP_RESULT";
39     NIX_LDFLAGS = "-ltcl";
40   };
42   # If we don't create the directories ourselves, then 'make install' creates
43   # files named 'bin' and 'lib'.
44   preInstall = ''
45     mkdir -p $out/bin $out/lib
46   '';
48   installFlags = [
49     "BINDIR=${placeholder "out"}/bin"
50     "LIBDIR=${placeholder "out"}/lib"
51   ];
53   desktopItems = [
54     (makeDesktopItem {
55       name = "dirdiff";
56       exec = "dirdiff";
57       desktopName = "Dirdiff";
58       genericName = "Directory Diff Viewer";
59       comment = "Diff and merge directory trees";
60       categories = [ "Development" ];
61     })
62   ];
64   meta = with lib; {
65     description = "Graphical directory tree diff and merge tool";
66     mainProgram = "dirdiff";
67     longDescription = ''
68       Dirdiff is a graphical tool for displaying the differences between
69       directory trees and for merging changes from one tree into another.
70     '';
71     homepage = "https://www.samba.org/ftp/paulus/";
72     license = licenses.gpl2Plus;
73     platforms = platforms.unix;
74   };