diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix new file mode 100644 index 000000000000..de64f86d7282 --- /dev/null +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -0,0 +1,38 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, isPy37, pyperclip }: + +buildPythonPackage rec { + version = "0.2.4"; + pname = "approvaltests"; + + # no tests included in PyPI tarball + src = fetchFromGitHub { + owner = "approvals"; + repo = "ApprovalTests.Python"; + rev = version; + sha256 = "05lj5i13zpkgw1wdc1v81wj4zqj8bpzqiwycdnwlg08azcy7k7j1"; + }; + + propagatedBuildInputs = [ pyperclip ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "pyperclip==1.5.27" "pyperclip>=1.5.27" + ''; + + # Tests fail on Python 3.7 + # https://github.com/approvals/ApprovalTests.Python/issues/36 + doCheck = !isPy37; + + # Disable Linux failing test, because tries to use darwin/windows specific reporters + preCheck = stdenv.lib.optionalString stdenv.isLinux '' + substituteInPlace tests/test_genericdiffreporter.py \ + --replace "test_find_working_reporter" "_find_working_reporter" + ''; + + meta = with stdenv.lib; { + description = "Assertion/verification library to aid testing"; + homepage = https://github.com/approvals/ApprovalTests.Python; + license = licenses.asl20; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c8ac1a62be92..44db2c4cd3a2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -835,6 +835,8 @@ in { appnope = callPackage ../development/python-modules/appnope { }; + approvaltests = callPackage ../development/python-modules/approvaltests { }; + apsw = callPackage ../development/python-modules/apsw {}; astor = callPackage ../development/python-modules/astor {};