summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2022-11-06 18:21:11 +0000
committeradam <adam@pkgsrc.org>2022-11-06 18:21:11 +0000
commitdddcb907c8080c0dbc3d09d298859cc3d2312b29 (patch)
tree7475df203c8e6f864e3df93147729b675fffca7c
parent833a9deb584c2719eccf86861a573f7888e8218d (diff)
downloadpkgsrc-dddcb907c8080c0dbc3d09d298859cc3d2312b29.tar.gz
py-cheroot: updated to 8.6.0
v8.6.0 Significant improvements: - :issue:`384` via :pr:`385`, :pr:`406`: Exposed type stubs with annotations for public API -- by :user:`kasium`. - :pr:`401` (related to the :pr:`352` effort): Started reusing the the ``expriration_interval`` setting in the low-level :py:func:`~select.select` invocation, effectively reducing the system load under the Windows OS when idle, that is noticeable on low-end hardware systems -- by :user:`MichaIng`. Internal changes: - Implemented a manual-trigger-based release workflow. - Integrated publishing GitHub Releases into the workflow. - Migrated the docs theme to `Furo <https://pradyunsg.me/furo>`__ (created by :user:`pradyunsg`). - Attempted to improve the stability of testing. - Configured the CI to test the same distribution as will be shipped. - Improved the linting setup and contributor checklists. - Stopped running tests under Ubuntu 16.04. - Tweaked the distribution packages metadata to satisfy strict checks. - Implemented distribution build reproducibility using a pip constraints lock-file. - Added per-environment lock-files into the tox test environments. v8.5.2 - :issue:`358` via :pr:`359`: Fixed a regression from :pr:`199` that made the worker threads exit on invalid connection attempts and could make the whole server unresponsive once there was no workers left. -- by :user:`cameronbrunner`. v8.5.1 - :cp-issue:`1873` via :pr:`340`: Resurrected an unintentionally removed feature of interrupting a server main thread by externally assigning an exception to the :py:meth:`HTTPServer.interrupt <cheroot.server.\ HTTPServer.interrupt>` property -- by :user:`liamstask`. - :pr:`350`: Fixed the incarnation of an earlier regression of not resetting the serving state on :py:data:`SIGINT` originally fixed by :pr:`322` and :pr:`331` but reintroduced by the changes in :pr:`311` -- by :user:`liamstask`. v8.5.0 - :issue:`305` via :pr:`311`: In :py:class:`~cheroot.connections.ConnectionManager`, process connections as they become active rather than waiting for a ``tick`` event, addressing performance degradation introduced in v8.1.0 -- by :user:`liamstask`. - :issue:`341` via :pr:`342`: Suppress legitimate OS errors expected on shutdown -- by :user:`webknjaz`. v8.4.8 - :issue:`317` via :pr:`337`: Fixed a regression in 8.4.5 where the connections dictionary would change size during iteration, leading to a :py:exc:`RuntimeError` raised in the logs -- by :user:`liamstask`. v8.4.7 - :pr:`334`: Started filtering out TLS/SSL errors when the version requested by the client is unsupported -- by :user:`sanderjo` and :user:`Safihre`. v8.4.6 - :issue:`328` via :pr:`322` and :pr:`331`: Fixed a regression introduced in the earlier refactoring in v8.4.4 via :pr:`309` that caused the :py:meth:`~cheroot.server.\ HTTPServer.serve` method to skip setting ``serving=False`` on :py:data:``SIGINT`` and :py:data:``SIGTERM`` -- by :user:`marc1n` and :user:`cristicbz`. v8.4.5 - :issue:`312` via :pr:`313`: Fixed a regression introduced in the earlier refactoring in v8.4.4 via :pr:`309` that caused the connection manager to modify the selector map while looping over it -- by :user:`liamstask`. - :issue:`312` via :pr:`316`: Added a regression test for the error handling in :py:meth:`~cheroot.connections.\ ConnectionManager.get_conn` to ensure more stability -- by :user:`cyraxjoe`. v8.4.4 - :issue:`304` via :pr:`309`: Refactored :py:class:`~\ cheroot.connections.ConnectionManager` to use :py:meth:`~\ selectors.BaseSelector.get_map` and reorganized the readable connection tracking -- by :user:`liamstask`. - :issue:`304` via :pr:`309`: Fixed the server shutdown sequence to avoid race condition resulting in accepting new connections while it is being terminated -- by :user:`liamstask`. v8.4.3 - :pr:`282`: Fixed a race condition happening when an HTTP client attempts to reuse a persistent HTTP connection after it's been discarded on the server in :py:class:`~cheroot.\ server.HTTPRequest` but no TCP FIN packet has been received yet over the wire -- by :user:`meaksh`. This change populates the ``Keep-Alive`` header exposing the timeout value for persistent HTTP/1.1 connections which helps mitigate such race conditions by letting the client know not to reuse the connection after that time interval. v8.4.2 - Fixed a significant performance regression introduced in v8.1.0 (:issue:`305` via :pr:`308`) - by :user:`mar10`. The issue turned out to add 0.1s delay on new incoming connection processing. We've lowered that delay to mitigate the problem short-term, better fix is yet to come. v8.4.1 - Prevent :py:exc:`ConnectionAbortedError` traceback from being printed out to the terminal output during the app start-up on Windows when built-in TLS adapter is used (:issue:`302` via :pr:`306`) - by :user:`mxii-ca`. v8.4.0 - Converted management from low-level :py:func:`~select.select` to high-level :py:mod:`selectors` (:issue:`249` via :pr:`301`) - by :user:`tommilligan`. This change also introduces a conditional dependency on ``selectors2`` as a fall-back for legacy Python interpreters. v8.3.1 - Fixed TLS socket related unclosed resource warnings (:pr:`291` and :pr:`298`). - Made terminating keep-alive connections more graceful (:issue:`263` via :pr:`277`). v8.3.0 - :cp-issue:`910` via :pr:`243`: Provide TLS-related details via WSGI environment interface. - :pr:`248`: Fix parsing of the ``--bind`` CLI option for abstract UNIX sockets.
-rw-r--r--www/py-cheroot/Makefile27
-rw-r--r--www/py-cheroot/PLIST28
-rw-r--r--www/py-cheroot/distinfo11
-rw-r--r--www/py-cheroot/patches/patch-setup.cfg24
-rw-r--r--www/py-cheroot/patches/patch-setup.py29
5 files changed, 59 insertions, 60 deletions
diff --git a/www/py-cheroot/Makefile b/www/py-cheroot/Makefile
index c609f273506..4ee9e04e1a6 100644
--- a/www/py-cheroot/Makefile
+++ b/www/py-cheroot/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.33 2022/10/19 14:25:20 nia Exp $
+# $NetBSD: Makefile,v 1.34 2022/11/06 18:21:11 adam Exp $
-DISTNAME= cheroot-6.5.8
+DISTNAME= cheroot-8.6.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION= 2
CATEGORIES= www python
MASTER_SITES= ${MASTER_SITE_PYPI:=C/Cheroot/}
@@ -11,34 +10,36 @@ HOMEPAGE= http://www.cherrypy.org/
COMMENT= High-performance, pure-Python HTTP server used by CherryPy
LICENSE= modified-bsd
-DEPENDS+= ${PYPKGPREFIX}-six>=1.11.0:../../lang/py-six
-DEPENDS+= ${PYPKGPREFIX}-more-itertools-[0-9]*:../../devel/py-more-itertools
BUILD_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm>=7.0.0:../../devel/py-setuptools_scm
+DEPENDS+= ${PYPKGPREFIX}-jaraco.functools-[0-9]*:../../devel/py-jaraco.functools
+DEPENDS+= ${PYPKGPREFIX}-more-itertools>=2.6:../../devel/py-more-itertools
+DEPENDS+= ${PYPKGPREFIX}-six>=1.11.0:../../lang/py-six
TEST_DEPENDS+= ${PYPKGPREFIX}-coverage>=4.5.3:../../devel/py-coverage
-TEST_DEPENDS+= ${PYPKGPREFIX}-ddt-[0-9]*:../../devel/py-ddt
TEST_DEPENDS+= ${PYPKGPREFIX}-portend-[0-9]*:../../net/py-portend
TEST_DEPENDS+= ${PYPKGPREFIX}-requests-unixsocket-[0-9]*:../../devel/py-requests-unixsocket
-TEST_DEPENDS+= ${PYPKGPREFIX}-test>=2.8:../../devel/py-test
-TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov>=2.7.1:../../devel/py-test-cov
+TEST_DEPENDS+= ${PYPKGPREFIX}-requests-toolbelt-[0-9]*:../../devel/py-requests-toolbelt
+TEST_DEPENDS+= ${PYPKGPREFIX}-test>=4.6.6:../../devel/py-test
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov>=2.12.0:../../devel/py-test-cov
TEST_DEPENDS+= ${PYPKGPREFIX}-test-mock>=1.10.4:../../devel/py-test-mock
-TEST_DEPENDS+= ${PYPKGPREFIX}-test-sugar>=0.9.1:../../devel/py-test-sugar
-TEST_DEPENDS+= ${PYPKGPREFIX}-test-testmon>=0.9.7:../../devel/py-test-testmon
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-rerunfailures-[0-9]*:../../devel/py-test-rerunfailures
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-sugar>=0.9.3:../../devel/py-test-sugar
TEST_DEPENDS+= ${PYPKGPREFIX}-test-watch>=4.2.0:../../devel/py-test-watch
TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist>=1.28.0:../../devel/py-test-xdist
TEST_DEPENDS+= ${PYPKGPREFIX}-trustme>=0.4.0:../../security/py-trustme
-
-PYTHON_VERSIONS_INCOMPATIBLE= 27
+TEST_DEPENDS+= ${PYPKGPREFIX}-trustme>=0.4.0:../../security/py-trustme
USE_LANGUAGES= # none
USE_PKG_RESOURCES= yes
+PYTHON_VERSIONS_INCOMPATIBLE= 27 # py-portend
+
post-install:
cd ${DESTDIR}${PREFIX}/bin && \
${MV} cheroot cheroot-${PYVERSSUFFIX} || ${TRUE}
do-test:
- cd ${WRKSRC} && py.test-${PYVERSSUFFIX}
+ cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX}
.include "../../lang/python/egg.mk"
PYTHON_VERSIONED_DEPENDENCIES+= OpenSSL:test
diff --git a/www/py-cheroot/PLIST b/www/py-cheroot/PLIST
index c45c7874959..9bb0b479175 100644
--- a/www/py-cheroot/PLIST
+++ b/www/py-cheroot/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.12 2019/05/21 08:36:32 adam Exp $
+@comment $NetBSD: PLIST,v 1.13 2022/11/06 18:21:11 adam Exp $
bin/cheroot-${PYVERSSUFFIX}
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
@@ -8,6 +8,7 @@ ${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/cheroot/__init__.py
${PYSITELIB}/cheroot/__init__.pyc
+${PYSITELIB}/cheroot/__init__.pyi
${PYSITELIB}/cheroot/__init__.pyo
${PYSITELIB}/cheroot/__main__.py
${PYSITELIB}/cheroot/__main__.pyc
@@ -17,28 +18,43 @@ ${PYSITELIB}/cheroot/_compat.pyc
${PYSITELIB}/cheroot/_compat.pyo
${PYSITELIB}/cheroot/cli.py
${PYSITELIB}/cheroot/cli.pyc
+${PYSITELIB}/cheroot/cli.pyi
${PYSITELIB}/cheroot/cli.pyo
+${PYSITELIB}/cheroot/connections.py
+${PYSITELIB}/cheroot/connections.pyc
+${PYSITELIB}/cheroot/connections.pyi
+${PYSITELIB}/cheroot/connections.pyo
${PYSITELIB}/cheroot/errors.py
${PYSITELIB}/cheroot/errors.pyc
+${PYSITELIB}/cheroot/errors.pyi
${PYSITELIB}/cheroot/errors.pyo
${PYSITELIB}/cheroot/makefile.py
${PYSITELIB}/cheroot/makefile.pyc
+${PYSITELIB}/cheroot/makefile.pyi
${PYSITELIB}/cheroot/makefile.pyo
+${PYSITELIB}/cheroot/py.typed
${PYSITELIB}/cheroot/server.py
${PYSITELIB}/cheroot/server.pyc
+${PYSITELIB}/cheroot/server.pyi
${PYSITELIB}/cheroot/server.pyo
${PYSITELIB}/cheroot/ssl/__init__.py
${PYSITELIB}/cheroot/ssl/__init__.pyc
+${PYSITELIB}/cheroot/ssl/__init__.pyi
${PYSITELIB}/cheroot/ssl/__init__.pyo
${PYSITELIB}/cheroot/ssl/builtin.py
${PYSITELIB}/cheroot/ssl/builtin.pyc
+${PYSITELIB}/cheroot/ssl/builtin.pyi
${PYSITELIB}/cheroot/ssl/builtin.pyo
${PYSITELIB}/cheroot/ssl/pyopenssl.py
${PYSITELIB}/cheroot/ssl/pyopenssl.pyc
+${PYSITELIB}/cheroot/ssl/pyopenssl.pyi
${PYSITELIB}/cheroot/ssl/pyopenssl.pyo
${PYSITELIB}/cheroot/test/__init__.py
${PYSITELIB}/cheroot/test/__init__.pyc
${PYSITELIB}/cheroot/test/__init__.pyo
+${PYSITELIB}/cheroot/test/_pytest_plugin.py
+${PYSITELIB}/cheroot/test/_pytest_plugin.pyc
+${PYSITELIB}/cheroot/test/_pytest_plugin.pyo
${PYSITELIB}/cheroot/test/conftest.py
${PYSITELIB}/cheroot/test/conftest.pyc
${PYSITELIB}/cheroot/test/conftest.pyo
@@ -48,6 +64,9 @@ ${PYSITELIB}/cheroot/test/helper.pyo
${PYSITELIB}/cheroot/test/test__compat.py
${PYSITELIB}/cheroot/test/test__compat.pyc
${PYSITELIB}/cheroot/test/test__compat.pyo
+${PYSITELIB}/cheroot/test/test_cli.py
+${PYSITELIB}/cheroot/test/test_cli.pyc
+${PYSITELIB}/cheroot/test/test_cli.pyo
${PYSITELIB}/cheroot/test/test_conn.py
${PYSITELIB}/cheroot/test/test_conn.pyc
${PYSITELIB}/cheroot/test/test_conn.pyo
@@ -69,18 +88,25 @@ ${PYSITELIB}/cheroot/test/test_server.pyo
${PYSITELIB}/cheroot/test/test_ssl.py
${PYSITELIB}/cheroot/test/test_ssl.pyc
${PYSITELIB}/cheroot/test/test_ssl.pyo
+${PYSITELIB}/cheroot/test/test_wsgi.py
+${PYSITELIB}/cheroot/test/test_wsgi.pyc
+${PYSITELIB}/cheroot/test/test_wsgi.pyo
${PYSITELIB}/cheroot/test/webtest.py
${PYSITELIB}/cheroot/test/webtest.pyc
${PYSITELIB}/cheroot/test/webtest.pyo
${PYSITELIB}/cheroot/testing.py
${PYSITELIB}/cheroot/testing.pyc
+${PYSITELIB}/cheroot/testing.pyi
${PYSITELIB}/cheroot/testing.pyo
${PYSITELIB}/cheroot/workers/__init__.py
${PYSITELIB}/cheroot/workers/__init__.pyc
+${PYSITELIB}/cheroot/workers/__init__.pyi
${PYSITELIB}/cheroot/workers/__init__.pyo
${PYSITELIB}/cheroot/workers/threadpool.py
${PYSITELIB}/cheroot/workers/threadpool.pyc
+${PYSITELIB}/cheroot/workers/threadpool.pyi
${PYSITELIB}/cheroot/workers/threadpool.pyo
${PYSITELIB}/cheroot/wsgi.py
${PYSITELIB}/cheroot/wsgi.pyc
+${PYSITELIB}/cheroot/wsgi.pyi
${PYSITELIB}/cheroot/wsgi.pyo
diff --git a/www/py-cheroot/distinfo b/www/py-cheroot/distinfo
index 9504febf736..53ac8c7deac 100644
--- a/www/py-cheroot/distinfo
+++ b/www/py-cheroot/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.26 2021/10/26 11:30:29 nia Exp $
+$NetBSD: distinfo,v 1.27 2022/11/06 18:21:11 adam Exp $
-BLAKE2s (cheroot-6.5.8.tar.gz) = 6cbdf424f6d2455071526615b60b28cc4660bc8078264c2af6ea81ac18f7ee72
-SHA512 (cheroot-6.5.8.tar.gz) = 5abdf51ddb48b2519c795c5bcefce3d024dbf0fa0f881e94060444d9f5051a2e15b71aa0b3e2823dd7cd8b0e5f1b778580342332bbd3456c61e5493a84199966
-Size (cheroot-6.5.8.tar.gz) = 86158 bytes
-SHA1 (patch-setup.cfg) = a8e2352c4ca85c82fddc375bb3912a2581307679
-SHA1 (patch-setup.py) = d3261389a4422608df336940e73de6634633574c
+BLAKE2s (cheroot-8.6.0.tar.gz) = 89cc1e9a447b750d07b206c26e3d6e45fba4672bbdb9f6332d6f382abfa61ad6
+SHA512 (cheroot-8.6.0.tar.gz) = 26e48c935fe32d4ce3cf6ae20b5b272416ca53bd8496527c2958ec2ebe87529c831f283ae900e13271b610e39531b682df0376935ecc3bcfcca11c299cd2a893
+Size (cheroot-8.6.0.tar.gz) = 134779 bytes
+SHA1 (patch-setup.cfg) = bb33ee596210affecd65cf665bd2335aee2ff2f0
diff --git a/www/py-cheroot/patches/patch-setup.cfg b/www/py-cheroot/patches/patch-setup.cfg
index 2cf0f9bdaf8..aeaa9d63cea 100644
--- a/www/py-cheroot/patches/patch-setup.cfg
+++ b/www/py-cheroot/patches/patch-setup.cfg
@@ -1,14 +1,16 @@
-$NetBSD: patch-setup.cfg,v 1.1 2019/12/21 23:51:56 joerg Exp $
+$NetBSD: patch-setup.cfg,v 1.2 2022/11/06 18:21:11 adam Exp $
-Python 2.7 doesn't extract the version otherwise.
+setuptools_scm_git_archive is part of setuptools_scm as of 7.0.0.
---- setup.cfg.orig 2019-12-21 21:46:41.214063294 +0000
+--- setup.cfg.orig 2022-11-06 17:29:56.000000000 +0000
+++ setup.cfg
-@@ -6,6 +6,7 @@ universal = 1
-
- [metadata]
- name = cheroot
-+version = 6.5.8
- url = https://cheroot.cherrypy.org
- project_urls =
- CI: AppVeyor = https://ci.appveyor.com/project/cherrypy/cheroot
+@@ -55,8 +55,7 @@ python_requires = >=2.7,!=3.0.*,!=3.1.*,
+ packages = find:
+ include_package_data = True
+ setup_requires =
+- setuptools_scm>=1.15.0
+- setuptools_scm_git_archive>=1.0
++ setuptools_scm>=7.0.0
+ install_requires =
+ backports.functools_lru_cache; python_version < '3.3'
+ selectors2; python_version< '3.4'
diff --git a/www/py-cheroot/patches/patch-setup.py b/www/py-cheroot/patches/patch-setup.py
deleted file mode 100644
index f383d825eba..00000000000
--- a/www/py-cheroot/patches/patch-setup.py
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-setup.py,v 1.1 2019/12/21 23:51:56 joerg Exp $
-
-Drop Python 2 hack that breaks more than it fixes.
-
---- setup.py.orig 2019-09-05 09:21:53.000000000 +0000
-+++ setup.py
-@@ -118,21 +118,4 @@ except ImportError:
- opt['packages'] = setuptools.find_packages(**opt_packages_find)
- return {'metadata': md, 'options': opt}
-
--
--setup_params = {}
--declarative_setup_params = read_configuration('setup.cfg')
--
--# Patch incorrectly decoded package_dir option
--# ``egg_info`` demands native strings failing with unicode under Python 2
--# Ref https://github.com/pypa/setuptools/issues/1136
--if 'package_dir' in declarative_setup_params['options']:
-- declarative_setup_params['options']['package_dir'] = {
-- str(k): str(v)
-- for k, v in declarative_setup_params['options']['package_dir'].items()
-- }
--
--setup_params = dict(setup_params, **declarative_setup_params['metadata'])
--setup_params = dict(setup_params, **declarative_setup_params['options'])
--
--
--__name__ == '__main__' and setuptools.setup(**setup_params)
-+__name__ == '__main__' and setuptools.setup()