summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-18 20:36:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-18 20:36:58 +0100
commite26a7b5ef1fe42a66a3c91fe878da93c7cf83737 (patch)
tree69f8a3ce38afa952085fc96f7f7baaa8ad9fd0c8 /dev-python
parent3a1b8b124a5b405562b6e0ccf04e7bd2ddc131a4 (diff)
gentoo auto-resync : 18:07:2022 - 20:36:57
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin257472 -> 257482 bytes
-rw-r--r--dev-python/cherrypy/Manifest8
-rw-r--r--dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild78
-rw-r--r--dev-python/cherrypy/cherrypy-18.7.0.ebuild69
-rw-r--r--dev-python/cherrypy/cherrypy-18.8.0.ebuild2
-rw-r--r--dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch416
-rw-r--r--dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch32
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-14.0.4.ebuild2
-rw-r--r--dev-python/matplotlib/Manifest2
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild2
11 files changed, 6 insertions, 607 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 0bf59d663025..e37235a207d1 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index 7d7e2436283f..7829369fe8e2 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,9 +1,3 @@
-AUX cherrypy-18.6.1-close-files.patch 15776 BLAKE2B 8205e3db173706e749d9adc83d4784f7af928c5cf22f3e044d7675861048d95093d97db2db42dd9f84681a33f0b95b782f1c273f7a06eb2000c832306a7375b1 SHA512 8d4b2ee002bff97a0b80d2b03089873ceb97a861a1133e97ce210de4a18ebbe73ebc82e7f261102caa13ad57cd25398b2f213d4ac29925ed86ad64a8ca09acc6
-AUX cherrypy-18.6.1-py311.patch 1078 BLAKE2B 7518be839f56493dc3960472bdf0fad663490382ebce956c3cf8f2917c93e6b6672bdd654afe162f447f4ce907b1d122d5fdd90b30a9c130564fae7419246cc6 SHA512 31d00c5bc29491f57d4e663211bcc6c2292ca1eaff41c7be6ee5b6af0802875cb82fcc110c16c852989acec40c4c5bbc6ae0bddecc5afbfde2e8c571a767846e
-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
-EBUILD cherrypy-18.6.1-r1.ebuild 1950 BLAKE2B 1d40c7f6d31c9641ae503df5705e5465941befa8f6ce24adf0e976778dd023d73218902ab35d0c271e7cd9ee52cd5bfa57dbefaaa0b982623f6e2d74ec460ba3 SHA512 d6b60880219efb9eec875a01f4c8549c225edfb1c789a1fb2927b1d3d285a216f67400dfd4dd929ee9b9de52277dd1c5e08ef6eccbeb72f6207388812042bcb5
-EBUILD cherrypy-18.7.0.ebuild 1781 BLAKE2B 2aa6d1c79e1586d3a228735eb8dacbf5865103b1d654dca1b3743a1cab856bf73bd3ccf8a1a6f1d92b412471495db49808e23b40078b53c8c783fda478e54a82 SHA512 913243b479f297d64fcc6092ef6925cfdaa45b168ea2e9c62f8ec0319aeaf6f79c1ad3418f2f43c349d6ff3d5015a3a90aded7b8e53cecb241a1310512598dc6
-EBUILD cherrypy-18.8.0.ebuild 1781 BLAKE2B 2aa6d1c79e1586d3a228735eb8dacbf5865103b1d654dca1b3743a1cab856bf73bd3ccf8a1a6f1d92b412471495db49808e23b40078b53c8c783fda478e54a82 SHA512 913243b479f297d64fcc6092ef6925cfdaa45b168ea2e9c62f8ec0319aeaf6f79c1ad3418f2f43c349d6ff3d5015a3a90aded7b8e53cecb241a1310512598dc6
+EBUILD cherrypy-18.8.0.ebuild 1776 BLAKE2B 92f39fee78ba6e03201b27320255ddce2c528d2bfdbeb0348302edaaf71c752287f3bd0cecb25c5fbbc1df716a861de420423003a634d09f960d1fc007482b7b SHA512 f94db267eb7a8ec619e7f9771dfb7df9753d4a979c63596a5bb6661b35d54216110716a8bf4ddeaec87a7fbde5f55bc569eff6449b64185df3631025dea0f342
MISC metadata.xml 347 BLAKE2B 7694118d09caebdeac890ee40fd8a79906637bb695f9ec44dc25e67378c8c7f06901e5c52e6f79dd498921ffa01b18b9762b102baeea34792a2ff730a1303c40 SHA512 29cbadf45008c3c422c47ca232634bd15efbd4bcdc6065d18cf1adcbc0c3bbb155a2b122eb4ce7180839fcdaf4acb5515486f191ebbfa63eaec8a14abbb1e3eb
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/cherrypy-18.8.0.ebuild b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
index b1cedd9565ea..01a4093715c7 100644
--- a/dev-python/cherrypy/cherrypy-18.8.0.ebuild
+++ b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86"
IUSE="ssl test"
RDEPEND="
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
-
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 0c268c6d72b5..986d14a8d2aa 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -11,7 +11,7 @@ EBUILD lit-12.0.1.ebuild 874 BLAKE2B b81a41897a2bf7e2c266cc70bc77c694f6d49423b6d
EBUILD lit-13.0.1.ebuild 907 BLAKE2B 786bc45254014c19e47997b263eba9245fc44459a6f12d46e69803fdf57c1b8f3d07d7e0354ea23ab17471771f57af8e792ca942b9f195462a26629d8d6bfb8b SHA512 ca254f8d0d3af0e01b24e73de8e15b77d687fd0f23a4848dd4e85522426e7dbdcd8ae77e25d8f88e637e390131fe78362ae7ba4ecd192a4c970cc3311b371dfa
EBUILD lit-14.0.1.ebuild 919 BLAKE2B c579f3fca21b5f18b4a286c3ad73fc3120f3548c8bc3d0560a571d2537e7aed432a5590270e0756ad5be2a8c2a9ab076ddb1eb15111fb9dff39797c47090c645 SHA512 657aac1832e2d9082a79a8cc5aab2bf5ac7d2dc396682411f917edcb43ea1d80aacd1025b9878afed8a215017020cd0d0af15844f7a3fd7ee9a75b3e02cabeef
EBUILD lit-14.0.3.ebuild 920 BLAKE2B 97bfc25ead78c898e41321f68e8667b4dd3ccd7927e2a80e8de7eb992ccb6c9b34a54a5e43ccf3962ea19b0a01cbbbe3a8529c5e5c3222eb9303a7ba1ec86102 SHA512 8868c596fa94a532725f2806c4e14b2d9bbf4615f5c13a376e2ee8627ebc8a499d3febff129077b89199567b6ed9313f11a211f891d2aa2d81ba573607f4dbe1
-EBUILD lit-14.0.4.ebuild 916 BLAKE2B 27b024b5199193c6401411fe1b437678599a8f4b2870a0d2e25e2bd9936fb1907d94e99dc1c5329a483390808bdbc14fa62be432b4279caf08c5001fd2b6bd2e SHA512 001afdab1e0f3c3f52dbbe5f4204d92be4f09ad8fee4c4b727f9e2a198fb3e7265e3864e9defe9011ffaa79d28eac75e1ffc9f923a2b18e4e7796af798ec08d3
+EBUILD lit-14.0.4.ebuild 915 BLAKE2B 1b5f3a2c173e1321cb172352f090e013d90535b1a97af0d37e5db9d7c4699638d627942f8ca0c90e56840039f6fa7b8d1360b069f89c4b0298a541015c4036aa SHA512 f40f818848819f460efdba91dd05215ab878f38cb0900ece6ed9e59bfa3c8b25ab025ea698bc377f92d535c6b6c189fc9b219d6832ad365f6c1bd01c70397b44
EBUILD lit-14.0.5.ebuild 920 BLAKE2B 97bfc25ead78c898e41321f68e8667b4dd3ccd7927e2a80e8de7eb992ccb6c9b34a54a5e43ccf3962ea19b0a01cbbbe3a8529c5e5c3222eb9303a7ba1ec86102 SHA512 8868c596fa94a532725f2806c4e14b2d9bbf4615f5c13a376e2ee8627ebc8a499d3febff129077b89199567b6ed9313f11a211f891d2aa2d81ba573607f4dbe1
EBUILD lit-14.0.6.ebuild 920 BLAKE2B 97bfc25ead78c898e41321f68e8667b4dd3ccd7927e2a80e8de7eb992ccb6c9b34a54a5e43ccf3962ea19b0a01cbbbe3a8529c5e5c3222eb9303a7ba1ec86102 SHA512 8868c596fa94a532725f2806c4e14b2d9bbf4615f5c13a376e2ee8627ebc8a499d3febff129077b89199567b6ed9313f11a211f891d2aa2d81ba573607f4dbe1
EBUILD lit-15.0.0.9999.ebuild 871 BLAKE2B 7637fa92b7d8e5b7c87bd1cc7e8941357b48064795ca297050fcbd83f0e2a9a2a36bc1916d2cff19e95fff353250c5cfc82d2eb052c36b8bb9cb9398df19e3c0 SHA512 d049fceece84c0a07332d664a7f9b98b3c5ef81e69f24394f3e81e733977b64a523eb9b15a149e82bacd54c9a262f988ea777ee7af7c3ad48007be62f529c103
diff --git a/dev-python/lit/lit-14.0.4.ebuild b/dev-python/lit/lit-14.0.4.ebuild
index 68e5e3f335a7..8f9f37454230 100644
--- a/dev-python/lit/lit-14.0.4.ebuild
+++ b/dev-python/lit/lit-14.0.4.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index da9a4fb8f9ba..02fd97f2a613 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -5,5 +5,5 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
EBUILD matplotlib-3.5.1-r2.ebuild 7232 BLAKE2B 38969ec1fd4c035afe1be859825105203abe9ecc0c9ef409a64fe4e041d87324205e58c8085c628bf80a11550f453351ef518807c4f5365092bfc6f9498b213a SHA512 8c7424c236d0348d23c117d0433316c92d85fcd1902d436b418bc2c0602d648cfa8d24f8ddfb3ada0b8d9e68feda3e9526c93cf9dcf6569db516e2596581a886
-EBUILD matplotlib-3.5.2-r3.ebuild 7395 BLAKE2B 02444837a329cefef7a1580d54a681fd67183991d49a976c3d77a2919600539553e4cf4885ab47e03b63f7860bcfb3ebf27007ccfed543eecfb5004b9cc03846 SHA512 c7c3308412eca5d9d2cb76c137dd48a459cae6297866e97e6d485954c52c353be4d583bb77ba44f9d4bd69e92edeec49762e1deb258b4a2d6cc2810ad10fe74e
+EBUILD matplotlib-3.5.2-r3.ebuild 7394 BLAKE2B ee21ba32eb25e37c6d6fb31a87682c5c79f585765a8d8977e928e9baa3166a24fe366deac7bff927d861aefc0b559ee75a514cc48590c7586fa08a9fc4af6214 SHA512 48f5ae9b4834ef511cba51ce0a941407ebaf807f302759945a1ef6332a3a91a3041c1b8518ac2eb268d0f6a4afe6cd9944022cd0928802c7434076bc062c6c5d
MISC metadata.xml 1075 BLAKE2B 6e2f62f6788e5a673bd54e375e6c7e8fb32d4dd181a48cf62582b93f78ef7a0e513417d24e940844188d5ab38bb2946c09e80d40706c207648c95eeac672a796 SHA512 38d935eed141df3a8d675b51a547135c9a357ab2058292640a9e98a07e3e3cc70348011d8c4f7f9f0ddece9531b56a1b2dfb2245cf1dfe065d43dc834ca78748
diff --git a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
index 21416002903f..8abfa81eb5db 100644
--- a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
@@ -30,7 +30,7 @@ SRC_URI="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm ~arm64 hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 sparc x86"
IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched