summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-04-25 14:47:59 +0200
committerMichał Górny <mgorny@gentoo.org>2024-04-25 14:51:57 +0200
commitb24c7f18c3dad6d4338397b7980f17ed475eaaa7 (patch)
treee8331623abc4341d87808b11b9dad3d03d665fae /dev-python/pypiserver
parentdev-python/passlib: Fix warning with dev-python/bcrypt-4.1.1 (diff)
downloadgentoo-b24c7f18c3dad6d4338397b7980f17ed475eaaa7.tar.gz
gentoo-b24c7f18c3dad6d4338397b7980f17ed475eaaa7.tar.bz2
gentoo-b24c7f18c3dad6d4338397b7980f17ed475eaaa7.zip
dev-python/pypiserver: Bump to 2.1.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pypiserver')
-rw-r--r--dev-python/pypiserver/Manifest1
-rw-r--r--dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch33
-rw-r--r--dev-python/pypiserver/pypiserver-2.1.1.ebuild79
3 files changed, 113 insertions, 0 deletions
diff --git a/dev-python/pypiserver/Manifest b/dev-python/pypiserver/Manifest
index 39fba150f6ba..7b90dece416f 100644
--- a/dev-python/pypiserver/Manifest
+++ b/dev-python/pypiserver/Manifest
@@ -1 +1,2 @@
DIST pypiserver-2.0.1.gh.tar.gz 156624 BLAKE2B b37700ffe0c7361289a3825dafd86041fab9ddf574d7792c7cd155f7e869a1bdd2de4e2a658c808afc7fe5ee8989876fcb7e85a8da74202c2c4c4344fbaf1df4 SHA512 962b34ea2bbca680fcf7ee8153ecea09c2f0c1bcebaaacee4666c93deab9d2508e08a22d82635a64d8aaec7cab3b5485e3752f1439006ed01b58539035f3b711
+DIST pypiserver-2.1.1.gh.tar.gz 157393 BLAKE2B e80c73b2422dc87bba09d8c9c2e1ffc72017ec58c5530d3debb95560b50a776e1603cb5641c7e4af1ed87d64750843ae025a6a47ab4cc28ce0de1051dd5b214f SHA512 d85afb0d2c85c76a62e393d7d7824e91ff052a04e985278db48010b6f71d12c7749139245e69932b78aefbf3152ba8a8b463bfcd21d1772d047d64f0b164681a
diff --git a/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
new file mode 100644
index 000000000000..121677beb1b8
--- /dev/null
+++ b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
@@ -0,0 +1,33 @@
+From 749ad0f641ac14cc6e8485ed0b4fdf6aacb6f015 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 25 Apr 2024 14:44:16 +0200
+Subject: [PATCH] test: Fix running `build` in offline test environment
+
+Fix the `build` calls to use `--no-isolation`, in order to fix
+regression in running tests in an offline environment.
+
+Unlike the previous `setup.py` calls, `build` defaults to creating a new
+virtual environment to perform the build. This, in turn, requires
+fetching the build dependencies from the Internet, effectively making
+the tests error out in an offline environment. Passing `--no-isolation`
+makes `build` use the already-installed host dependencies instead.
+---
+ tests/test_server.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_server.py b/tests/test_server.py
+index 92ecdda3..99da611c 100644
+--- a/tests/test_server.py
++++ b/tests/test_server.py
+@@ -148,7 +148,10 @@ def wheel_file(project, tmp_path_factory):
+ if re.match("^3\.7", sys.version):
+ assert run_setup_py(project, f"bdist_wheel -d {distdir}") == 0
+ else:
+- assert run_py_build(project, f"--wheel --outdir {distdir}") == 0
++ assert (
++ run_py_build(project, f"--wheel --no-isolation --outdir {distdir}")
++ == 0
++ )
+ wheels = list(distdir.glob("centodeps*.whl"))
+ assert len(wheels) > 0
+ return wheels[0]
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
+}