summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.75.6.ebuild106
2 files changed, 107 insertions, 0 deletions
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index c8e88ae07a3b..14f60faf974f 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,2 +1,3 @@
DIST hypothesis-6.75.3.gh.tar.gz 9369491 BLAKE2B bae51e4f280a0773d4101b5b136ad994cb7eaca64a0a030bf3a9346d15a3caf7864bfc2f92bdff9eaabe83abc492b7e6cf31b19771470f6d680dbea9c83b31a4 SHA512 2e31f2f5483abf4c749dc3ef2758e51b62072e36f257777cecd71ea8f67a08987f5547bc9476dd2dbf8e9a6488fbe76d3d8ae83666bc2e80a2f26ea807cb15aa
DIST hypothesis-6.75.5.gh.tar.gz 9370565 BLAKE2B e9ef05cfc24a0e5ada5ba863b4ce4c2d4884020cc8f3692c35f3f3d25b0a416e4a2c1b2061ea9bbd105a0f30264ca5d91264e99d6e65e79c909e577756803d78 SHA512 c94b5d40fda5e66a216aee5d8b40ca4df2ebf1549674ee81ad84f2456eb6f67348f468293b693708bb61b2999bc2c31d81b0fec277d39dfe256230320a4de0cb
+DIST hypothesis-6.75.6.gh.tar.gz 9370713 BLAKE2B 93996d6ff0c109c11123ad9b653502c44d51277760338c2575840d6257081bb19b0eedbf2d0feb15e9ebc9e6feacdbe79e070bfd31d35bb9c825bb4a2d44b7f5 SHA512 12396799a7f3fe661f5cb72ccf1a7299919d9f4b05a4075810803350380d217e30312d853ba72e49c28c4f1a08143cb76adc87465ba9cef7400e2dad9cc52001
diff --git a/dev-python/hypothesis/hypothesis-6.75.6.ebuild b/dev-python/hypothesis/hypothesis-6.75.6.ebuild
new file mode 100644
index 000000000000..73f0790f2dd8
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.75.6.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_12 pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=() EPYTEST_IGNORE=()
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ fi
+ if [[ ${EPYTHON} == python3.12 ]]; then
+ # these look serious but affect hypothesis only partially,
+ # i.e. many revdeps will still work and since this is a test dep,
+ # we don't need it 100% perfect
+ # https://github.com/python/cpython/issues/105013
+ EPYTEST_IGNORE+=(
+ tests/cover/test_type_lookup.py
+ )
+ EPYTEST_DESELECT+=(
+ hypothesis-python/tests/cover/test_complex_numbers.py::test_allow_subnormal
+ hypothesis-python/tests/cover/test_lambda_formatting.py::test_can_get_descriptions_of_nested_lambdas_with_different_names
+ hypothesis-python/tests/cover/test_lookup.py
+ hypothesis-python/tests/cover/test_targeting.py::test_disallowed_inputs_to_target
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py
+ hypothesis-python/tests/cover/test_uuids.py
+ hypothesis-python/tests/quality/test_discovery_ability.py::test_one_of_flattens_filter_branches_{1..3}
+ )
+ fi
+
+ epytest -o filterwarnings= -n "$(makeopts_jobs)" \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}