diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index a6b5e78f46f7f..9bb3258ea799b 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,3 +1,4 @@ DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d +DIST hypothesis-6.130.10.gh.tar.gz 9540669 BLAKE2B 778cbdefdb84c8e86598926aca720efebfab5cafd08a421e1cde40341002088191e450f33c62e73a32eea47fe26791e96586416620592d2ee5cd359f478e92c9 SHA512 0534355ffdb03b8efaaf196dd3fc909cb6df113b0170710aa1e441bedcd772ae55b1e3d60596b45edc2f150871e54494fbbeccbd21e9c2416bdcb39c4fea2162 DIST hypothesis-6.130.8.gh.tar.gz 9538996 BLAKE2B 7f2779a69fbb1301cf7cdf0b414aff28e60cb2efb4d2451f2962cda1c048401d1e532e205c993691e1b2aa0f71af1a67274f40dd03a449db4f62de01c22c9dd8 SHA512 85df9ed0477d37b9fb96ada20aa41b8b65b27496fb0a4cfb44ebbab94d6859bc2767e8529f76b53e6f28cc122eea8529784a97b4e4b1803004072e317ecee00f DIST hypothesis-6.130.9.gh.tar.gz 9540297 BLAKE2B f1739aa493baf7c908064b6450f601576b5e71ad254bf3b45cb2cdcf6b34f98f647beef5ed939e099c33e60cfe5ffc8b1b13b85ac115361e3a19c34ca30fef04 SHA512 11ac4ae33a53d622eaebdf6106b13d51141a57140c268d465d202650ae79925777fbebde828188b2ba1ba87f6e062f8d014131eef5b0d2315a327a9dcea7d30c diff --git a/dev-python/hypothesis/hypothesis-6.130.10.ebuild b/dev-python/hypothesis/hypothesis-6.130.10.ebuild new file mode 100644 index 0000000000000..5e0df5815a5e2 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.130.10.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 ) +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/attrs-22.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/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=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,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + # TODO + 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]' + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/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 +}