pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/py-cheroot py-cheroot: updated to 8.6.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/0017cabd7cf5
branches:  trunk
changeset: 387780:0017cabd7cf5
user:      adam <adam%pkgsrc.org@localhost>
date:      Sun Nov 06 18:21:11 2022 +0000

description:
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.

diffstat:

 www/py-cheroot/Makefile                |  27 ++++++++++++++-------------
 www/py-cheroot/PLIST                   |  28 +++++++++++++++++++++++++++-
 www/py-cheroot/distinfo                |  11 +++++------
 www/py-cheroot/patches/patch-setup.cfg |  24 +++++++++++++-----------
 www/py-cheroot/patches/patch-setup.py  |  29 -----------------------------
 5 files changed, 59 insertions(+), 60 deletions(-)

diffs (238 lines):

diff -r f47529074a68 -r 0017cabd7cf5 www/py-cheroot/Makefile
--- a/www/py-cheroot/Makefile   Sun Nov 06 18:19:52 2022 +0000
+++ b/www/py-cheroot/Makefile   Sun Nov 06 18:21:11 2022 +0000
@@ -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 @@
 COMMENT=       High-performance, pure-Python HTTP server used by CherryPy
 LICENSE=       modified-bsd
 
+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
-DEPENDS+=      ${PYPKGPREFIX}-more-itertools-[0-9]*:../../devel/py-more-itertools
-BUILD_DEPENDS+=        ${PYPKGPREFIX}-setuptools_scm>=7.0.0:../../devel/py-setuptools_scm
 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 -r f47529074a68 -r 0017cabd7cf5 www/py-cheroot/PLIST
--- a/www/py-cheroot/PLIST      Sun Nov 06 18:19:52 2022 +0000
+++ b/www/py-cheroot/PLIST      Sun Nov 06 18:21:11 2022 +0000
@@ -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}/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.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/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_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 -r f47529074a68 -r 0017cabd7cf5 www/py-cheroot/distinfo
--- a/www/py-cheroot/distinfo   Sun Nov 06 18:19:52 2022 +0000
+++ b/www/py-cheroot/distinfo   Sun Nov 06 18:21:11 2022 +0000
@@ -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 -r f47529074a68 -r 0017cabd7cf5 www/py-cheroot/patches/patch-setup.cfg
--- a/www/py-cheroot/patches/patch-setup.cfg    Sun Nov 06 18:19:52 2022 +0000
+++ b/www/py-cheroot/patches/patch-setup.cfg    Sun Nov 06 18:21:11 2022 +0000
@@ -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 -r f47529074a68 -r 0017cabd7cf5 www/py-cheroot/patches/patch-setup.py
--- a/www/py-cheroot/patches/patch-setup.py     Sun Nov 06 18:19:52 2022 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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()



Home | Main Index | Thread Index | Old Index