diff options
Diffstat (limited to 'pkgs/tools/text/dirdiff/default.nix')
-rw-r--r-- | pkgs/tools/text/dirdiff/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/tools/text/dirdiff/default.nix b/pkgs/tools/text/dirdiff/default.nix new file mode 100644 index 0000000000000..b49df59b29e1e --- /dev/null +++ b/pkgs/tools/text/dirdiff/default.nix @@ -0,0 +1,59 @@ +{ copyDesktopItems, fetchurl, lib, makeDesktopItem, stdenv, tcl, tk }: + +stdenv.mkDerivation rec { + pname = "dirdiff"; + version = "2.1"; + + src = fetchurl { + url = "https://www.samba.org/ftp/paulus/${pname}-${version}.tar.gz"; + sha256 = "0lljd8av68j70733yshzzhxjr1lm0vgmbqsm8f02g03qsma3cdyb"; + }; + + nativeBuildInputs = [ copyDesktopItems ]; + buildInputs = [ tcl tk ]; + + # Some light path patching. + patches = [ ./dirdiff-2.1-vars.patch ]; + postPatch = '' + for file in dirdiff Makefile; do + substituteInPlace "$file" \ + --subst-var out \ + --subst-var-by tcl ${tcl} \ + --subst-var-by tk ${tk} + done + ''; + + # If we don't create the directories ourselves, then 'make install' creates + # files named 'bin' and 'lib'. + preInstall = '' + mkdir -p $out/bin $out/lib + ''; + + installFlags = [ + "BINDIR=${placeholder "out"}/bin" + "LIBDIR=${placeholder "out"}/lib" + ]; + + desktopItems = [ + (makeDesktopItem { + name = "dirdiff"; + exec = "dirdiff"; + desktopName = "Dirdiff"; + genericName = "Directory Diff Viewer"; + comment = "Diff and merge directory trees"; + categories = "Development;"; + }) + ]; + + meta = with lib; { + description = "Graphical directory tree diff and merge tool"; + longDescription = '' + Dirdiff is a graphical tool for displaying the differences between + directory trees and for merging changes from one tree into another. + ''; + homepage = "https://www.samba.org/ftp/paulus/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ khumba ]; + platforms = platforms.linux; + }; +} |