diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 9b116ba9225f9..db457f4511d9c 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -4,3 +4,4 @@ DIST hypothesis-6.152.4.gh.tar.gz 9602982 BLAKE2B 7eb3bf424f35707fa323affc9e5e00 DIST hypothesis-6.152.5.gh.tar.gz 9603889 BLAKE2B cc892069eb1b9d28073974cd5f5d23b7c32f3679ebe127acae9783b71d5a2d9dbfb5b1390f102447f62a5c557e34717911d46de4020e9cef6f93a85a24080848 SHA512 ff36abf597a43bf527dafc85e3bce84d352419650cd6a3854bcaee5bb91443ad8651cce9b2e9a7cb2f69f076e98531e323a14fb65ae05a202142a1856dbd5756 DIST hypothesis-6.152.6.gh.tar.gz 9606311 BLAKE2B 96664ceb08b3870f71ca0b93a9214ed6150d0556660e9e20b0756c2778295af6cacd5c5a1f3b600695013880a274bb4517110cbeaf8c2dcf818ab8166814e732 SHA512 535947d3e5eecd1a0a45805a3011a82e992fc76bfa6ece63e2b8af85f22e93229a28c1746a64201886160432b087c0bb58045a38e3867efd8285c8b62e5814aa DIST hypothesis-6.152.7.gh.tar.gz 9606598 BLAKE2B cdb7eb39e0ae74dada61ba4573e874c2bcf1fecf4c6a03306f8fab7863793eebe1710ad0bd252939163cc561b09c0b700b64552290ba570d9deee86ea494937a SHA512 7550521047694ba84adf8fbe4f5d6f4727cead280baa6ca080c4002d1474d55091e88ca0432c70335b409e9e13a6aa513517791a312909e7603bc384f87cbc82 +DIST hypothesis-6.152.8.gh.tar.gz 9606671 BLAKE2B 446a28680368e1b8a764c5346bff2ddd22625631b9c4a9a7e51a86c10355bf939141c233b89387f63ecbcadc2f7c5329e71ce8943932ddb600c3143833126489 SHA512 08dcbc66335b25901874a148d92db61389db9755a2e4359210333efa0b43a449d56be98bf31ef70dfaeb67d1f179ac3a53262243018711b860804ce10ee9f48e diff --git a/dev-python/hypothesis/hypothesis-6.152.8.ebuild b/dev-python/hypothesis/hypothesis-6.152.8.ebuild new file mode 100644 index 0000000000000..2c65b19aa4960 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.152.8.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_{14..15} python3_{13..15}t ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=( + # broken somehow (xdist?) + 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]' + # used to fail for a few impls, now fails everywhere + 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]' + ) + local EPYTEST_IGNORE=( + # require syrupy + tests/cover/test_custom_reprs.py + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest -o filterwarnings= tests/{cover,pytest,quality} +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${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 +}