diff --git a/dev-python/hunter/hunter-3.3.8.ebuild b/dev-python/hunter/hunter-3.3.8.ebuild index 99d13170ba..c2252fc8c0 100644 --- a/dev-python/hunter/hunter-3.3.8.ebuild +++ b/dev-python/hunter/hunter-3.3.8.ebuild @@ -3,9 +3,7 @@ EAPI=8 -DISTUTILS_USE_SETUPTOOLS=rdepend -PYTHON_COMPAT=( python3_{8..9} ) - +PYTHON_COMPAT=( python3_{8..10} ) inherit distutils-r1 DESCRIPTION="Hunter is a flexible code tracing toolkit" @@ -20,8 +18,9 @@ SLOT="0" KEYWORDS="~amd64 ~x86" RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]" -DEPEND=" - ${RDEPEND} +DEPEND="dev-python/cython[${PYTHON_USEDEP}]" +BDEPEND=" + >=dev-python/setuptools_scm-3.3.1[${PYTHON_USEDEP}] test? ( dev-python/aspectlib[${PYTHON_USEDEP}] dev-python/ipdb[${PYTHON_USEDEP}] @@ -31,28 +30,47 @@ DEPEND=" dev-python/six[${PYTHON_USEDEP}] ) " -BDEPEND=" - dev-python/cython[${PYTHON_USEDEP}] - >=dev-python/setuptools_scm-3.3.1[${PYTHON_USEDEP}] -" +DOCS=( AUTHORS.rst CHANGELOG.rst README.rst ) PATCHES=( "${FILESDIR}/remove-setuptools_scm-upper-constraint.patch" ) distutils_enable_tests pytest distutils_enable_sphinx docs ">=dev-python/sphinx-py3doc-enhanced-theme-2.3.2" python_compile() { - distutils-r1_python_compile + # native extension build fails with python3.10 + # https://github.com/ionelmc/python-hunter/issues/104 + if [[ ${EPYTHON} == python3.10 ]]; then + SETUPPY_NOEXT="yes" distutils-r1_python_compile + return + fi + distutils-r1_python_compile if use test; then "${EPYTHON}" tests/setup.py build_ext --force --inplace || die fi } python_test() { + local PUREPYTHONHUNTER local -x PYTHONPATH="${S}/tests:${BUILD_DIR}/lib:${PYTHONPATH}" - epytest -vv \ - --deselect tests/test_remote.py::test_manhole \ - --deselect tests/test_remote.py::test_manhole_clean_exit \ - || die + local epytest_args=( + --deselect tests/test_remote.py::test_gdb + --deselect tests/test_remote.py::test_gdb_clean_exit + --deselect tests/test_remote.py::test_manhole + --deselect tests/test_remote.py::test_manhole_clean_exit + ) + + if [[ ${EPYTHON} == python3.10 ]]; then + epytest_args+=( + --deselect tests/test_cookbook.py::test_probe + --deselect tests/test_tracer.py::test_perf_filter[pure] + --deselect tests/test_tracer.py::test_perf_stdlib[pure] + --deselect tests/test_tracer.py::test_perf_actions[pure] + --deselect tests/test_tracer.py::test_proper_backend + ) + PUREPYTHONHUNTER="yes" + fi + + epytest "${epytest_args[@]}" }