diff --git a/pkgs/development/python-modules/hypothesis/2.nix b/pkgs/development/python-modules/hypothesis/2.nix new file mode 100644 index 000000000000..9b4aa5ccf0ab --- /dev/null +++ b/pkgs/development/python-modules/hypothesis/2.nix @@ -0,0 +1,45 @@ +{ lib, buildPythonPackage, fetchFromGitHub +, isPy3k, attrs, coverage, enum34, pexpect +, doCheck ? true, pytest, pytest_xdist, flaky, mock +, sortedcontainers +}: +buildPythonPackage rec { + # https://hypothesis.readthedocs.org/en/latest/packaging.html + + # Hypothesis has optional dependencies on the following libraries + # pytz fake_factory django numpy pytest + # If you need these, you can just add them to your environment. + + version = "4.57.1"; + pname = "hypothesis"; + + # Use github tarballs that includes tests + src = fetchFromGitHub { + owner = "HypothesisWorks"; + repo = "hypothesis-python"; + rev = "hypothesis-python-${version}"; + hash = "sha256:1qcpcrk6892hzyjsdr581pw6i4fj9035nv89mcjrcrzcmycdlfds"; + }; + + postUnpack = "sourceRoot=$sourceRoot/hypothesis-python"; + + propagatedBuildInputs = [ + attrs + coverage + sortedcontainers + ] ++ lib.optional (!isPy3k) enum34; + + checkInputs = [ pytest pytest_xdist flaky mock pexpect ]; + inherit doCheck; + + checkPhase = '' + rm tox.ini # This file changes how py.test runs and breaks it + py.test tests/cover + ''; + + meta = with lib; { + description = "A Python library for property based testing"; + homepage = "https://github.com/HypothesisWorks/hypothesis"; + license = licenses.mpl20; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 56758a6ea535..acf1dd558e98 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4056,7 +4056,10 @@ in { hydra = callPackage ../development/python-modules/hydra { }; - hypothesis = callPackage ../development/python-modules/hypothesis { }; + hypothesis = if isPy3k then + callPackage ../development/python-modules/hypothesis { } + else + callPackage ../development/python-modules/hypothesis/2.nix { }; hydra-check = callPackage ../development/python-modules/hydra-check { };