# Copyright 2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{11..14} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 optfeature DESCRIPTION="New version checker for software releases" HOMEPAGE="https://github.com/lilydjwg/nvchecker/" SRC_URI="https://github.com/lilydjwg/nvchecker/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" PROPERTIES="test_network" RESTRICT="test" RDEPEND=" dev-python/structlog[${PYTHON_USEDEP}] || ( ( dev-python/pycurl[${PYTHON_USEDEP}] dev-python/tornado[${PYTHON_USEDEP}] ) dev-python/aiohttp[${PYTHON_USEDEP}] ) " BDEPEND=" test? ( dev-python/jq[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] dev-python/pytest-asyncio[${PYTHON_USEDEP}] dev-python/pytest-httpbin[${PYTHON_USEDEP}] $(python_gen_cond_dep \ 'dev-python/zstandard[${PYTHON_USEDEP}]' python3_{11..13}) ) " # NOTE: The network-reliant tests are really flaky, as the various websites # don't always respond consistently, or may have changed their response. EPYTEST_DESELECT=( # Need missing python libraries tests/test_sortversion.py::test_awesomeversion # awesomeversion tests/test_sortversion.py::test_vercmp # pyalpm # "requires makepkg command" tests/test_alpm.py::test_alpm tests/test_alpm.py::test_alpm_missing_pkg tests/test_alpm.py::test_alpm_missing_provides tests/test_alpm.py::test_alpm_missing_repo tests/test_alpm.py::test_alpm_provided tests/test_alpm.py::test_alpm_provided_strip tests/test_alpm.py::test_alpm_strip # "requires pacman command" tests/test_alpmfiles.py::test_alpmfiles tests/test_alpmfiles.py::test_alpmfiles_strip tests/test_pacman.py::test_pacman tests/test_pacman.py::test_pacman_strip_release # "KEYFILE not set" tests/test_github.py::test_github tests/test_github.py::test_github_default_not_master tests/test_github.py::test_github_latest_release tests/test_github.py::test_github_latest_release_include_prereleases tests/test_github.py::test_github_latest_tag tests/test_github.py::test_github_max_release tests/test_github.py::test_github_max_release_with_ignored tests/test_github.py::test_github_max_release_with_include tests/test_github.py::test_github_max_tag tests/test_github.py::test_github_max_tag_with_ignored tests/test_github.py::test_github_max_tag_with_include tests/test_github.py::test_github_with_path tests/test_github.py::test_github_with_path_and_branch # "unconditional skip" tests/test_apt.py::test_apt_deepin tests/test_mercurial.py::test_mercurial # Currently failing due to upstream change. (nvchecker-2.19) # Remove in the future tests/test_rpmrepo.py::test_rpmrepo_fedora ) distutils_enable_tests pytest pkg_postinst() { if ! has_version "dev-python/pycurl[${PYTHON_USEDEP}]" || \ ! has_version "dev-python/tornado[${PYTHON_USEDEP}]"; then ewarn "This program is using dev-python/aiohttp as networking backend" ewarn "However, for the best results, upstream recommends installing the following:" ewarn " dev-python/tornado" ewarn " dev-python/pycurl" ewarn fi optfeature "jq source" "dev-python/jq[${PYTHON_USEDEP}]" optfeature "httpheader source" "dev-python/lxml[${PYTHON_USEDEP}]" optfeature "pypi source" "dev-python/packaging[${PYTHON_USEDEP}]" if use python_targets_python3_11 || \ use python_targets_python3_12 || \ use python_targets_python3_13; then optfeature "rpmrepo source" "dev-python/zstandard[${PYTHON_USEDEP}]" fi }