Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / ydiff / default.nix
blob04f9be193aac1ee62d36a36d45cbb08984622dee
1 { lib, buildPythonPackage, fetchPypi, docutils, pygments
2 , gitMinimal, mercurial, subversion, patchutils, less
3 }:
5 buildPythonPackage rec {
6   pname = "ydiff";
7   version = "1.2";
8   format = "setuptools";
10   src = fetchPypi {
11     inherit pname version;
12     sha256 = "f5430577ecd30974d766ee9b8333e06dc76a947b4aae36d39612a0787865a121";
13   };
15   patchPhase = ''
16     substituteInPlace ydiff.py \
17       --replace "['git'" "['${gitMinimal}/bin/git'" \
18       --replace "['hg'" "['${mercurial}/bin/hg'" \
19       --replace "['svn'" "['${subversion}/bin/svn'" \
20       --replace "['filterdiff'" "['${patchutils}/bin/filterdiff'" \
21       --replace "['less'" "['${less}/bin/less'" # doesn't support PAGER from env
22     substituteInPlace tests/test_ydiff.py \
23       --replace /bin/rm rm \
24       --replace /bin/sh sh
25     patchShebangs setup.py
26     patchShebangs tests/*.sh
27   '';
29   nativeCheckInputs = [ docutils pygments ];
31   checkPhase = ''
32     runHook preCheck
33     make doc-check reg # We don't want the linter or coverage check.
34     runHook postCheck
35   '';
37   meta = with lib; {
38     description = "View colored, incremental diff in workspace or from stdin with side by side and auto pager support (Was \"cdiff\")";
39     mainProgram = "ydiff";
40     longDescription = ''
41       Term based tool to view colored, incremental diff in a version
42       controlled workspace (supports Git, Mercurial, Perforce and Svn
43       so far) or from stdin, with side by side (similar to diff -y)
44       and auto pager support.
45     '';
46     homepage = "https://github.com/ymattw/ydiff";
47     license = licenses.bsd3;
48     maintainers = (with maintainers; [ leenaars ]) ++ teams.deshaw.members;
49   };