diff options
Diffstat (limited to 'dev-python/pypiserver/pypiserver-2.1.1.ebuild')
-rw-r--r-- | dev-python/pypiserver/pypiserver-2.1.1.ebuild | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/dev-python/pypiserver/pypiserver-2.1.1.ebuild b/dev-python/pypiserver/pypiserver-2.1.1.ebuild new file mode 100644 index 000000000000..fcd86c88d501 --- /dev/null +++ b/dev-python/pypiserver/pypiserver-2.1.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Minimal PyPI server" +HOMEPAGE=" + https://github.com/pypiserver/pypiserver/ + https://pypi.org/project/pypiserver/ +" +SRC_URI=" + https://github.com/pypiserver/pypiserver/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/bottle[${PYTHON_USEDEP}] + >=dev-python/packaging-23.2[${PYTHON_USEDEP}] + >=dev-python/pip-7[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/importlib-resources[${PYTHON_USEDEP}] + ' 3.{10..11}) +" +# NB: many test deps are optional/specific to tests we skip +BDEPEND=" + dev-python/setuptools-git[${PYTHON_USEDEP}] + test? ( + >=dev-python/build-1.2.0[${PYTHON_USEDEP}] + >=dev-python/passlib-1.6[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/webtest[${PYTHON_USEDEP}] + ) +" + +DOCS=( CHANGES.rst README.md ) + +PATCHES=( + "${FILESDIR}/${PN}-1.5.0-unbundle-bottle.patch" + # https://github.com/pypiserver/pypiserver/pull/571 + "${FILESDIR}/${P}-test-offline.patch" +) + +distutils_enable_tests pytest + +src_prepare() { + # remove bundled bottle (sic!) + rm pypiserver/bottle.py || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/test_server.py::test_hash_algos + tests/test_server.py::test_pip_install_open_succeeds + tests/test_server.py::test_pip_install_authed_succeeds + # seems to rely on internal bottle details + tests/test_main.py::test_auto_servers + ) + + if ! has_version dev-python/twine; then + EPYTEST_DESELECT+=( + tests/test_server.py::test_twine_upload + tests/test_server.py::test_twine_register + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} |