If a Python package does not come with either `format` or `pyproject` we consider it a setuptools build, that calls `setup.py` directly, which is deprecated. This change, as a first step, migrates a large chunk of these packages to set setuptools as their explicit format This is so we can unify the problem space for the next step of the migration.
62 lines
1.3 KiB
Nix
62 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
attrs,
|
|
coverage,
|
|
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";
|
|
format = "setuptools";
|
|
pname = "hypothesis";
|
|
|
|
# Use github tarballs that includes tests
|
|
src = fetchFromGitHub {
|
|
owner = "HypothesisWorks";
|
|
repo = "hypothesis-python";
|
|
rev = "hypothesis-python-${version}";
|
|
sha256 = "1qcpcrk6892hzyjsdr581pw6i4fj9035nv89mcjrcrzcmycdlfds";
|
|
};
|
|
|
|
postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
|
|
|
|
propagatedBuildInputs = [
|
|
attrs
|
|
coverage
|
|
sortedcontainers
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
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 = "Python library for property based testing";
|
|
homepage = "https://github.com/HypothesisWorks/hypothesis";
|
|
license = licenses.mpl20;
|
|
};
|
|
}
|