about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/approvaltests/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/approvaltests/default.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
new file mode 100644
index 000000000000..de64f86d7282
--- /dev/null
+++ b/nixpkgs/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 ];
+  };
+}