diff options
author | adam <adam@pkgsrc.org> | 2022-11-06 18:21:11 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2022-11-06 18:21:11 +0000 |
commit | dddcb907c8080c0dbc3d09d298859cc3d2312b29 (patch) | |
tree | 7475df203c8e6f864e3df93147729b675fffca7c | |
parent | 833a9deb584c2719eccf86861a573f7888e8218d (diff) | |
download | pkgsrc-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/Makefile | 27 | ||||
-rw-r--r-- | www/py-cheroot/PLIST | 28 | ||||
-rw-r--r-- | www/py-cheroot/distinfo | 11 | ||||
-rw-r--r-- | www/py-cheroot/patches/patch-setup.cfg | 24 | ||||
-rw-r--r-- | www/py-cheroot/patches/patch-setup.py | 29 |
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() |