Merge pull request #109353 from alyssais/ydiff

ydiff,gitAndTools.ydiff: unify
This commit is contained in:
Sandro 2021-01-14 15:30:55 +01:00 committed by GitHub
commit 97259d0e38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 54 deletions

View File

@ -1,4 +1,6 @@
{ lib, 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 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 = teams.deshaw.members;
maintainers = (with maintainers; [ leenaars ]) ++ teams.deshaw.members;
};
}

View File

@ -1,45 +0,0 @@
{ stdenv, lib, pythonPackages, python3Packages, less, patchutils, git
, subversion, coreutils, which }:
with pythonPackages;
buildPythonApplication rec {
pname = "ydiff";
version = "1.2";
src = fetchPypi {
inherit pname version;
sha256 = "f5430577ecd30974d766ee9b8333e06dc76a947b4aae36d39612a0787865a121";
};
patchPhase = ''
substituteInPlace tests/test_ydiff.py \
--replace /bin/rm ${coreutils}/bin/rm \
--replace /bin/sh ${stdenv.shell}
substituteInPlace Makefile \
--replace "pep8 --ignore" "# pep8 --ignore" \
--replace "python3 \`which coverage\`" "${python3Packages.coverage}/bin/coverage3" \
--replace /bin/sh ${stdenv.shell} \
--replace tests/regression.sh "${stdenv.shell} tests/regression.sh"
patchShebangs tests/*.sh
'';
buildInputs = [ docutils pygments ];
propagatedBuildInputs = [ less patchutils ];
checkInputs = [ coverage coreutils git subversion which ];
checkTarget = if isPy3k then "test3" else "test";
meta = {
homepage = "https://github.com/ymattw/ydiff";
description = "View colored, incremental diff in workspace or from stdin";
longDescription = ''
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.
'';
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ leenaars ];
};
}

View File

@ -25741,7 +25741,7 @@ in
yate = callPackage ../applications/misc/yate { };
ydiff = callPackage ../development/tools/ydiff { };
inherit (gitAndTools) ydiff;
yed = callPackage ../applications/graphics/yed {};