about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/ydiff/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/ydiff/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/ydiff/default.nix37
1 files changed, 28 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/ydiff/default.nix b/nixpkgs/pkgs/development/python-modules/ydiff/default.nix
index 822bb40783e9..be935b1995c6 100644
--- a/nixpkgs/pkgs/development/python-modules/ydiff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ydiff/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, docutils, pygments
+, gitMinimal, mercurial, subversion, patchutils, less
+}:
 
 buildPythonPackage rec {
   pname = "ydiff";
@@ -9,21 +11,38 @@ buildPythonPackage rec {
     sha256 = "f5430577ecd30974d766ee9b8333e06dc76a947b4aae36d39612a0787865a121";
   };
 
-  # test suite requires a multitude of other version control tooling
-  # currently only a single file, an import/usage should suffice
+  patchPhase = ''
+    substituteInPlace ydiff.py \
+      --replace "['git'" "['${gitMinimal}/bin/git'" \
+      --replace "['hg'" "['${mercurial}/bin/hg'" \
+      --replace "['svn'" "['${subversion}/bin/svn'" \
+      --replace "['filterdiff'" "['${patchutils}/bin/filterdiff'" \
+      --replace "['less'" "['${less}/bin/less'" # doesn't support PAGER from env
+    substituteInPlace tests/test_ydiff.py \
+      --replace /bin/rm rm \
+      --replace /bin/sh sh
+    patchShebangs setup.py
+    patchShebangs tests/*.sh
+  '';
+
+  checkInputs = [ docutils pygments ];
+
   checkPhase = ''
-    $out/bin/ydiff --help
+    runHook preCheck
+    make doc-check reg # We don't want the linter or coverage check.
+    runHook postCheck
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "View colored, incremental diff in workspace or from stdin with side by side and auto pager support (Was \"cdiff\")";
     longDescription = ''
-      Term based tool to view colored, incremental diff in a Git/Mercurial/Svn
-      workspace or from stdin, with side by side (similar to diff -y) and auto
-      pager support
+      Term based tool to view colored, incremental diff in a version
+      controlled workspace (supports Git, Mercurial, Perforce and Svn
+      so far) or from stdin, with side by side (similar to diff -y)
+      and auto pager support.
     '';
     homepage = "https://github.com/ymattw/ydiff";
     license = licenses.bsd3;
-    maintainers = [ maintainers.limeytexan ];
+    maintainers = (with maintainers; [ leenaars ]) ++ teams.deshaw.members;
   };
 }