public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
@ 2017-05-02 11:58 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2017-05-02 11:58 UTC (permalink / raw
  To: gentoo-commits

commit:     cbe5d9d4b6a9c69d027b1185afa2f9fd01eb3470
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  2 11:13:08 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May  2 11:58:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbe5d9d4

dev-python/cherrypy: Clean old versions up

 dev-python/cherrypy/Manifest                       |  2 -
 dev-python/cherrypy/cherrypy-3.3.0.ebuild          | 52 ----------------------
 dev-python/cherrypy/cherrypy-3.7.0.ebuild          | 51 ---------------------
 .../files/cherrypy-3.3.0-test_config.patch         | 20 ---------
 4 files changed, 125 deletions(-)

diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index b8caa00fb9c..03e4f61bd9d 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,3 +1 @@
-DIST CherryPy-3.3.0.tar.gz 429204 SHA256 f8829bf1b4f613833b690b33b2fd00b1da4ef98df3c70240f78ee91b70f4a5a2 SHA512 605d1ca5694cd8c5237f2115ef2ca39d7290b90c82b91c3699cfb59ad346c3506a1b78ad0502f89de43f8711d01afbbc2eb82f00f86ffbc0fcd63c1def88f0a4 WHIRLPOOL 406c735ae3b5f52408bab6fdde32684caeeb2092b4b0124b12cd43923beb1b11e899069ed48d395839bbb55e202e748ad2cb4e0c626ed29a0d2ff0bfef8aae5b
-DIST CherryPy-3.7.0.tar.gz 433083 SHA256 2d19b9a99dc70c01d7ac58b5c2a0c6f6c0e12620e6f5dc1f556f6c1cdfd90ef8 SHA512 e8ad7eba4074aba65b1b7368cae90c1a5bd5f58217e05fe96a82e591d1e4e544555b815e19019373574f8545a80a52884e4015f6b39512b2f6fa4dc5e80f1253 WHIRLPOOL a2a8127a2ea3a2b497b18751c7ef10e61902ba8b909695c4afc926a31c8715ab1c30d5e0b865de90e931c40fed5385bb0c9902d61f8a7bc39feaf5b50303b9e6
 DIST CherryPy-3.8.0.tar.gz 433711 SHA256 ffcdb43667d4098247efaf8c82dd36d3dd4f8e5dc768ef5e90b480899e523bea SHA512 25f84093e30d814c0980f7d77b98492113470c3297c66ee8652e40650757f8e2b7db01bb8de6d7a1ea9b4bed8b764502b1f563ac6f0d082970bc2d46739d19c2 WHIRLPOOL 9e484fb5589e219108c48281f34bbe64d4767796a391dfb7f194f57dda89774d4517a6acd032fb492879a7bae2d0373e843e4b8aad53bf7b606b1b60dc2bfe56

diff --git a/dev-python/cherrypy/cherrypy-3.3.0.ebuild b/dev-python/cherrypy/cherrypy-3.3.0.ebuild
deleted file mode 100644
index 4f2448cbef8..00000000000
--- a/dev-python/cherrypy/cherrypy-3.3.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python{2_7,3_4} pypy pypy3 )
-
-inherit distutils-r1
-
-MY_P="CherryPy-${PV}"
-
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="http://www.cherrypy.org/ https://pypi.python.org/pypi/CherryPy"
-SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm ia64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="test"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-	test? ( >=dev-python/nose-1.3.3[${PYTHON_USEDEP}] )"
-RDEPEND=""
-S="${WORKDIR}/${MY_P}"
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-PATCHES=( "${FILESDIR}/${PN}-3.3.0-test_config.patch" )
-
-python_prepare_all() {
-	# Prevent interactive failures (hangs) in the test suite
-	sed -i -e "s/interactive = True/interactive = False/" cherrypy/test/webtest.py || die
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	# suite requires current latest nose-1.3.3
-	# https://bitbucket.org/cherrypy/cherrypy/issue/1308
-	# https://bitbucket.org/cherrypy/cherrypy/issue/1306
-	local exclude=(
-		-e test_file_stream -e test_4_File_deletion -e test_3_Redirect
-		-e test_2_File_Concurrency -e test_0_Session -e testStatic
-	)
-
-	# This really doesn't sit well with multiprocessing
-	# The issue 1306 tells us some tests are subject to the deleterious effects of
-	# the 'race condition'.  Both the issues are unresolved / open
-	if [[ "${EPYTHON}" == pypy ]]; then
-		nosetests "${exclude[@]}" -I test_logging.py < /dev/tty || die "Testing failed with${EPYTHON}"
-	else
-		nosetests "${exclude[@]}" < /dev/tty || die "Testing failed with ${EPYTHON}"
-	fi
-}

diff --git a/dev-python/cherrypy/cherrypy-3.7.0.ebuild b/dev-python/cherrypy/cherrypy-3.7.0.ebuild
deleted file mode 100644
index 5ed8975de21..00000000000
--- a/dev-python/cherrypy/cherrypy-3.7.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python{2_7,3_4} pypy pypy3 )
-
-inherit distutils-r1
-
-MY_P="CherryPy-${PV}"
-
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="http://www.cherrypy.org/ https://pypi.python.org/pypi/CherryPy"
-SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="test"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-	test? ( >=dev-python/nose-1.3.3[${PYTHON_USEDEP}] )"
-RDEPEND=""
-S="${WORKDIR}/${MY_P}"
-
-# testsuite predominantly connects to the network
-RESTRICT="test"
-
-python_prepare_all() {
-	# Prevent interactive failures (hangs) in the test suite
-	sed -i -e "s/interactive = True/interactive = False/" cherrypy/test/webtest.py || die
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	# suite requires current latest nose-1.3.3
-	# https://bitbucket.org/cherrypy/cherrypy/issue/1308
-	# https://bitbucket.org/cherrypy/cherrypy/issue/1306
-	local exclude=(
-		-e test_file_stream -e test_4_File_deletion -e test_3_Redirect
-		-e test_2_File_Concurrency -e test_0_Session -e testStatic
-	)
-
-	# This really doesn't sit well with multiprocessing
-	# The issue 1306 tells us some tests are subject to the deleterious effects of
-	# the 'race condition'.  Both the issues are unresolved / open
-#	if [[ "${EPYTHON}" == pypy ]]; then
-		nosetests "${exclude[@]}" -I test_logging.py || die "Testing failed with ${EPYTHON}"
-#	else
-#		nosetests "${exclude[@]}" < /dev/tty || die "Testing failed with ${EPYTHON}"
-#	fi
-}

diff --git a/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch b/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch
deleted file mode 100644
index 55c71956462..00000000000
--- a/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# HG changeset patch
-# User Mike Gilbert <floppym@gentoo.org>
-# Date 1399130996 14400
-#      Sat May 03 11:29:56 2014 -0400
-# Node ID f8f63e119bd85b16bdee9b95195aba60d5fbca27
-# Parent  60c8bb0cd34632becb758a063032e76c13dc3425
-Remove unicode literal to avoid syntax error in python3.2
-
-diff --git a/cherrypy/test/test_config.py b/cherrypy/test/test_config.py
---- a/cherrypy/test/test_config.py
-+++ b/cherrypy/test/test_config.py
-@@ -206,7 +206,7 @@
- 
-         if not compat.py3k:
-             self.getPage("/repr?key=thing3")
--            self.assertBody(repr(u'test'))
-+            self.assertBody(repr(unicode('test')))
- 
-         self.getPage("/repr?key=complex")
-         self.assertBody("(3+2j)")


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
@ 2020-03-26 22:39 Patrick McLean
  0 siblings, 0 replies; 5+ messages in thread
From: Patrick McLean @ 2020-03-26 22:39 UTC (permalink / raw
  To: gentoo-commits

commit:     532a77df4942cb0dc5eac6acaa1e97922354103f
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Mar 26 22:36:45 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 26 22:39:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=532a77df

dev-python/cherrypy-18.5.0: Version bump, drop pypy3 since it fails tests

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.96, Repoman-2.3.21
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 dev-python/cherrypy/Manifest                       |  1 +
 dev-python/cherrypy/cherrypy-18.5.0.ebuild         | 72 ++++++++++++++++++++++
 .../cherrypy/files/cherrypy-18.5.0-tests.patch     | 21 +++++++
 3 files changed, 94 insertions(+)

diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index 28d35a738e5..ddc21103d2e 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,4 +1,5 @@
 DIST CherryPy-13.1.0.tar.gz 687221 BLAKE2B ab9c8f50026e26d171877e4e68f1c5a53fa8519190bcc577e12999cdf8a7f52be37f4ba9ed83a276a9f33676839ec63bff68aa8f9f51ddf15557e09123bf2530 SHA512 c32cf009d6a5b557560a00cde0f47a01ae481c7f60b7f340e5c99bf2d7c757e7c7cbf3ef2f4f71c172057aa09ca332f2d211cc97623ea29ba9f17287c7bc42dd
 DIST CherryPy-17.4.1.tar.gz 684113 BLAKE2B 8922c1f6c3e7ac654f84dbc56c7ae17e9ba83e01132dc6a34413064879a5fe22b1dcaa0eac7415b23cf9dc4fe54fd3e5d078121b354599b30c89f69f107208f6 SHA512 588aef80b12bdd27d83fabd466add12753d62760cd0c6beca8ecb78a0cd1e04a507327409bd4cd3c6e6e6133922e06c2f8c6ee2877b42ca635f8001812a4bd8e
 DIST CherryPy-18.1.0.tar.gz 682792 BLAKE2B 0e072bf21656778ff8d64e87a6b19c8c5e9a3057312ebd3155b3b876432709f6f205f267cd9a105727153d458daab3e7113ffe9b3c49f911bd956bf72a19086c SHA512 58ae40ef62efeda051bf5dd35768a599094792d06a0e7c6e34c21cc5b003b700f43a02460d38a00067d255939e341fc438d248e3499fad76ccc8100f8eac94d3
+DIST CherryPy-18.5.0.tar.gz 685362 BLAKE2B 36178ff6e374a89aa4fba9ba34947f1558a7bb3676f014528bb081efa9608ed70648bf2c46b8c4f95b8b14586a93c513ce342955677564f9202733104ba07102 SHA512 6ead115ac2a067cc9f2cb83117b8c53aac8a2a1580159993b7687b5810a41b64d1d1c603ef75a12660fe7aee9c6f403c8cb7bd5e78564f71dc813ae7f28b65fe
 DIST CherryPy-3.8.0.tar.gz 433711 BLAKE2B e1b4a554138a61e8c6313c3055723583d812e573a352d67bd5448f799e4f2f22694b800810b53cd041c665e46d9555b471d1da91c252ade96459778d7a5c07fa SHA512 25f84093e30d814c0980f7d77b98492113470c3297c66ee8652e40650757f8e2b7db01bb8de6d7a1ea9b4bed8b764502b1f563ac6f0d082970bc2d46739d19c2

diff --git a/dev-python/cherrypy/cherrypy-18.5.0.ebuild b/dev-python/cherrypy/cherrypy-18.5.0.ebuild
new file mode 100644
index 00000000000..ecdb57b02f8
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-18.5.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+MY_P="CherryPy-${PV}"
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="https://www.cherrypy.org https://pypi.org/project/CherryPy/"
+SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ssl test"
+# IUSE="ssl test"
+# See below to see what needs to be done before testing can be enabled
+# for this release.
+#RESTRICT="test"
+
+RDEPEND=">=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
+	>=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
+	dev-python/more-itertools[${PYTHON_USEDEP}]
+	dev-python/zc-lockfile[${PYTHON_USEDEP}]
+	dev-python/jaraco-collections[${PYTHON_USEDEP}]
+	ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/setuptools_scm[${PYTHON_USEDEP}]
+	test? (
+		dev-python/routes[${PYTHON_USEDEP}]
+		dev-python/simplejson[${PYTHON_USEDEP}]
+		dev-python/objgraph[${PYTHON_USEDEP}]
+		dev-python/backports-unittest-mock[${PYTHON_USEDEP}]
+		dev-python/path-py[${PYTHON_USEDEP}]
+		dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+		dev-python/pytest-services[${PYTHON_USEDEP}]
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}/cherrypy-18.5.0-tests.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+	# UnicodeEncodeError: 'ascii' codec can't encode character u'\u2603' in position 0: ordinal not in range(128)
+	sed -e 's|@pytest.mark.xfail(py27_on_windows|@pytest.mark.xfail(sys.version_info < (3,)|' \
+		-i cherrypy/test/test_static.py || die
+
+	sed -r -e '/(pytest-sugar|pytest-cov)/ d' \
+		-i setup.py || die
+
+	sed -r -e 's:--cov-report[[:space:]]+[[:graph:]]+::' \
+		-e 's:--cov[[:graph:]]+::' \
+		-e 's:--doctest[[:graph:]]+::' \
+		-i pytest.ini || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_test_old() {
+	if [[ ${EPYTHON} != pypy* ]]; then
+		pytest -vv || die "Testing failed with ${EPYTHON}"
+	fi
+}

diff --git a/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch b/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch
new file mode 100644
index 00000000000..d556b867820
--- /dev/null
+++ b/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/cherrypy/test/test_tools.py b/cherrypy/test/test_tools.py
+index 3a0fd389..e357a445 100644
+--- a/cherrypy/test/test_tools.py
++++ b/cherrypy/test/test_tools.py
+@@ -9,6 +9,8 @@ import unittest
+ import operator
+ from http.client import IncompleteRead
+ 
++import pytest
++
+ import cherrypy
+ from cherrypy import tools
+ from cherrypy._cpcompat import ntou
+@@ -343,6 +345,7 @@ class ToolTests(helper.CPWebCase):
+         expected_msg = tmpl.format(attr='items')
+         self.assertInBody(expected_msg)
+ 
++    @pytest.mark.skipif('sys.hexversion >= 0x03080000')
+     def testCombinedTools(self):
+         expectedResult = (ntou('Hello,world') +
+                           europoundUnicode).encode('utf-8')


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
@ 2022-05-23  4:55 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2022-05-23  4:55 UTC (permalink / raw
  To: gentoo-commits

commit:     f4b265b211168f2e33f3fc49a05b58e89b18744d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 22 18:44:20 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 23 04:54:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4b265b2

dev-python/cherrypy: Enable py3.11

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild      | 14 +++++++++-
 .../cherrypy/files/cherrypy-18.6.1-py311.patch     | 32 ++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
index 85965bd7d707..ddcd4181ee8c 100644
--- a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
+++ b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
 
 inherit distutils-r1
 
@@ -52,6 +52,7 @@ python_prepare_all() {
 	local PATCHES=(
 		# https://github.com/cherrypy/cherrypy/pull/1946
 		"${FILESDIR}"/${P}-close-files.patch
+		"${FILESDIR}"/${P}-py311.patch
 	)
 
 	sed -r -e '/(pytest-sugar|pytest-cov)/ d' \
@@ -64,3 +65,14 @@ python_prepare_all() {
 
 	distutils-r1_python_prepare_all
 }
+
+python_test() {
+	local EPYTEST_DESELECT=()
+	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+		# broken by changes in traceback output
+		cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
+		cherrypy/test/test_tools.py::ToolTests::testHookErrors
+	)
+
+	epytest
+}

diff --git a/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch b/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch
new file mode 100644
index 000000000000..5d629dd8c333
--- /dev/null
+++ b/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch
@@ -0,0 +1,32 @@
+From 8245a74aa4e090c40445535a9ce3997ed9904798 Mon Sep 17 00:00:00 2001
+From: Dominic Davis-Foster <dominic@davis-foster.co.uk>
+Date: Fri, 28 Jan 2022 23:11:52 +0000
+Subject: [PATCH] Switch from inspect.getargspec to inspect.getfullargspec
+
+inspect.getargspec has been deprecated since 3.0
+---
+ cherrypy/_cpdispatch.py | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/cherrypy/_cpdispatch.py b/cherrypy/_cpdispatch.py
+index 83eb79cb..5c506e99 100644
+--- a/cherrypy/_cpdispatch.py
++++ b/cherrypy/_cpdispatch.py
+@@ -206,12 +206,8 @@ except ImportError:
+     def test_callable_spec(callable, args, kwargs):  # noqa: F811
+         return None
+ else:
+-    getargspec = inspect.getargspec
+-    # Python 3 requires using getfullargspec if
+-    # keyword-only arguments are present
+-    if hasattr(inspect, 'getfullargspec'):
+-        def getargspec(callable):
+-            return inspect.getfullargspec(callable)[:4]
++    def getargspec(callable):
++        return inspect.getfullargspec(callable)[:4]
+ 
+ 
+ class LateParamPageHandler(PageHandler):
+-- 
+2.35.1
+


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
@ 2022-07-18 13:52 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2022-07-18 13:52 UTC (permalink / raw
  To: gentoo-commits

commit:     4b7dd82ca02ff4039edc1d314094207709e0a696
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 13:52:12 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 13:52:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b7dd82c

dev-python/cherrypy: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/cherrypy/Manifest                       |   2 -
 dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild      |  78 ----
 dev-python/cherrypy/cherrypy-18.7.0.ebuild         |  69 ----
 .../files/cherrypy-18.6.1-close-files.patch        | 416 ---------------------
 .../cherrypy/files/cherrypy-18.6.1-py311.patch     |  32 --
 5 files changed, 597 deletions(-)

diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index e96a34aa2b17..888526929922 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,3 +1 @@
-DIST CherryPy-18.6.1.tar.gz 692730 BLAKE2B 44cef7ed54a090df396691001b794bf13be2c61003bf80b63223e3a42914ce50fcfe43c06626fb881105e3ed6fbf587df7024bbf7cfde00a8263c432f4cc7ae4 SHA512 186a0992a443e1ffc1a2924b3351dcb0e6cc6c88b39ac32330d6365fe1b0a35c2008a3a18e1a57f61ffd1901ea6134333bb6288024d8ffbb1fd8e8dcd3145007
-DIST CherryPy-18.7.0.tar.gz 621794 BLAKE2B d60cd21d0b0bacbb18bcaeb525be143c3639f462978e9835e5c77ba8ce732a3af4662e4c37e2d20e1ad19760900775dee4a3cd98db53e70a19611d30c8329bce SHA512 321771a3e3cda16090bfb7a79c297defd67655ba5453e440e09e85fec41cba850544bebac7203206c95e38d79b3bce22368ea19c0fb1fbedbb00d76a4ab59c8b
 DIST CherryPy-18.8.0.tar.gz 622679 BLAKE2B 673f9a103a901161ee801656fa37fa0a4fcd2d9276a5231e48c1663264eb7f922d5d862018995a345a8485252416fa0229da49b8d265288efce2dccd37d79ff8 SHA512 abacc995c1757b8d0171d57eb59b6e5931c46019d8f0f43479e334bb4f58b61a27541d9d0997d665f81905bc3c89e42d40d8e5a6e3a5f9bf251bc9089ceb5249

diff --git a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
deleted file mode 100644
index e8c592b55252..000000000000
--- a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="CherryPy"
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="
-	https://cherrypy.dev/
-	https://github.com/cherrypy/cherrypy/
-	https://pypi.org/project/CherryPy/
-"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86"
-IUSE="ssl test"
-
-RDEPEND="
-	>=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
-	>=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
-	dev-python/more-itertools[${PYTHON_USEDEP}]
-	dev-python/zc-lockfile[${PYTHON_USEDEP}]
-	dev-python/jaraco-collections[${PYTHON_USEDEP}]
-	ssl? (
-		dev-python/pyopenssl[${PYTHON_USEDEP}]
-	)
-"
-BDEPEND="
-	dev-python/setuptools_scm[${PYTHON_USEDEP}]
-	test? (
-		dev-python/routes[${PYTHON_USEDEP}]
-		dev-python/simplejson[${PYTHON_USEDEP}]
-		dev-python/objgraph[${PYTHON_USEDEP}]
-		dev-python/path-py[${PYTHON_USEDEP}]
-		dev-python/requests-toolbelt[${PYTHON_USEDEP}]
-		dev-python/pytest-services[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
-	local PATCHES=(
-		# https://github.com/cherrypy/cherrypy/pull/1946
-		"${FILESDIR}"/${P}-close-files.patch
-		"${FILESDIR}"/${P}-py311.patch
-	)
-
-	sed -r -e '/(pytest-sugar|pytest-cov)/ d' \
-		-i setup.py || die
-
-	sed -r -e 's:--cov-report[[:space:]]+[[:graph:]]+::g' \
-		-e 's:--cov[[:graph:]]+::g' \
-		-e 's:--doctest[[:graph:]]+::g' \
-		-i pytest.ini || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# broken by changes in traceback output
-		cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
-		cherrypy/test/test_tools.py::ToolTests::testHookErrors
-	)
-
-	epytest
-}

diff --git a/dev-python/cherrypy/cherrypy-18.7.0.ebuild b/dev-python/cherrypy/cherrypy-18.7.0.ebuild
deleted file mode 100644
index b1cedd9565ea..000000000000
--- a/dev-python/cherrypy/cherrypy-18.7.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="CherryPy"
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="
-	https://cherrypy.dev/
-	https://github.com/cherrypy/cherrypy/
-	https://pypi.org/project/CherryPy/
-"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="ssl test"
-
-RDEPEND="
-	>=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
-	>=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
-	dev-python/more-itertools[${PYTHON_USEDEP}]
-	dev-python/zc-lockfile[${PYTHON_USEDEP}]
-	dev-python/jaraco-collections[${PYTHON_USEDEP}]
-	ssl? (
-		dev-python/pyopenssl[${PYTHON_USEDEP}]
-	)
-"
-BDEPEND="
-	dev-python/setuptools_scm[${PYTHON_USEDEP}]
-	test? (
-		dev-python/routes[${PYTHON_USEDEP}]
-		dev-python/simplejson[${PYTHON_USEDEP}]
-		dev-python/objgraph[${PYTHON_USEDEP}]
-		dev-python/path-py[${PYTHON_USEDEP}]
-		dev-python/requests-toolbelt[${PYTHON_USEDEP}]
-		dev-python/pytest-services[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
-	sed -i -e '/cov/d' pytest.ini || die
-	# upstream has been using xfail to mark flaky tests, then added
-	# xfail_strict... not a good idea
-	sed -i -e '/xfail_strict/d' pytest.ini || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# broken by changes in traceback output
-		cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
-		cherrypy/test/test_tools.py::ToolTests::testHookErrors
-	)
-
-	epytest
-}

diff --git a/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch b/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch
deleted file mode 100644
index 478d717dfb8c..000000000000
--- a/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch
+++ /dev/null
@@ -1,416 +0,0 @@
-From 94a2cc036203c6da55174ef3b105c0c875bbc79f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 31 Jan 2022 22:25:34 +0100
-Subject: [PATCH] Use context managers to close files properly and fix tests on
- PyPy
-
-Use context managers (`with`) to ensure that all open files are closed
-correctly.  This resolves resource leaks and test failures with PyPy3.7.
-
-The code prior to this change used four approaches for closing files:
-
-1. Using a context manager (`with` clause).
-
-2. Using a try/finally clause.
-
-3. Closing the file in the same scope (unreliable: file object can leak
-   on exception).
-
-4. Not closing open files at all.
-
-The last point is a real problem for PyPy since it does not GC
-unreachable objects as aggressively as CPython does.  While leaving
-a function scope on CPython causes the file objects private to it to
-be destroyed (and therefore closed), in PyPy they can stay dangling
-for some time.  When combines with buffered writes, this means that
-writes can still remain pending after returning from function.
-
-Using a context manager is a simple, consistent way to ensure that
-the file object is closed once it is no longer needed.  In turn, this
-guarantees that all pending writes will be performed upon function
-return and the code won't be hiting race conditions between writing
-a file and reading it afterwards.
----
- cherrypy/_cperror.py         |  3 ++-
- cherrypy/_cpmodpy.py         |  5 +----
- cherrypy/lib/auth_digest.py  | 13 ++++++------
- cherrypy/lib/covercp.py      | 40 ++++++++++++++++++------------------
- cherrypy/lib/reprconf.py     |  5 +----
- cherrypy/lib/sessions.py     | 10 ++-------
- cherrypy/process/plugins.py  |  3 ++-
- cherrypy/test/helper.py      |  3 ++-
- cherrypy/test/logtest.py     | 33 ++++++++++++++++-------------
- cherrypy/test/modfastcgi.py  |  5 +----
- cherrypy/test/modfcgid.py    |  5 +----
- cherrypy/test/modpy.py       |  5 +----
- cherrypy/test/modwsgi.py     |  5 +----
- cherrypy/test/test_core.py   |  5 ++---
- cherrypy/test/test_states.py | 11 +++++-----
- 15 files changed, 67 insertions(+), 84 deletions(-)
-
-diff --git a/cherrypy/_cperror.py b/cherrypy/_cperror.py
-index 4e727682..ebf1dcf6 100644
---- a/cherrypy/_cperror.py
-+++ b/cherrypy/_cperror.py
-@@ -532,7 +532,8 @@ def get_error_page(status, **kwargs):
-                     return result
-             else:
-                 # Load the template from this path.
--                template = io.open(error_page, newline='').read()
-+                with io.open(error_page, newline='') as f:
-+                    template = f.read()
-         except Exception:
-             e = _format_exception(*_exc_info())[-1]
-             m = kwargs['message']
-diff --git a/cherrypy/_cpmodpy.py b/cherrypy/_cpmodpy.py
-index 0e608c48..a08f0ed9 100644
---- a/cherrypy/_cpmodpy.py
-+++ b/cherrypy/_cpmodpy.py
-@@ -339,11 +339,8 @@ LoadModule python_module modules/mod_python.so
-                                      }
- 
-         mpconf = os.path.join(os.path.dirname(__file__), 'cpmodpy.conf')
--        f = open(mpconf, 'wb')
--        try:
-+        with open(mpconf, 'wb') as f:
-             f.write(conf_data)
--        finally:
--            f.close()
- 
-         response = read_process(self.apache_path, '-k start -f %s' % mpconf)
-         self.ready = True
-diff --git a/cherrypy/lib/auth_digest.py b/cherrypy/lib/auth_digest.py
-index fbb5df64..981e9a5d 100644
---- a/cherrypy/lib/auth_digest.py
-+++ b/cherrypy/lib/auth_digest.py
-@@ -101,13 +101,12 @@ def get_ha1_file_htdigest(filename):
-     """
-     def get_ha1(realm, username):
-         result = None
--        f = open(filename, 'r')
--        for line in f:
--            u, r, ha1 = line.rstrip().split(':')
--            if u == username and r == realm:
--                result = ha1
--                break
--        f.close()
-+        with open(filename, 'r') as f:
-+            for line in f:
-+                u, r, ha1 = line.rstrip().split(':')
-+                if u == username and r == realm:
-+                    result = ha1
-+                    break
-         return result
- 
-     return get_ha1
-diff --git a/cherrypy/lib/covercp.py b/cherrypy/lib/covercp.py
-index 3e219713..005fafa5 100644
---- a/cherrypy/lib/covercp.py
-+++ b/cherrypy/lib/covercp.py
-@@ -334,26 +334,26 @@ class CoverStats(object):
-         yield '</body></html>'
- 
-     def annotated_file(self, filename, statements, excluded, missing):
--        source = open(filename, 'r')
--        buffer = []
--        for lineno, line in enumerate(source.readlines()):
--            lineno += 1
--            line = line.strip('\n\r')
--            empty_the_buffer = True
--            if lineno in excluded:
--                template = TEMPLATE_LOC_EXCLUDED
--            elif lineno in missing:
--                template = TEMPLATE_LOC_NOT_COVERED
--            elif lineno in statements:
--                template = TEMPLATE_LOC_COVERED
--            else:
--                empty_the_buffer = False
--                buffer.append((lineno, line))
--            if empty_the_buffer:
--                for lno, pastline in buffer:
--                    yield template % (lno, cgi.escape(pastline))
--                buffer = []
--                yield template % (lineno, cgi.escape(line))
-+        with open(filename, 'r') as source:
-+            buffer = []
-+            for lineno, line in enumerate(source.readlines()):
-+                lineno += 1
-+                line = line.strip('\n\r')
-+                empty_the_buffer = True
-+                if lineno in excluded:
-+                    template = TEMPLATE_LOC_EXCLUDED
-+                elif lineno in missing:
-+                    template = TEMPLATE_LOC_NOT_COVERED
-+                elif lineno in statements:
-+                    template = TEMPLATE_LOC_COVERED
-+                else:
-+                    empty_the_buffer = False
-+                    buffer.append((lineno, line))
-+                if empty_the_buffer:
-+                    for lno, pastline in buffer:
-+                        yield template % (lno, cgi.escape(pastline))
-+                    buffer = []
-+                    yield template % (lineno, cgi.escape(line))
- 
-     @cherrypy.expose
-     def report(self, name):
-diff --git a/cherrypy/lib/reprconf.py b/cherrypy/lib/reprconf.py
-index 3976652e..76381d7b 100644
---- a/cherrypy/lib/reprconf.py
-+++ b/cherrypy/lib/reprconf.py
-@@ -163,11 +163,8 @@ class Parser(configparser.ConfigParser):
-             #     fp = open(filename)
-             # except IOError:
-             #     continue
--            fp = open(filename)
--            try:
-+            with open(filename) as fp:
-                 self._read(fp, filename)
--            finally:
--                fp.close()
- 
-     def as_dict(self, raw=False, vars=None):
-         """Convert an INI file to a dictionary"""
-diff --git a/cherrypy/lib/sessions.py b/cherrypy/lib/sessions.py
-index 5b3328f2..0f56a4fa 100644
---- a/cherrypy/lib/sessions.py
-+++ b/cherrypy/lib/sessions.py
-@@ -516,11 +516,8 @@ class FileSession(Session):
-         if path is None:
-             path = self._get_file_path()
-         try:
--            f = open(path, 'rb')
--            try:
-+            with open(path, 'rb') as f:
-                 return pickle.load(f)
--            finally:
--                f.close()
-         except (IOError, EOFError):
-             e = sys.exc_info()[1]
-             if self.debug:
-@@ -531,11 +528,8 @@ class FileSession(Session):
-     def _save(self, expiration_time):
-         assert self.locked, ('The session was saved without being locked.  '
-                              "Check your tools' priority levels.")
--        f = open(self._get_file_path(), 'wb')
--        try:
-+        with open(self._get_file_path(), 'wb') as f:
-             pickle.dump((self._data, expiration_time), f, self.pickle_protocol)
--        finally:
--            f.close()
- 
-     def _delete(self):
-         assert self.locked, ('The session deletion without being locked.  '
-diff --git a/cherrypy/process/plugins.py b/cherrypy/process/plugins.py
-index 2a9952de..e96fb1ce 100644
---- a/cherrypy/process/plugins.py
-+++ b/cherrypy/process/plugins.py
-@@ -436,7 +436,8 @@ class PIDFile(SimplePlugin):
-         if self.finalized:
-             self.bus.log('PID %r already written to %r.' % (pid, self.pidfile))
-         else:
--            open(self.pidfile, 'wb').write(ntob('%s\n' % pid, 'utf8'))
-+            with open(self.pidfile, 'wb') as f:
-+                f.write(ntob('%s\n' % pid, 'utf8'))
-             self.bus.log('PID %r written to %r.' % (pid, self.pidfile))
-             self.finalized = True
-     start.priority = 70
-diff --git a/cherrypy/test/helper.py b/cherrypy/test/helper.py
-index c1ca4535..cae49533 100644
---- a/cherrypy/test/helper.py
-+++ b/cherrypy/test/helper.py
-@@ -505,7 +505,8 @@ server.ssl_private_key: r'%s'
- 
-     def get_pid(self):
-         if self.daemonize:
--            return int(open(self.pid_file, 'rb').read())
-+            with open(self.pid_file, 'rb') as f:
-+                return int(f.read())
-         return self._proc.pid
- 
-     def join(self):
-diff --git a/cherrypy/test/logtest.py b/cherrypy/test/logtest.py
-index 344be987..112bdc25 100644
---- a/cherrypy/test/logtest.py
-+++ b/cherrypy/test/logtest.py
-@@ -97,7 +97,8 @@ class LogCase(object):
- 
-     def emptyLog(self):
-         """Overwrite self.logfile with 0 bytes."""
--        open(self.logfile, 'wb').write('')
-+        with open(self.logfile, 'wb') as f:
-+            f.write('')
- 
-     def markLog(self, key=None):
-         """Insert a marker line into the log and set self.lastmarker."""
-@@ -105,10 +106,11 @@ class LogCase(object):
-             key = str(time.time())
-         self.lastmarker = key
- 
--        open(self.logfile, 'ab+').write(
--            b'%s%s\n'
--            % (self.markerPrefix, key.encode('utf-8'))
--        )
-+        with open(self.logfile, 'ab+') as f:
-+            f.write(
-+                b'%s%s\n'
-+                % (self.markerPrefix, key.encode('utf-8'))
-+            )
- 
-     def _read_marked_region(self, marker=None):
-         """Return lines from self.logfile in the marked region.
-@@ -122,20 +124,23 @@ class LogCase(object):
-         logfile = self.logfile
-         marker = marker or self.lastmarker
-         if marker is None:
--            return open(logfile, 'rb').readlines()
-+            with open(logfile, 'rb') as f:
-+                return f.readlines()
- 
-         if isinstance(marker, str):
-             marker = marker.encode('utf-8')
-         data = []
-         in_region = False
--        for line in open(logfile, 'rb'):
--            if in_region:
--                if line.startswith(self.markerPrefix) and marker not in line:
--                    break
--                else:
--                    data.append(line)
--            elif marker in line:
--                in_region = True
-+        with open(logfile, 'rb') as f:
-+            for line in f:
-+                if in_region:
-+                    if (line.startswith(self.markerPrefix)
-+                            and marker not in line):
-+                        break
-+                    else:
-+                        data.append(line)
-+                elif marker in line:
-+                    in_region = True
-         return data
- 
-     def assertInLog(self, line, marker=None):
-diff --git a/cherrypy/test/modfastcgi.py b/cherrypy/test/modfastcgi.py
-index 79ec3d18..0c6d01e2 100644
---- a/cherrypy/test/modfastcgi.py
-+++ b/cherrypy/test/modfastcgi.py
-@@ -112,15 +112,12 @@ class ModFCGISupervisor(helper.LocalWSGISupervisor):
-             fcgiconf = os.path.join(curdir, fcgiconf)
- 
-         # Write the Apache conf file.
--        f = open(fcgiconf, 'wb')
--        try:
-+        with open(fcgiconf, 'wb') as f:
-             server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1]
-             output = self.template % {'port': self.port, 'root': curdir,
-                                       'server': server}
-             output = output.replace('\r\n', '\n')
-             f.write(output)
--        finally:
--            f.close()
- 
-         result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf)
-         if result:
-diff --git a/cherrypy/test/modfcgid.py b/cherrypy/test/modfcgid.py
-index d101bd67..ea373004 100644
---- a/cherrypy/test/modfcgid.py
-+++ b/cherrypy/test/modfcgid.py
-@@ -101,15 +101,12 @@ class ModFCGISupervisor(helper.LocalSupervisor):
-             fcgiconf = os.path.join(curdir, fcgiconf)
- 
-         # Write the Apache conf file.
--        f = open(fcgiconf, 'wb')
--        try:
-+        with open(fcgiconf, 'wb') as f:
-             server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1]
-             output = self.template % {'port': self.port, 'root': curdir,
-                                       'server': server}
-             output = ntob(output.replace('\r\n', '\n'))
-             f.write(output)
--        finally:
--            f.close()
- 
-         result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf)
-         if result:
-diff --git a/cherrypy/test/modpy.py b/cherrypy/test/modpy.py
-index 7c288d2c..024453e9 100644
---- a/cherrypy/test/modpy.py
-+++ b/cherrypy/test/modpy.py
-@@ -107,13 +107,10 @@ class ModPythonSupervisor(helper.Supervisor):
-         if not os.path.isabs(mpconf):
-             mpconf = os.path.join(curdir, mpconf)
- 
--        f = open(mpconf, 'wb')
--        try:
-+        with open(mpconf, 'wb') as f:
-             f.write(self.template %
-                     {'port': self.port, 'modulename': modulename,
-                      'host': self.host})
--        finally:
--            f.close()
- 
-         result = read_process(APACHE_PATH, '-k start -f %s' % mpconf)
-         if result:
-diff --git a/cherrypy/test/modwsgi.py b/cherrypy/test/modwsgi.py
-index da7d240b..24c72684 100644
---- a/cherrypy/test/modwsgi.py
-+++ b/cherrypy/test/modwsgi.py
-@@ -109,14 +109,11 @@ class ModWSGISupervisor(helper.Supervisor):
-         if not os.path.isabs(mpconf):
-             mpconf = os.path.join(curdir, mpconf)
- 
--        f = open(mpconf, 'wb')
--        try:
-+        with open(mpconf, 'wb') as f:
-             output = (self.template %
-                       {'port': self.port, 'testmod': modulename,
-                        'curdir': curdir})
-             f.write(output)
--        finally:
--            f.close()
- 
-         result = read_process(APACHE_PATH, '-k start -f %s' % mpconf)
-         if result:
-diff --git a/cherrypy/test/test_core.py b/cherrypy/test/test_core.py
-index 6fde3a97..42460b3f 100644
---- a/cherrypy/test/test_core.py
-+++ b/cherrypy/test/test_core.py
-@@ -586,9 +586,8 @@ class CoreRequestHandlingTest(helper.CPWebCase):
-     def testFavicon(self):
-         # favicon.ico is served by staticfile.
-         icofilename = os.path.join(localDir, '../favicon.ico')
--        icofile = open(icofilename, 'rb')
--        data = icofile.read()
--        icofile.close()
-+        with open(icofilename, 'rb') as icofile:
-+            data = icofile.read()
- 
-         self.getPage('/favicon.ico')
-         self.assertBody(data)
-diff --git a/cherrypy/test/test_states.py b/cherrypy/test/test_states.py
-index 28dd6510..d59a4d87 100644
---- a/cherrypy/test/test_states.py
-+++ b/cherrypy/test/test_states.py
-@@ -424,11 +424,12 @@ test_case_name: "test_signal_handler_unsubscribe"
-         p.join()
- 
-         # Assert the old handler ran.
--        log_lines = list(open(p.error_log, 'rb'))
--        assert any(
--            line.endswith(b'I am an old SIGTERM handler.\n')
--            for line in log_lines
--        )
-+        with open(p.error_log, 'rb') as f:
-+            log_lines = list(f)
-+            assert any(
-+                line.endswith(b'I am an old SIGTERM handler.\n')
-+                for line in log_lines
-+            )
- 
- 
- def test_safe_wait_INADDR_ANY():  # pylint: disable=invalid-name
--- 
-2.35.1
-

diff --git a/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch b/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch
deleted file mode 100644
index 5d629dd8c333..000000000000
--- a/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8245a74aa4e090c40445535a9ce3997ed9904798 Mon Sep 17 00:00:00 2001
-From: Dominic Davis-Foster <dominic@davis-foster.co.uk>
-Date: Fri, 28 Jan 2022 23:11:52 +0000
-Subject: [PATCH] Switch from inspect.getargspec to inspect.getfullargspec
-
-inspect.getargspec has been deprecated since 3.0
----
- cherrypy/_cpdispatch.py | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/cherrypy/_cpdispatch.py b/cherrypy/_cpdispatch.py
-index 83eb79cb..5c506e99 100644
---- a/cherrypy/_cpdispatch.py
-+++ b/cherrypy/_cpdispatch.py
-@@ -206,12 +206,8 @@ except ImportError:
-     def test_callable_spec(callable, args, kwargs):  # noqa: F811
-         return None
- else:
--    getargspec = inspect.getargspec
--    # Python 3 requires using getfullargspec if
--    # keyword-only arguments are present
--    if hasattr(inspect, 'getfullargspec'):
--        def getargspec(callable):
--            return inspect.getfullargspec(callable)[:4]
-+    def getargspec(callable):
-+        return inspect.getfullargspec(callable)[:4]
- 
- 
- class LateParamPageHandler(PageHandler):
--- 
-2.35.1
-


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
@ 2023-12-30 14:32 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2023-12-30 14:32 UTC (permalink / raw
  To: gentoo-commits

commit:     e331738b58191ab205a43da1531dcc9253f4fce7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 30 14:27:49 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 14:32:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e331738b

dev-python/cherrypy: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/cherrypy/Manifest                       |  1 -
 dev-python/cherrypy/cherrypy-18.8.0.ebuild         | 72 ----------------------
 .../cherrypy/files/cherrypy-18.8.0-py312.patch     | 30 ---------
 3 files changed, 103 deletions(-)

diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index a25017177e9a..bf2c0f9f6cf3 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,2 +1 @@
-DIST CherryPy-18.8.0.tar.gz 622679 BLAKE2B 673f9a103a901161ee801656fa37fa0a4fcd2d9276a5231e48c1663264eb7f922d5d862018995a345a8485252416fa0229da49b8d265288efce2dccd37d79ff8 SHA512 abacc995c1757b8d0171d57eb59b6e5931c46019d8f0f43479e334bb4f58b61a27541d9d0997d665f81905bc3c89e42d40d8e5a6e3a5f9bf251bc9089ceb5249
 DIST CherryPy-18.9.0.tar.gz 631900 BLAKE2B 5bc0d4315f6b9300ba8fc122858554a6b6476f78ac1fb31b1635707488a4a300e359d2e368dde9996c202a8f42100ef09e298fb923f955e92d7906ed970d2ba9 SHA512 ed2beacedd3417214f45e59567f2a1faf5964745a545360db2f61251a39f50f2a833745832a2c900673029d98062f7e1813db6c342585f8d2bbae0be423edb3a

diff --git a/dev-python/cherrypy/cherrypy-18.8.0.ebuild b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
deleted file mode 100644
index f1daafcdd228..000000000000
--- a/dev-python/cherrypy/cherrypy-18.8.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="CherryPy"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="
-	https://cherrypy.dev/
-	https://github.com/cherrypy/cherrypy/
-	https://pypi.org/project/CherryPy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="ssl test"
-
-RDEPEND="
-	>=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
-	>=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
-	dev-python/more-itertools[${PYTHON_USEDEP}]
-	dev-python/zc-lockfile[${PYTHON_USEDEP}]
-	dev-python/jaraco-collections[${PYTHON_USEDEP}]
-	ssl? (
-		dev-python/pyopenssl[${PYTHON_USEDEP}]
-	)
-"
-BDEPEND="
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	test? (
-		dev-python/routes[${PYTHON_USEDEP}]
-		dev-python/simplejson[${PYTHON_USEDEP}]
-		dev-python/objgraph[${PYTHON_USEDEP}]
-		dev-python/path[${PYTHON_USEDEP}]
-		dev-python/requests-toolbelt[${PYTHON_USEDEP}]
-		dev-python/pytest-services[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
-	local PATCHES=(
-		# https://github.com/cherrypy/cherrypy/pull/1959
-		"${FILESDIR}/${P}-py312.patch"
-	)
-
-	sed -i -e '/cov/d' pytest.ini || die
-	# upstream has been using xfail to mark flaky tests, then added
-	# xfail_strict... not a good idea
-	sed -i -e '/xfail_strict/d' pytest.ini || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# broken by changes in traceback output
-		cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
-		cherrypy/test/test_tools.py::ToolTests::testHookErrors
-	)
-
-	epytest
-}

diff --git a/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch b/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch
deleted file mode 100644
index 90e63a763f99..000000000000
--- a/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d2bc527c12a74675d67ba5fbf9de0d014af929cb Mon Sep 17 00:00:00 2001
-From: Dan Radez <dradez@redhat.com>
-Date: Tue, 12 Apr 2022 09:40:46 -0400
-Subject: [PATCH] Replace readfp with read_file
-
-Getting Deprecation Warning in python 3.11:
-DeprecationWarning: This method will be removed in Python 3.12.
-Use 'parser.read_file()' instead.
-
-https://github.com/python/cpython/commit/e8659b47dece5a272111c0af5e340c364a9f807b#diff-ca80d44aeeadd5e4966195b99aff106abb3e7b0b5356b7499125ee021bd84777R757
-
-If I'm reading this correct read_file has been around since Python 2.7
-https://github.com/python/cpython/commit/a492362f9a2a44e411147fd7b2886466bb0bb17f
----
- cherrypy/lib/reprconf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cherrypy/lib/reprconf.py b/cherrypy/lib/reprconf.py
-index 76381d7b7..536b94173 100644
---- a/cherrypy/lib/reprconf.py
-+++ b/cherrypy/lib/reprconf.py
-@@ -188,7 +188,7 @@ def as_dict(self, raw=False, vars=None):
- 
-     def dict_from_file(self, file):
-         if hasattr(file, 'read'):
--            self.readfp(file)
-+            self.read_file(file)
-         else:
-             self.read(file)
-         return self.as_dict()


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-12-30 14:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-30 14:32 [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2022-07-18 13:52 Michał Górny
2022-05-23  4:55 Michał Górny
2020-03-26 22:39 Patrick McLean
2017-05-02 11:58 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox