summaryrefslogtreecommitdiff
path: root/dev-python/pypiserver
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-25 03:02:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-25 03:02:44 +0000
commit7f0b7329b3aa78ea82792fdf68ab48415fe4cc35 (patch)
tree5c9f3c3f65f2be496e4d9778fdeb4d0da2207c29 /dev-python/pypiserver
parent530a5a826feeb71085fb8a01927f4d775a0b131b (diff)
gentoo auto-resync : 25:11:2024 - 03:02:44
Diffstat (limited to 'dev-python/pypiserver')
-rw-r--r--dev-python/pypiserver/Manifest3
-rw-r--r--dev-python/pypiserver/files/pypiserver-2.3.1-unbundle-bottle.patch110
-rw-r--r--dev-python/pypiserver/pypiserver-2.3.1.ebuild80
3 files changed, 193 insertions, 0 deletions
diff --git a/dev-python/pypiserver/Manifest b/dev-python/pypiserver/Manifest
index d4f7e606cc28..caa70f09cfae 100644
--- a/dev-python/pypiserver/Manifest
+++ b/dev-python/pypiserver/Manifest
@@ -1,4 +1,7 @@
AUX pypiserver-1.5.0-unbundle-bottle.patch 3428 BLAKE2B f30c9c5b7204b3efed6f6515ce11ca6921ad44a5af69af6ea19059daa9b07396bf7312d649b93492e3e1f98bcc3e0df16c9178aa0abda77b048634b0461ae194 SHA512 fca45138c22b8c12c5fe5fc1742f5a7034d9353e7a520a8870b4a0b4d113b915ed8a34dc9cc9f268ff8f9220425f1131db8ea13443ff9050852bcd9d362ac942
+AUX pypiserver-2.3.1-unbundle-bottle.patch 3335 BLAKE2B 7993059d0c2373bdffaa11719929c94418cc3348e817b16a1f8ead090bc4f36bd30f70db00adcbef5fafb7a635e2bff0e1eefd44bca8da7484c5fd2e675b45b1 SHA512 fc209684b649a052443ff77d30968d7282de6e75385ece6fece79f351508351a015bee6e462d18372fb71c3d6e487495f1c53b0e1239afcdab25e121727a412a
DIST pypiserver-2.2.0.gh.tar.gz 158107 BLAKE2B 8c5e68201a4d376bc04ca8a5dc243c8c176f6a1bfd362fd5b0eb2875ca071cd124d15814312c2c14ded57c8476f72d41ccf1057eced2247d17f1cc6b7b12e86c SHA512 e1c313b52c852b90ee3efe07b754d91ac842483718fe30f0c59951aad9aa84bc36c9264956fd931a98aaad5ee151089a06472f19e4ae5e9eb1d20c72cc98f436
+DIST pypiserver-2.3.1.gh.tar.gz 165683 BLAKE2B 0a24b26a804f44bcd314595c4559fe7f41264910cd841e6ca7835e225fca2ec76073952ad9fb228c8e7f5d59045ad37578e676283499ab745fe204a7e353ee31 SHA512 c8a449e49daf2e3f149fbc87e01e40ad5cd5e33d1453b5d2bc97eefe10d7b8dcf74eda1008e62175de5f4f1429dec163774e19c92573ded1fe98f82293643e67
EBUILD pypiserver-2.2.0.ebuild 1846 BLAKE2B 4dbdfdca43ca943601998e8f72b425666d03d3c5bbafbef18d09c050d4f5160e740f4655a3326b3a1efddd6351effafc8a4912f321a0ecc9191bf0fb32512889 SHA512 6d68c2224557fb15dfdcdf0e3f4e1693917acb296789c2d9e886e5093b13116ccdbd3d9b66f25c4f07c981f75925ff92d3d008b2dd519509c71faef57052a7f9
+EBUILD pypiserver-2.3.1.ebuild 1948 BLAKE2B 698dedf3052ff2d8e3eee7d9d304877de082d89a3d1ea7064991dad3d730ea812916bec4993a84ce6eaa36d07f6870c2ce3b044e01b79a315d685a48b03a048a SHA512 e67eb5f47edbd594fdfac758d90954e346b7fb4544fe443a1030dbf1aa98ecb8865bd6005d8b8bbcb4d0c1358a10f5991daf647483e01947e2b816c73a912488
MISC metadata.xml 399 BLAKE2B e8726c9c4a494a64dd1490aa88f8bbca6536635af045364307d057d5dfa4762a1b0d59d3eacf7d84c9002ac38516eb7d2228ebd872db762a669bd6015139a4ec SHA512 a3d90eb11fc5bb2c78e53a4d64cffaf213a445c1677939c46fb400e01f4e74d1f206df2259ab348b61d27e3a9b3f03e94a49485be948b2e4106ba254154c7ada
diff --git a/dev-python/pypiserver/files/pypiserver-2.3.1-unbundle-bottle.patch b/dev-python/pypiserver/files/pypiserver-2.3.1-unbundle-bottle.patch
new file mode 100644
index 000000000000..c879e5291a88
--- /dev/null
+++ b/dev-python/pypiserver/files/pypiserver-2.3.1-unbundle-bottle.patch
@@ -0,0 +1,110 @@
+From 65c42e562500590d4e2377479ce23c4bcf4c325c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 24 Nov 2024 04:11:10 +0100
+Subject: [PATCH] unbundle pypiserver
+
+---
+ pypiserver/__init__.py | 2 +-
+ pypiserver/__main__.py | 2 +-
+ pypiserver/_app.py | 2 +-
+ tests/test_app.py | 3 ++-
+ tests/test_main.py | 8 ++++----
+ 5 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/pypiserver/__init__.py b/pypiserver/__init__.py
+index 326a13f..42bbcd0 100644
+--- a/pypiserver/__init__.py
++++ b/pypiserver/__init__.py
+@@ -4,7 +4,7 @@ import re as _re
+ import sys
+ import typing as t
+
+-from pypiserver.bottle import Bottle
++from bottle import Bottle
+ from pypiserver.config import Config, RunConfig, strtobool
+
+ version = __version__ = "2.3.1"
+diff --git a/pypiserver/__main__.py b/pypiserver/__main__.py
+index a47418b..b433335 100644
+--- a/pypiserver/__main__.py
++++ b/pypiserver/__main__.py
+@@ -160,7 +160,7 @@ def main(argv: t.Sequence[str] = None) -> None:
+
+ gevent.monkey.patch_all()
+
+- from pypiserver import bottle
++ import bottle
+
+ bottle.debug(config.verbosity > 1)
+ bottle._stderr = ft.partial( # pylint: disable=protected-access
+diff --git a/pypiserver/_app.py b/pypiserver/_app.py
+index ed6ae20..2224619 100644
+--- a/pypiserver/_app.py
++++ b/pypiserver/_app.py
+@@ -13,7 +13,7 @@ from urllib.parse import urljoin, urlparse, quote
+
+ from pypiserver.config import RunConfig
+ from . import __version__
+-from .bottle import (
++from bottle import (
+ static_file,
+ redirect,
+ request,
+diff --git a/tests/test_app.py b/tests/test_app.py
+index 230a03e..8bd3d75 100644
+--- a/tests/test_app.py
++++ b/tests/test_app.py
+@@ -8,12 +8,13 @@ import xmlrpc.client as xmlrpclib
+ from html import unescape
+
+ # Third party imports
++import bottle
+ import pytest
+ import webtest
+
+ # Local Imports
+ from tests.test_pkg_helpers import files, invalid_files
+-from pypiserver import __main__, bottle, core, Bottle, _app
++from pypiserver import __main__, core, Bottle, _app
+ from pypiserver.backend import CachingFileBackend, SimpleFileBackend
+
+ # Enable logging to detect any problems with it
+diff --git a/tests/test_main.py b/tests/test_main.py
+index 5fcace7..5369c78 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -5,11 +5,11 @@ import sys
+ import typing as t
+ from unittest import mock
+
++import bottle
+ import pytest
+
+-import pypiserver.bottle
++from bottle import Bottle
+ from pypiserver import __main__
+-from pypiserver.bottle import Bottle
+
+
+ THIS_DIR = pathlib.Path(__file__).parent
+@@ -51,7 +51,7 @@ def main(monkeypatch):
+ main.update_args = args
+ main.update_kwargs = kwargs
+
+- monkeypatch.setattr("pypiserver.bottle.run", run)
++ monkeypatch.setattr("bottle.run", run)
+ monkeypatch.setattr("pypiserver.manage.update_all_packages", update)
+
+ return main
+@@ -262,7 +262,7 @@ def test_auto_servers() -> None:
+ """Test auto servers."""
+ # A list of bottle ServerAdapters
+ bottle_adapters = tuple(
+- a.__name__.lower() for a in pypiserver.bottle.AutoServer.adapters
++ a.__name__.lower() for a in bottle.AutoServer.adapters
+ )
+ # We are going to expect that our AutoServer enum names must match those
+ # at least closely enough to be recognizable.
+--
+2.47.0
+
diff --git a/dev-python/pypiserver/pypiserver-2.3.1.ebuild b/dev-python/pypiserver/pypiserver-2.3.1.ebuild
new file mode 100644
index 000000000000..e17ff4ee134b
--- /dev/null
+++ b/dev-python/pypiserver/pypiserver-2.3.1.ebuild
@@ -0,0 +1,80 @@
+# 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..13} 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+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}-2.3.1-unbundle-bottle.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # stray unconditional importlib-resources dep
+ sed -i -e '/importlib_resources/d' setup.py || die
+ # remove bundled bottle (sic!)
+ rm pypiserver/bottle.py || die
+}
+
+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[${PYTHON_USEDEP}]"; 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
+}