From eb2d56cb275672a0ccb8667e22e68cfe162a9b4e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Thu, 22 Nov 2018 22:25:48 +0100 Subject: [PATCH] python: pytest_37: init at 3.7.4 Needed at least by pyjwt. --- .../python-modules/pytest/default.nix | 85 +++++++++++-------- pkgs/top-level/python-packages.nix | 4 +- 2 files changed, 51 insertions(+), 38 deletions(-) diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index 9412a750a9a..dc928130cbb 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -2,46 +2,59 @@ , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools , atomicwrites, mock, writeText, pathlib2 }: -buildPythonPackage rec { - version = "3.9.3"; - pname = "pytest"; - preCheck = '' - # don't test bash builtins - rm testing/test_argcomplete.py - ''; +let generic = { version, sha256 }: + buildPythonPackage rec { + pname = "pytest"; + inherit version; - src = fetchPypi { - inherit pname version; + preCheck = '' + # don't test bash builtins + rm testing/test_argcomplete.py + ''; + + src = fetchPypi { + inherit pname version sha256; + }; + + checkInputs = [ hypothesis mock ]; + buildInputs = [ setuptools_scm ]; + propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites] + ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ] + ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ]; + + checkPhase = '' + runHook preCheck + $out/bin/py.test -x testing/ + runHook postCheck + ''; + + # Remove .pytest_cache when using py.test in a Nix build + setupHook = writeText "pytest-hook" '' + pytestcachePhase() { + find $out -name .pytest_cache -type d -exec rm -rf {} + + } + + preDistPhases+=" pytestcachePhase" + ''; + + meta = with stdenv.lib; { + homepage = https://docs.pytest.org; + description = "Framework for writing tests"; + maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; + license = licenses.mit; + platforms = platforms.unix; + }; + }; + +in { + pytest_39 = generic { + version = "3.9.3"; sha256 = "a9e5e8d7ab9d5b0747f37740276eb362e6a76275d76cebbb52c6049d93b475db"; }; - checkInputs = [ hypothesis mock ]; - buildInputs = [ setuptools_scm ]; - propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites] - ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ] - ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ]; - - checkPhase = '' - runHook preCheck - $out/bin/py.test -x testing/ - runHook postCheck - ''; - - # Remove .pytest_cache when using py.test in a Nix build - setupHook = writeText "pytest-hook" '' - pytestcachePhase() { - find $out -name .pytest_cache -type d -exec rm -rf {} + - } - - preDistPhases+=" pytestcachePhase" - ''; - - meta = with stdenv.lib; { - homepage = https://docs.pytest.org; - description = "Framework for writing tests"; - maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; - license = licenses.mit; - platforms = platforms.unix; + pytest_37 = generic { + version = "3.7.4"; + sha256 = "2d7c49e931316cc7d1638a3e5f54f5d7b4e5225972b3c9838f3584788d27f349"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1544c57941f..2211ab6cd17 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1349,10 +1349,10 @@ in { pytest = self.pytest_39; - pytest_39 = callPackage ../development/python-modules/pytest { + inherit (callPackage ../development/python-modules/pytest { # hypothesis tests require pytest that causes dependency cycle hypothesis = self.hypothesis.override { doCheck = false; }; - }; + }) pytest_39 pytest_37; pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { };