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