summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-29 19:13:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-29 19:13:18 +0000
commit62090949b4fde34bbcbb4bd770a9635c6ac0c55e (patch)
tree2af5001a82f05c858f1e80e2231929c173a8bb55 /dev-python
parent04a447f4f2679e9687093f49d8a9ea911fac9a9b (diff)
gentoo auto-resync : 29:03:2024 - 19:13:18
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin271783 -> 271299 bytes
-rw-r--r--dev-python/boto/Manifest11
-rw-r--r--dev-python/boto/boto-2.49.0-r6.ebuild63
-rw-r--r--dev-python/boto/files/boto-2.49.0-mock-spec.patch12
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch35
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-server-port.patch42
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch59
-rw-r--r--dev-python/boto/files/boto-2.49.0-py310.patch44
-rw-r--r--dev-python/boto/files/boto-2.49.0-py38.patch54
-rw-r--r--dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch104
-rw-r--r--dev-python/boto/files/boto-2.49.0-unbundle-six.patch28
-rw-r--r--dev-python/boto/metadata.xml14
-rw-r--r--dev-python/bsddb3/Manifest4
-rw-r--r--dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild64
-rw-r--r--dev-python/bsddb3/metadata.xml11
-rw-r--r--dev-python/debugpy/Manifest7
-rw-r--r--dev-python/debugpy/debugpy-1.6.6.ebuild43
-rw-r--r--dev-python/debugpy/debugpy-1.8.0.ebuild79
-rw-r--r--dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch77
-rw-r--r--dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch46
-rw-r--r--dev-python/debugpy/metadata.xml16
-rw-r--r--dev-python/elastic-transport/Manifest2
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.13.0.ebuild70
-rw-r--r--dev-python/elasticsearch/Manifest2
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.13.0.ebuild75
-rw-r--r--dev-python/fb-re2/Manifest3
-rw-r--r--dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild43
-rw-r--r--dev-python/fb-re2/metadata.xml16
-rw-r--r--dev-python/flask-gravatar/Manifest3
-rw-r--r--dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild40
-rw-r--r--dev-python/flask-paginate/Manifest2
-rw-r--r--dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild34
-rw-r--r--dev-python/irc/Manifest2
-rw-r--r--dev-python/irc/irc-20.4.0.ebuild45
-rw-r--r--dev-python/lxml/Manifest3
-rw-r--r--dev-python/lxml/files/lxml-5.1.1-pypy.patch162
-rw-r--r--dev-python/lxml/lxml-5.1.1.ebuild117
-rw-r--r--dev-python/nose/Manifest3
-rw-r--r--dev-python/nose/metadata.xml13
-rw-r--r--dev-python/nose/nose-1.3.7_p20221026.ebuild58
-rw-r--r--dev-python/opentelemetry-api/Manifest3
-rw-r--r--dev-python/opentelemetry-api/metadata.xml20
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.23.0.ebuild71
-rw-r--r--dev-python/opentelemetry-sdk/Manifest3
-rw-r--r--dev-python/opentelemetry-sdk/metadata.xml20
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.23.0.ebuild79
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest3
-rw-r--r--dev-python/opentelemetry-semantic-conventions/metadata.xml20
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.23.0.ebuild69
-rw-r--r--dev-python/pendulum/Manifest43
-rw-r--r--dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch50
-rw-r--r--dev-python/pendulum/metadata.xml12
-rw-r--r--dev-python/pendulum/pendulum-2.1.2-r2.ebuild48
-rw-r--r--dev-python/pendulum/pendulum-3.0.0-r1.ebuild92
-rw-r--r--dev-python/pplpy/Manifest2
-rw-r--r--dev-python/pplpy/pplpy-0.8.10.ebuild5
-rw-r--r--dev-python/python-lsp-server/Manifest2
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild94
-rw-r--r--dev-python/respx/Manifest3
-rw-r--r--dev-python/respx/metadata.xml (renamed from dev-python/flask-gravatar/metadata.xml)13
-rw-r--r--dev-python/respx/respx-0.21.1.ebuild43
-rw-r--r--dev-python/sip/Manifest3
-rw-r--r--dev-python/sip/sip-6.8.3.ebuild12
-rw-r--r--dev-python/tempest/Manifest2
-rw-r--r--dev-python/tempest/tempest-38.0.0.ebuild74
65 files changed, 1044 insertions, 1248 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 919c9779af5a..68d92081fb7a 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/boto/Manifest b/dev-python/boto/Manifest
deleted file mode 100644
index ebe5a4252bc5..000000000000
--- a/dev-python/boto/Manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-AUX boto-2.49.0-mock-spec.patch 694 BLAKE2B e9b3142dd9e15c2236bae155cdb5b0085db694c36b742b8b86c3465ee0af4a568a3c13c4d28750aaf77509cdb65d8efbab8020e9d386e575124429394fca225c SHA512 8ee698a9582593864abaff506fdad9611eee784840876fe089c355b624c64fa60e1904248ed6fa5aa7a6b4c505dabc80db90293145fd9f628bc29faeb4e666f4
-AUX boto-2.49.0-py3-httplib-strict.patch 1244 BLAKE2B d37ff98891e4378bc869aaae7cde5596f1747a1851b6fbccc78ffcdac52d0583eba826cd1d101b3c04b4940ca982fd0ef8e1604d141bec170d63ec8049636f3e SHA512 fd1a7b4196918e43e88150ea5e633a537920202a51ede6381a0ebc23b8f1773e59ef7e6a4c4be2fc40356860aaf5b32d0069f93f4be165ab57d9f5334c7d9a93
-AUX boto-2.49.0-py3-server-port.patch 1840 BLAKE2B d147459970a9e39fba8599c9dff6dcbe1842714bbd45cca008be6c49840c812bf4a5fb97099614f6fe931807725268601a889f85b111fa7e1e3072c938c67a69 SHA512 f05f5c152fd52425b63cd5788f603430c30d679db3ca5145dc174f455636562d730bca990a0507a5e497b388b559d3a9e03bd84313284bfa27acb4031ab151c3
-AUX boto-2.49.0-py3-socket-binary.patch 2736 BLAKE2B b37879bf6ddf5e61df79cf482d8596e8aec42c929888f37a4fb8c4e1a47b8e12b89e26aa402cf90a768a159bef9daab1f2328a8fe5809fe343235ff9906fa411 SHA512 b89ec80242cbb10646d3c9995fa00438066569f77f39eccc7a8fd2a6d2b58977a9c252a8a4411438c7d89b69adcce28a9614f599488e53d3089722ddb1d6ea04
-AUX boto-2.49.0-py310.patch 1835 BLAKE2B 447ed20a244075e8e87ce72444fb6cac8199c4e70c470a3d50a5948737b23793858494e06849d86b9a0788ee1c5ff63205b3dd4149c29cf17c825be49ff82585 SHA512 4cac5c77e18b414de3a95405b12120ad314054c3838cd9eb8264bcd87e4a3fd09836a6157dbbf9f36c3bd36e667576d42583d48370b023b86695c51b033c842c
-AUX boto-2.49.0-py38.patch 2061 BLAKE2B a17cc48925216f333a12631051f177c9d91199eddcb5dd08c22a3c8381af743b0aeeb7cd5642bb030e951596ee98477abf1e7507a4bfabc9d36706e7809bf031 SHA512 ba42dee03c39cf238c6cb1864500f5d6c0fabcc395021cba8745c3e4fc4e59828eb7f461d5251367d37c4e0709162117e97aeabc08f941fe07c65f6b179244d8
-AUX boto-2.49.0-try-to-add-SNI-support-v3.patch 4727 BLAKE2B 197d4e6cc632e372faedac8812eb6dc250124555705d5b8d3b5ffe3718315043cf0bab5b9270d0dbd2ce333dbe074583cc7bd1f6057e324d13aea6f39e9b05e5 SHA512 0be17ce24149bfa02f6614fdc37b0e4c4018f78516348a6dc0f3d90f3e22405262a2ab61c36dd1fa6134d7cfdde422a5e06bbe855c6df5e5d7c77e0a9125f348
-AUX boto-2.49.0-unbundle-six.patch 1122 BLAKE2B bfaeaf7fea01e662d19caa6c040aaad9a2ce6544c105865a8b79255057d662c30478b6fb884b9a088f861c99a4d8399c0e503711e36e0581cbeeec3c5b2e1ba0 SHA512 7dd51b6a48f718475e18ac97584a508aee75b69dbfee9e91fa2955feec49cb1786662276a4519438cccc49b4d55a5d8536192bfe47a20a36a6a01f4bc3bfb9cc
-DIST boto-2.49.0.tar.gz 1478498 BLAKE2B 6a897ea162f5f4bd34a2d488a3e3897f7f2f5b8707dd0922c01b6a0b90ea577223bf3e588b6685bda1f2bc0e92af426711fcba67a70377183465a530065c6c84 SHA512 2175cf30cd25bbc05812e83e5ade7668c3e21b1bb09aa1b43f0f0ac7d6967a646394fb52c9be673ebb65618c5b33a52d6f31f6da702f5cd1d6c9a18169476dd4
-EBUILD boto-2.49.0-r6.ebuild 1584 BLAKE2B e22611b628e258a968b24049079106690584c24cd6389132bec9a4af0edd6d58a3c38cf5d882239e62f6c0e22705926e8c00882097b7ecc60ec20757d8d52079 SHA512 2ec4b832ad46a8f206cf9fb58f42715346d0a5d7ad9871d843a9142c71bb4a27dcb504db04f64d826f549c7d3fd8a9d7dc191ace4038b451337bfa22468cb300
-MISC metadata.xml 445 BLAKE2B 69850f4bbb872a5770f7e79319e071cc78d5b4433c534595698696ea0a3db20500191c21fdb01fba7cbb212b46bdb658381914e9e08df677526a693ba57bae14 SHA512 aa512a8964ad197d0257187db54815478207b0829132e36895cd2e66f47338c8f9f2f1e614ded361170ce780775c085f493332f79889bd352d40952350e14c09
diff --git a/dev-python/boto/boto-2.49.0-r6.ebuild b/dev-python/boto/boto-2.49.0-r6.ebuild
deleted file mode 100644
index 00502f5ae5de..000000000000
--- a/dev-python/boto/boto-2.49.0-r6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Amazon Web Services API"
-HOMEPAGE="https://github.com/boto/boto https://pypi.org/project/boto/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-PATCHES=(
- # taken from https://bugs.debian.org/909545
- "${FILESDIR}"/${P}-try-to-add-SNI-support-v3.patch
- "${FILESDIR}"/${P}-py38.patch
- "${FILESDIR}"/${P}-py3-socket-binary.patch
- "${FILESDIR}"/${P}-py3-httplib-strict.patch
- "${FILESDIR}"/${P}-py3-server-port.patch
- "${FILESDIR}"/${P}-unbundle-six.patch
- "${FILESDIR}"/${P}-py310.patch
- "${FILESDIR}"/${P}-mock-spec.patch
-)
-
-RDEPEND="
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/httpretty[${PYTHON_USEDEP}]
- dev-python/keyring[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # remove bundled libs.
- rm -f "${S}"/boto/vendored/six.py || die
- # broken, not worth fixing
- rm tests/unit/cloudfront/test_signed_urls.py || die
- # fix tests
- mkdir -p "${HOME}"/.ssh || die
- touch "${HOME}"/.ssh/known_hosts || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- distutils-r1_python_test tests/unit
-}
diff --git a/dev-python/boto/files/boto-2.49.0-mock-spec.patch b/dev-python/boto/files/boto-2.49.0-mock-spec.patch
deleted file mode 100644
index d8c8db2f1e9f..000000000000
--- a/dev-python/boto/files/boto-2.49.0-mock-spec.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur boto-2.49.0.orig/tests/unit/ec2/test_volume.py boto-2.49.0/tests/unit/ec2/test_volume.py
---- boto-2.49.0.orig/tests/unit/ec2/test_volume.py 2022-11-02 22:22:36.173725700 -0000
-+++ boto-2.49.0/tests/unit/ec2/test_volume.py 2022-11-02 22:24:26.502590025 -0000
-@@ -55,7 +55,7 @@
- @mock.patch("boto.resultset.ResultSet")
- def test_startElement_with_name_tagSet_calls_ResultSet(self, ResultSet, startElement):
- startElement.return_value = None
-- result_set = mock.Mock(ResultSet([("item", Tag)]))
-+ result_set = ResultSet([("item", Tag)])
- volume = Volume()
- volume.tags = result_set
- retval = volume.startElement("tagSet", None, None)
diff --git a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch b/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
deleted file mode 100644
index 209b01aa74a0..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://github.com/boto/boto/commit/4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c
-https://github.com/boto/boto/pull/2718
-
-From 4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c Mon Sep 17 00:00:00 2001
-From: Lee Ball <43632885+catleeball@users.noreply.github.com>
-Date: Mon, 10 Jun 2019 16:02:53 -0700
-Subject: [PATCH] Remove `strict=True` from http_client (#6)
-
-In Python 3.4, the `strict` kwarg was removed[1]. We are removing it
-here too.
-
-Alternatively, we can leave in `strict=True` for 2.x, but I chose to
-remove it entirely to maintain consistent behavior across versions.
-
-[1]: https://docs.python.org/3/library/http.client.html
----
- boto/connection.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index c731173bb4eb..54e26fb2de16 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -807,7 +807,7 @@ class AWSAuthConnection(object):
- sock.sendall(six.ensure_binary("\r\n"))
- else:
- sock.sendall(six.ensure_binary("\r\n"))
-- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
-+ resp = http_client.HTTPResponse(sock, debuglevel=self.debug)
- resp.begin()
-
- if resp.status != 200:
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch b/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
deleted file mode 100644
index 62e331921980..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-https://github.com/boto/boto/commit/b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63
-
-From b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63 Mon Sep 17 00:00:00 2001
-From: Matt Houglum <houglum@google.com>
-Date: Fri, 21 Jun 2019 15:09:11 -0700
-Subject: [PATCH] Make server_name() behave correctly for PY3
-
-...because Python-2.6-or-newer doesn't just include Python 2.6 and 2.7.
----
- boto/connection.py | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 54e26fb2de16..bbb25d8fb842 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -650,17 +650,13 @@ class AWSAuthConnection(object):
- if port == 80:
- signature_host = self.host
- else:
-- # This unfortunate little hack can be attributed to
-- # a difference in the 2.6 version of http_client. In old
-- # versions, it would append ":443" to the hostname sent
-- # in the Host header and so we needed to make sure we
-- # did the same when calculating the V2 signature. In 2.6
-- # (and higher!)
-- # it no longer does that. Hence, this kludge.
-- if ((ON_APP_ENGINE and sys.version[:3] == '2.5') or
-- sys.version[:3] in ('2.6', '2.7')) and port == 443:
-+ ver_int = sys.version_info[0] * 10 + sys.version_info[1]
-+ if port == 443 and ver_int >= 26: # Py >= 2.6
- signature_host = self.host
- else:
-+ # In versions < 2.6, Python's http_client would append ":443"
-+ # to the hostname sent in the Host header and so we needed to
-+ # make sure we did the same when calculating the V2 signature.
- signature_host = '%s:%d' % (self.host, port)
- return signature_host
-
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch b/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
deleted file mode 100644
index 1d109a3f4995..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://github.com/boto/boto/commit/d2cb697b32c297858ecc36701a5a4176818ab36d
-https://github.com/boto/boto/pull/2718
-https://github.com/boto/boto/pull/2893
-https://github.com/boto/boto/pull/3699
-
-From d2cb697b32c297858ecc36701a5a4176818ab36d Mon Sep 17 00:00:00 2001
-From: Cat Lee Ball <cball@google.com>
-Date: Mon, 10 Jun 2019 13:31:11 -0700
-Subject: [PATCH] Ensure binary strings sent to socket
-
-When running pre-release tests with proxied connections, it appeared a
-few spots in connection.py would fail under Python 3 since the
-socket.sendall method expects binary strings rather than unicode.
----
- boto/connection.py | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index a0d89a51f49c..d084d1f881fb 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -796,17 +796,17 @@ class AWSAuthConnection(object):
- else:
- sock = socket.create_connection((self.proxy, int(self.proxy_port)))
- boto.log.debug("Proxy connection: CONNECT %s HTTP/1.0\r\n", host)
-- sock.sendall("CONNECT %s HTTP/1.0\r\n" % host)
-- sock.sendall("User-Agent: %s\r\n" % UserAgent)
-+ sock.sendall(six.ensure_binary("CONNECT %s HTTP/1.0\r\n" % host))
-+ sock.sendall(six.ensure_binary("User-Agent: %s\r\n" % UserAgent))
- if self.proxy_user and self.proxy_pass:
- for k, v in self.get_proxy_auth_header().items():
-- sock.sendall("%s: %s\r\n" % (k, v))
-+ sock.sendall(six.ensure_binary("%s: %s\r\n" % (k, v)))
- # See discussion about this config option at
- # https://groups.google.com/forum/?fromgroups#!topic/boto-dev/teenFvOq2Cc
- if config.getbool('Boto', 'send_crlf_after_proxy_auth_headers', False):
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- else:
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
- resp.begin()
-
-@@ -814,9 +814,10 @@ class AWSAuthConnection(object):
- # Fake a socket error, use a code that make it obvious it hasn't
- # been generated by the socket library
- raise socket.error(-71,
-+ six.ensure_binary(
- "Error talking to HTTP proxy %s:%s: %s (%s)" %
- (self.proxy, self.proxy_port,
-- resp.status, resp.reason))
-+ resp.status, resp.reason)))
-
- # We can safely close the response, it duped the original socket
- resp.close()
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py310.patch b/dev-python/boto/files/boto-2.49.0-py310.patch
deleted file mode 100644
index 7b427f1f15e3..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py310.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/boto/dynamodb/types.py b/boto/dynamodb/types.py
-index d9aaaa4c..3f8d8601 100644
---- a/boto/dynamodb/types.py
-+++ b/boto/dynamodb/types.py
-@@ -27,7 +27,7 @@ Python types and vice-versa.
- import base64
- from decimal import (Decimal, DecimalException, Context,
- Clamped, Overflow, Inexact, Underflow, Rounded)
--from collections import Mapping
-+from collections.abc import Mapping
- from boto.dynamodb.exceptions import DynamoDBNumberError
- from boto.compat import filter, map, six, long_type
-
-diff --git a/boto/mws/connection.py b/boto/mws/connection.py
-index 687fae74..3a1f5f80 100644
---- a/boto/mws/connection.py
-+++ b/boto/mws/connection.py
-@@ -21,7 +21,7 @@
- import xml.sax
- import hashlib
- import string
--import collections
-+import collections.abc
- from boto.connection import AWSQueryConnection
- from boto.exception import BotoServerError
- import boto.mws.exception
-@@ -109,7 +109,7 @@ def http_body(field):
- def destructure_object(value, into, prefix, members=False):
- if isinstance(value, boto.mws.response.ResponseElement):
- destructure_object(value.__dict__, into, prefix, members=members)
-- elif isinstance(value, collections.Mapping):
-+ elif isinstance(value, collections.abc.Mapping):
- for name in value:
- if name.startswith('_'):
- continue
-@@ -117,7 +117,7 @@ def destructure_object(value, into, prefix, members=False):
- members=members)
- elif isinstance(value, six.string_types):
- into[prefix] = value
-- elif isinstance(value, collections.Iterable):
-+ elif isinstance(value, collections.abc.Iterable):
- for index, element in enumerate(value):
- suffix = (members and '.member.' or '.') + str(index + 1)
- destructure_object(element, into, prefix + suffix,
diff --git a/dev-python/boto/files/boto-2.49.0-py38.patch b/dev-python/boto/files/boto-2.49.0-py38.patch
deleted file mode 100644
index 0052c6e32e86..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py38.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/boto/ecs/item.py b/boto/ecs/item.py
-index 79177a31..292b05af 100644
---- a/boto/ecs/item.py
-+++ b/boto/ecs/item.py
-@@ -21,7 +21,7 @@
-
-
- import xml.sax
--import cgi
-+import html
- from boto.compat import six, StringIO
-
- class ResponseGroup(xml.sax.ContentHandler):
-@@ -67,7 +67,7 @@ class ResponseGroup(xml.sax.ContentHandler):
- return None
-
- def endElement(self, name, value, connection):
-- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;amp;", "&amp;"), name))
-+ self._xml.write("%s</%s>" % (html.escape(value).replace("&amp;amp;", "&amp;"), name))
- if len(self._nodepath) == 0:
- return
- obj = None
-diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
-index db15b56d..89d1a524 100644
---- a/tests/unit/utils/test_utils.py
-+++ b/tests/unit/utils/test_utils.py
-@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
- def hmac_hashfunc(cls, msg):
- if not isinstance(msg, bytes):
- msg = msg.encode('utf-8')
-- return hmac.new(b'mysecretkey', msg)
-+ return hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- class HMACPassword(Password):
- hashfunc = hmac_hashfunc
-@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
- password.set('foo')
-
- self.assertEquals(str(password),
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
- def test_constructor(self):
-- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
-+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- password = Password(hashfunc=hmac_hashfunc)
- password.set('foo')
- self.assertEquals(password.str,
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
-
- class TestPythonizeName(unittest.TestCase):
diff --git a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch b/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
deleted file mode 100644
index 11d346a2199e..000000000000
--- a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From f5e7f6c98b46ff622f60a4661ffc9ce07216d109 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Sat, 29 Sep 2018 21:47:11 +0200
-Subject: [PATCH] boto: try to add SNI support
-
-Add SNI support. Newer OpenSSL (with TLS1.3) fail to connect if the
-hostname is missing.
-
-Link: https://bugs.debian.org/bug=909545
-Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- boto/connection.py | 19 ++++++++++---------
- boto/https_connection.py | 22 +++++++++++-----------
- 2 files changed, 21 insertions(+), 20 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 34b428f101df7..b4867a7657465 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -778,8 +778,10 @@
-
- def proxy_ssl(self, host=None, port=None):
- if host and port:
-+ cert_host = host
- host = '%s:%d' % (host, port)
- else:
-+ cert_host = self.host
- host = '%s:%d' % (self.host, self.port)
- # Seems properly to use timeout for connect too
- timeout = self.http_connection_kwargs.get("timeout")
-@@ -824,23 +824,24 @@ DEFAULT_CA_CERTS_FILE = os.path.join(os.path.dirname(os.path.abspath(boto.cacert
- h = http_client.HTTPConnection(host)
-
- if self.https_validate_certificates and HAVE_HTTPS_CONNECTION:
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+
- msg = "wrapping ssl socket for proxied connection; "
- if self.ca_certificates_file:
- msg += "CA certificate file=%s" % self.ca_certificates_file
-+ context.load_verify_locations(cafile=self.ca_certificates_file)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
- key_file = self.http_connection_kwargs.get('key_file', None)
- cert_file = self.http_connection_kwargs.get('cert_file', None)
-- sslSock = ssl.wrap_socket(sock, keyfile=key_file,
-- certfile=cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certificates_file)
-- cert = sslSock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not https_connection.ValidateCertificateHostname(cert, hostname):
-- raise https_connection.InvalidCertificateException(
-- hostname, cert, 'hostname mismatch')
-+ if key_file:
-+ context.load_cert_chain(certfile=cert_file, keyfile=key_file)
-+
-+ sslSock = context.wrap_socket(sock, server_hostname=cert_host)
- else:
- # Fallback for old Python without ssl.wrap_socket
- if hasattr(http_client, 'ssl'):
-diff --git a/boto/https_connection.py b/boto/https_connection.py
-index ddc31a152292e..a5076f6f9b261 100644
---- a/boto/https_connection.py
-+++ b/boto/https_connection.py
-@@ -119,20 +119,20 @@ from boto.compat import six, http_client
- sock = socket.create_connection((self.host, self.port), self.timeout)
- else:
- sock = socket.create_connection((self.host, self.port))
-+
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+ if self.key_file:
-+ context.load_cert_chain(certfile=self.cert_file, keyfile=self.key_file)
-+
- msg = "wrapping ssl socket; "
- if self.ca_certs:
- msg += "CA certificate file=%s" % self.ca_certs
-+ context.load_verify_locations(cafile=self.ca_certs)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
-- self.sock = ssl.wrap_socket(sock, keyfile=self.key_file,
-- certfile=self.cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certs)
-- cert = self.sock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not ValidateCertificateHostname(cert, hostname):
-- raise InvalidCertificateException(hostname,
-- cert,
-- 'remote hostname "%s" does not match '
-- 'certificate' % hostname)
-+
-+ self.sock = context.wrap_socket(sock, server_hostname=self.host)
---
-2.19.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch b/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
deleted file mode 100644
index 188dae7eb6fd..000000000000
--- a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-use the system copy of six
-
---- a/boto/compat.py
-+++ b/boto/compat.py
-@@ -46,16 +46,16 @@ except (AttributeError, ImportError):
- # This is probably running on App Engine.
- expanduser = (lambda x: x)
-
--from boto.vendored import six
-+import six
-
--from boto.vendored.six import BytesIO, StringIO
--from boto.vendored.six.moves import filter, http_client, map, _thread, \
-+from six import BytesIO, StringIO
-+from six.moves import filter, http_client, map, _thread, \
- urllib, zip
--from boto.vendored.six.moves.queue import Queue
--from boto.vendored.six.moves.urllib.parse import parse_qs, quote, unquote, \
-+from six.moves.queue import Queue
-+from six.moves.urllib.parse import parse_qs, quote, unquote, \
- urlparse, urlsplit
--from boto.vendored.six.moves.urllib.parse import unquote_plus
--from boto.vendored.six.moves.urllib.request import urlopen
-+from six.moves.urllib.parse import unquote_plus
-+from six.moves.urllib.request import urlopen
-
- if six.PY3:
- # StandardError was removed, so use the base exception type instead
diff --git a/dev-python/boto/metadata.xml b/dev-python/boto/metadata.xml
deleted file mode 100644
index 3ab9e0b0a8a3..000000000000
--- a/dev-python/boto/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="google-code">boto</remote-id>
- <remote-id type="pypi">boto</remote-id>
- <remote-id type="github">boto/boto</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/bsddb3/Manifest b/dev-python/bsddb3/Manifest
deleted file mode 100644
index 613acbb8d520..000000000000
--- a/dev-python/bsddb3/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST bsddb3-6.2.9-fix-py3.10.patch.gz 3153 BLAKE2B dfdd00e90c683557bafe7d5f0d5c9a6f944fb8495bf1baef8857f6e771cef58c8e5feac9b3d345ebf6403ba73ceaa7f9077f221ad6bad9916b756e6605b30d3d SHA512 3c6157110c94b842811301f4e48c0f1690d9c75379abe7a04bf76f7136d25decbf79673ca2940c5dbb97802acc8c7a9312a24a79e7dfcc3971f9dc250353d732
-DIST bsddb3-6.2.9.tar.gz 230475 BLAKE2B 68c7c498d581dd5ca860060a3152f7ae135bbc75d00714764446d071e8ea88d303a73d1aa411db1ff8fc922aa6d486632fe38bef3596550150ed511a97fc9c9c SHA512 9e878ef865cba608fafe4274b660234927b9106323c3e4ddd728682b0f11b3c7edb9a3dd56cdfe8665eba890df4121695c9710b95bb2f43b8a0be3ec4050f61e
-EBUILD bsddb3-6.2.9-r1.ebuild 1663 BLAKE2B 166926bd7bcce0f5ce5351e2266a80cd648b91ee500e6700415d5458a726fb0d9de2cc716d811e4a03ffd08f458ecc92cc3a95f4ced6463550e0cbd40e808701 SHA512 f4b8085f993183c11c23a795d374717b82364b44193a12a960d29e8e0eb1fb0e99cc1d82265174ca7c4485ef1febfce026fb65c0c5b9fbdf078352ac8ad8fe49
-MISC metadata.xml 310 BLAKE2B 060fc4b0a3a1821d830a1a5f8aa85e6c3485a8e9495f6dc53a9e0f79e2365249b84c2b5d3d92f9023c5ff6a6292d2a556cbf9706d652a7d33fddfc6cd929987d SHA512 4be1100a09d494b8ff85902a0352180ee978627cabd047c01a999b49f4ab2120050a9c4ce0e254df346dbb2ec78e2fce16b8664d755938a57e28bb16decaf5a6
diff --git a/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild b/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild
deleted file mode 100644
index 0557a01edbe9..000000000000
--- a/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit db-use distutils-r1 pypi
-
-DESCRIPTION="Python bindings for Berkeley DB"
-HOMEPAGE="https://www.jcea.es/programacion/pybsddb.htm https://pypi.org/project/bsddb3/"
-SRC_URI+=" https://dev.gentoo.org/~arthurzam/patches/dev-python/${P}-fix-py3.10.patch.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <sys-libs/db-6.1:=
- || (
- sys-libs/db:5.3
- sys-libs/db:4.8
- )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${WORKDIR}/${P}-fix-py3.10.patch"
-)
-
-python_prepare_all() {
- # This list should be kept in sync with setup.py.
- if [[ -z ${DB_VER} ]]; then
- for DB_VER in 5.3 4.8; do
- has_version "sys-libs/db:${DB_VER}" && break
- done
- fi
-
- # Force version.
- sed -e "s/db_ver = None/db_ver = (${DB_VER%.*}, ${DB_VER#*.})/" \
- -e "s/dblib = 'db'/dblib = '$(db_libname ${DB_VER})'/" \
- -i setup2.py setup3.py || die
-
- # Adjust test.py to look in build/lib.
- sed -e "s/'lib.%s' % PLAT_SPEC/'lib'/" \
- -i test2.py test3.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # These are needed for both build and install.
- export BERKELEYDB_DIR="${EPREFIX}/usr"
- export BERKELEYDB_INCDIR="$(db_includedir ${DB_VER})"
- export BERKELEYDB_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION=1
-}
-
-python_test() {
- PYTHONPATH=Lib3 "${EPYTHON}" test3.py -vv || die "Testing failed with ${EPYTHON}"
-}
diff --git a/dev-python/bsddb3/metadata.xml b/dev-python/bsddb3/metadata.xml
deleted file mode 100644
index b754d39265ed..000000000000
--- a/dev-python/bsddb3/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">bsddb3</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/debugpy/Manifest b/dev-python/debugpy/Manifest
deleted file mode 100644
index 213a27af3796..000000000000
--- a/dev-python/debugpy/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-AUX debugpy-1.6.6-unbundle-pydevd.patch 2531 BLAKE2B c7cf5cc10a75393b191ab3ecd3137b2d4df30a0611b76fd18bf1822aa61c06ec912358afe6da420c1ace3314e12b57079cadb0deebeb19fc3242f75f7ef5860a SHA512 98d6557c516617273a1a75c5269733f02d55754078ba9a5137f9abdcddc58275a7ea451f290ecf809003abc614b0865d235a8b712caec71e3811911a4f231448
-AUX debugpy-1.8.0-unbundle-pydevd.patch 1480 BLAKE2B 6694cbb68e8e5793f22fedc9351875810c86c1add4299bbb5360dedc24bcbdbb0128163cc11dab3effc611dbe5ef43ea45e9504914f6c55f4f66b76b9da0b804 SHA512 553ce357019e561e50770bf747adc33ac037cf5aa9fc08c44ce9c1cb87ecba28b7c632adb5b743c38067c1bb6b97f1d239ad8dee404332bc8028be44afd018ce
-DIST debugpy-1.6.6.gh.tar.gz 6942488 BLAKE2B 18c6eee2322239e5cbbacf9431fa7480abcf14a68f290d2228edc8b2ead042e7b09d19ee5bcc60be32e8a6b0b34b925eaa8246991298744f3ca74d4ed2ea3f3e SHA512 1a209bfd702d5f0649ce50b0910023e295953dd39cefdefb0b5af1d6023e629a727610789cd244e656bdf4276cee957fa463506ddaca603ab3ee85cc250dc212
-DIST debugpy-1.8.0.gh.tar.gz 6760323 BLAKE2B 99c4188c0b0383dc4dcbdd86c4d35e6eb973ca32ba56b757adea9668b161f20f17b436e0dc019790b1e85586387fc848712143c5e3d3814e2522850d97a4048e SHA512 f9e47371ca854c12811d1c0984f063b1ad5cac2bea769f91a67f9fa125cfcbeccbecafca9b9d5ea16a4ed8a1c123f34db3ba19efe1567b93a86cbd325239b355
-EBUILD debugpy-1.6.6.ebuild 1145 BLAKE2B c9fab7600289a7c493412da331daf21d570536187d44ee0f9985a7007393413643e1a28f51e71f22430b58646140cc08aea05eaf227fd47cb22e50ba7affad07 SHA512 a80aea8f84167cfbc8a54dcb183f7ce71cba4e6ab288351223c83820aaa68a0f60d56f97cbe5499163712130ea3689d6bb8b0de3b009f829a5fc61be3c0e979c
-EBUILD debugpy-1.8.0.ebuild 1978 BLAKE2B 6c9a21a7cf8b76aaa82efe3f7a9f367858458338e2b93cb1f85885e65f6d71f720272729b05431eb035dd0932e4b48d702dd98eea334de901c86b36961635d88 SHA512 84457bb3da5f1240e38aa341d72cdd024013120ee9990de08c4e4587ecc1a650c35c9a9b6d6992e4d6ab8d739f65240476f2d9e1cdaa07c03f4690d017c568d5
-MISC metadata.xml 508 BLAKE2B f5af1472be02222c1eb89246c4c4b782aaf5de8dd785aa983bbee6df69982b96c276310480a7ffbf2ac0105268507474d3b0823fc9e0bff89acfe648a2cc490f SHA512 d4697748bc79f4c684dd3bf58e52b211e8ba7816041840e705b896f2731a1a0518a01d7b7cca5e441bbc88e6eb272175c26681517873883068c4fe1bc864c09b
diff --git a/dev-python/debugpy/debugpy-1.6.6.ebuild b/dev-python/debugpy/debugpy-1.6.6.ebuild
deleted file mode 100644
index 1d59edda4b4d..000000000000
--- a/dev-python/debugpy/debugpy-1.6.6.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="An implementation of the Debug Adapter Protocol for Python"
-HOMEPAGE="https://github.com/microsoft/debugpy/ https://pypi.org/project/debugpy/"
-SRC_URI="
- https://github.com/microsoft/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# This is completely broken
-RESTRICT="test"
-
-RDEPEND="dev-python/pydevd[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pytest-timeout[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.6.6-unbundle-pydevd.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Drop unnecessary and unrecognized option
- # __main__.py: error: unrecognized arguments: -n8
- # Do not timeout
- sed -e '/addopts/d' -e '/timeout/d' -i pytest.ini || die
-
- # Unbundle dev-python/pydevd
- rm -r src/debugpy/_vendored tests/tests/test_vendoring.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/debugpy/debugpy-1.8.0.ebuild b/dev-python/debugpy/debugpy-1.8.0.ebuild
deleted file mode 100644
index 71f66c164616..000000000000
--- a/dev-python/debugpy/debugpy-1.8.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="An implementation of the Debug Adapter Protocol for Python"
-HOMEPAGE="
- https://github.com/microsoft/debugpy/
- https://pypi.org/project/debugpy/
-"
-SRC_URI="
- https://github.com/microsoft/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/pydevd[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Unbundle dev-python/pydevd
- rm -r src/debugpy/_vendored/pydevd || die
- local PATCHES=(
- "${FILESDIR}/${PN}-1.8.0-unbundle-pydevd.patch"
- )
-
- # Drop unnecessary and unrecognized option
- # __main__.py: error: unrecognized arguments: -n8
- # Do not timeout
- sed -e '/addopts/d' -e '/timeout/d' -i pytest.ini || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- tests/debugpy/test_gevent.py::test_gevent
- tests/debugpy/test_run.py::test_custom_python_args
- tests/tests/test_timeline.py::test_occurrences
- # TODO: random regressions
- tests/debugpy/test_flask.py::test_flask_breakpoint_multiproc
- tests/debugpy/test_exception.py::test_raise_exception_options
- tests/debugpy/test_exception.py::test_vsc_exception_options_raise_without_except
- )
- local EPYTEST_IGNORE=(
- tests/tests/test_vendoring.py
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/debugpy/test_flask.py
- )
- ;;
- esac
-
- epytest -p timeout -p xdist -n "$(makeopts_jobs)" --dist=worksteal \
- -k "not attach_pid"
-}
diff --git a/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch
deleted file mode 100644
index d285775c9246..000000000000
--- a/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 9a79e55..8725d19 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -8,7 +8,6 @@ exclude = '''
- ( __pycache__
- | ^/.tox
- | ^/versioneer.py
--| ^/src/debugpy/_vendored
- | ^/src/debugpy/_version.py
- )
- '''
-diff --git a/setup.py b/setup.py
-index 3abc811..c11924c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,10 @@ del sys.path[0]
-
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
- import debugpy
--import debugpy._vendored
-
- del sys.path[0]
-
-
--PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
- DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
-
-
-@@ -146,8 +144,6 @@ if __name__ == "__main__":
- extras["platforms"] = platforms
-
- cmds = versioneer.get_cmdclass()
-- override_build(cmds)
-- override_build_py(cmds)
-
- setuptools.setup(
- name="debugpy",
-@@ -183,14 +179,9 @@ if __name__ == "__main__":
- "debugpy.common",
- "debugpy.launcher",
- "debugpy.server",
-- "debugpy._vendored",
- ],
- package_data={
- "debugpy": ["ThirdPartyNotices.txt"],
-- "debugpy._vendored": [
-- # pydevd extensions must be built before this list can be computed properly,
-- # so it is populated in the overridden build_py.finalize_options().
-- ],
- },
- ext_modules=ExtModules(),
- has_ext_modules=lambda: True,
-diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
-index 42d5367..e333dcf 100644
---- a/src/debugpy/server/__init__.py
-+++ b/src/debugpy/server/__init__.py
-@@ -1,7 +1,3 @@
- # Copyright (c) Microsoft Corporation. All rights reserved.
- # Licensed under the MIT License. See LICENSE in the project root
- # for license information.
--
--# "force_pydevd" must be imported first to ensure (via side effects)
--# that the debugpy-vendored copy of pydevd gets used.
--import debugpy._vendored.force_pydevd # noqa
-diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
-index a8df6e1..a29a969 100644
---- a/src/debugpy/server/attach_pid_injected.py
-+++ b/src/debugpy/server/attach_pid_injected.py
-@@ -31,7 +31,6 @@ def attach(setup):
- pydevd_attach_to_process_path = os.path.join(
- _debugpy_dir,
- "debugpy",
-- "_vendored",
- "pydevd",
- "pydevd_attach_to_process",
- )
diff --git a/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch
deleted file mode 100644
index 54ccdae4ca01..000000000000
--- a/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 0bb4f00..abfce1c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,10 @@ del sys.path[0]
-
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
- import debugpy
--import debugpy._vendored
-
- del sys.path[0]
-
-
--PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
- DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
-
-
-@@ -146,8 +144,6 @@ if __name__ == "__main__":
- extras["platforms"] = platforms
-
- cmds = versioneer.get_cmdclass()
-- override_build(cmds)
-- override_build_py(cmds)
-
- setuptools.setup(
- name="debugpy",
-diff --git a/src/debugpy/_vendored/force_pydevd.py b/src/debugpy/_vendored/force_pydevd.py
-index cfd8927..0cb1bca 100644
---- a/src/debugpy/_vendored/force_pydevd.py
-+++ b/src/debugpy/_vendored/force_pydevd.py
-@@ -8,15 +8,6 @@ import warnings
-
- from . import check_modules, prefix_matcher, preimport, vendored
-
--# Ensure that pydevd is our vendored copy.
--_unvendored, _ = check_modules('pydevd',
-- prefix_matcher('pydev', '_pydev'))
--if _unvendored:
-- _unvendored = sorted(_unvendored.values())
-- msg = 'incompatible copy of pydevd already imported'
-- # raise ImportError(msg)
-- warnings.warn(msg + ':\n {}'.format('\n '.join(_unvendored)))
--
- # If debugpy logging is enabled, enable it for pydevd as well
- if "DEBUGPY_LOG_DIR" in os.environ:
- os.environ[str("PYDEVD_DEBUG")] = str("True")
diff --git a/dev-python/debugpy/metadata.xml b/dev-python/debugpy/metadata.xml
deleted file mode 100644
index a6c53f2a9008..000000000000
--- a/dev-python/debugpy/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">debugpy</remote-id>
- <remote-id type="github">microsoft/debugpy</remote-id>
- <maintainer status="unknown">
- <email>ptvshelp@microsoft.com</email>
- <name>Microsoft Corporation</name>
- </maintainer>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/elastic-transport/Manifest b/dev-python/elastic-transport/Manifest
index 2dd24ba4315c..7f04f3e05e7a 100644
--- a/dev-python/elastic-transport/Manifest
+++ b/dev-python/elastic-transport/Manifest
@@ -1,3 +1,5 @@
DIST elastic-transport-python-8.12.0.gh.tar.gz 72207 BLAKE2B 7777484c965eb893cd7d2cba1d39c2b33a005e7f6d6b3c12dd1cd0fb4e5c396abf36686421817ba1272e814ffef299453c885a6dcc3efe5cacd753bcd621384e SHA512 45834ccb4793d7aa7c7d1774ef26381b7ff0cf69221cc628efeb63a7ff8b163a68ff7f0ef4fa3a2b5ffd45e9374441d8b61b8a9b900f9055ddd67425cf0d727a
+DIST elastic-transport-python-8.13.0.gh.tar.gz 75950 BLAKE2B 5a62d28ece9570d8fc4fff30cf04f88e7e138276054bb191c883c156995effcb750aef874836e5fb32cecedf79641f8faa08ab2e3c74bf5d0c2ba950f490ffb8 SHA512 65239951d56efa4273b8023cf4caa04f44196d0f9bcad91fe5376139adbd669d76a9c0e673f8eec23aadf107fea315216ecf95064acfa5eeb769ca3b92885fb6
EBUILD elastic-transport-8.12.0.ebuild 1603 BLAKE2B 95871fe70ab33e20550de8a46d4aac28f638b583f3f781653930b49d3ecd1d51ae6430de7a92e1a1bf558ea12be8c66b92447e21701077687832b64f2c4475ff SHA512 2537e2e34fc88ffd49a96e02057b2cb9a118e2e4a1d02a71e78efddcab45ba8e96b08674bb1166af282fb5fe1ca575837bc7981327a2be4fc6f73f69e45e8c01
+EBUILD elastic-transport-8.13.0.ebuild 1820 BLAKE2B afca69427409085051b83f698814ae1e7cf1bdd13eb2c733a833c58b01be3bda46fcc3d5fdb86a2da3a90504a383b9277cdb236e142533a5868483909584d8b1 SHA512 5d1dfa953ccd505473a1ff42602a974ab217ce8a5b91e3af58372ef2e3f0ad96d3bb67f5502c876ee609b309ee3f19cf74f033eaa966e65c17f69ea47ac7beb5
MISC metadata.xml 658 BLAKE2B 7ba1da27d590421cdd7a24d01d38771b27ae65f09521e39bc84e691f3e587a3bccabcdd297350166e00324ca482dd0459e8213ed578d81f9e93469fd3efec48d SHA512 c39cf837ff098fb09c25d1933f43c0f20e1b2b5ae4e1bb5aa172aac43f8f36ea80437e3e59909b0c51d0f8301853bdb6b5dbd7f3498502baa8936939bc0210d8
diff --git a/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild b/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild
new file mode 100644
index 000000000000..929ad572fafa
--- /dev/null
+++ b/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=elastic-transport-python-${PV}
+DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
+HOMEPAGE="
+ https://github.com/elastic/elastic-transport-python/
+ https://pypi.org/project/elastic-transport/
+"
+SRC_URI="
+ https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/orjson[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/respx[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/furo \
+ dev-python/sphinx-autodoc-typehints
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:, *<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to random warnings
+ tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
+ tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -o addopts=
+}
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index 488c4b6527f5..a4b73f4e1bda 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1,3 +1,5 @@
DIST elasticsearch-py-8.12.1.gh.tar.gz 909340 BLAKE2B 3c5823ccdfa291406b53cbee9d85d65703eb4bc91cf1e244afd1da355c6ed034c8c5f1eca0fca2a3497f2b49c20545f2dfbea8fd4944fe0a8933a753edbd02a2 SHA512 51206fd4dace033a698dc7c40a568f81d622b6d54c7f930a3bbbd719347dea656f82f04ab517a688d5c0fe835d73d4a041ff1945a2fa530c71a7c7c9621c9b00
+DIST elasticsearch-py-8.13.0.gh.tar.gz 1052777 BLAKE2B 90d6677fe40a635f33e37b4da90c0d8c6d3cde10a815932ee91b5e411162322edc22d13fe231b5d514f350a2b448ce1722e75426b5b5e08b711f3193d2963453 SHA512 fee1ba95d65be424f4ffeb65898bbafd5860358864d9706c82be663139e4543bce54c57bb21188c5ab6cdf5e15323cb1698bfb17715a7be38f844d3781840c97
EBUILD elasticsearch-8.12.1.ebuild 2075 BLAKE2B 65b527a55e30801a4d8629804a18e471a97fd2ff422d6c960dd7f88d12caa0aa5a6183edaaf34221f70ed2d703eeacd979fa3e8129a566050dddb6ef9dd11976 SHA512 f44d386eaa2d5024fb3015e3ab636da1b9debd4cb1ecdb43290fcc9114d511dfc959418ac8830a07eeb7357cc30abe1413594745a044262e4e5147506e9fdb20
+EBUILD elasticsearch-8.13.0.ebuild 2234 BLAKE2B 8d68a560c4aef82649f3f945b3df9377ccb72fc29c17230d0ab3427816bdb38e15d73eb4e429c481f53277d7dfd1b91eb3a68ad5a2601d1362b8660c94c97e5d SHA512 fde71181bedef7458026d26b01cae5f774e33c9bbe519744efc198bbd58c4f541789a83a26a233246b7d47336229b1ef72299424dadefc31ad0ee7faf3928da5
MISC metadata.xml 617 BLAKE2B f87827e173c4284a6ac830c48f92384140ad388a1c35562e5522ffc7fa654a9fc1eca14fd55b4365aec7ecbe1ca54f1a58772e240f09c3a56aaf25114b807cae SHA512 dc52446e828b8506e5144fb77e2bf5f761afeed8dda67c1aa72f0f67a3df838712d3deceba12c434b2d53923130e55ba6a71086ec289d90d5577cb5950b46999
diff --git a/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild
new file mode 100644
index 000000000000..f9fe86ba320f
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py/
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="
+ https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
+ <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8.13[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests
+ # so its an ever moving target. It also requires effort to blacklist
+ # tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even
+ # if all are fixed in this package. Not worth it.
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it
+ # as well.
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+)
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local -x TEST_WITH_OTEL=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/fb-re2/Manifest b/dev-python/fb-re2/Manifest
deleted file mode 100644
index fca739a41e84..000000000000
--- a/dev-python/fb-re2/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST pyre2-1.0.7.gh.tar.gz 11684 BLAKE2B 748a409aa56dab0e088961bdd0b8659dfe0ed817ed1f6fe1dce15fd03e32b30472776c4e21a4f39e66aa5b3539650a657c36acf8b857332b255a139ef0f890a9 SHA512 c4579bf73af2f0a5ccbb6a28b87ce777ef08199947c1bdf740b426960f41b3530c97a7158fac7768b51c92b8a3797f8e66de61e0c942f239920bd5397d63e2c4
-EBUILD fb-re2-1.0.7-r1.ebuild 794 BLAKE2B 348d5b9d6f457083f1ce5b7b6bfcb45a57759546b1ec24eb70adf9e8c6e0c226011383f1b631c88403f0e833b7ddc269cfdb02ea79fccfb96dfda4537b17d9e0 SHA512 b7021e02985133e10cfd21befeb2de5af7cf2b8a05fe34f43bce5b17f9153218388465eb367497470fd3d6847c6f9cec31fda78e35614ce8f59e2511c51601db
-MISC metadata.xml 478 BLAKE2B f2283b1a19187b55a685f3fdeaa453b04f15b33318665383d5e082ec33e474647bc57610abfeda670736eca6108edcc167efb88e245372ffee938c6a9eb64685 SHA512 de5f466c3d94a98777ce707cfc4d169213d537e908ab54c290a3ad3edbd4abd4e869db259e38fbc9e475d1581a161766aa1590cd6b30b4807c36b7b20c4a8190
diff --git a/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild b/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild
deleted file mode 100644
index 31d33cd6b0eb..000000000000
--- a/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=pyre2-${PV}
-DESCRIPTION="Python bindings for dev-libs/re2"
-HOMEPAGE="
- https://github.com/facebook/pyre2/
- https://pypi.org/project/fb-re2/
-"
-SRC_URI="
- https://github.com/facebook/pyre2/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-libs/re2:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # py3.12
- # https://github.com/facebook/pyre2/pull/26
- sed -e 's:assertRaisesRegexp:assertRaisesRegex:' \
- -i tests/test_match.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/fb-re2/metadata.xml b/dev-python/fb-re2/metadata.xml
deleted file mode 100644
index 02411b37bc6a..000000000000
--- a/dev-python/fb-re2/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">fb-re2</remote-id>
- <remote-id type="github">facebook/pyre2</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-gravatar/Manifest b/dev-python/flask-gravatar/Manifest
deleted file mode 100644
index 03e173a9af56..000000000000
--- a/dev-python/flask-gravatar/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST Flask-Gravatar-0.5.0.tar.gz 17299 BLAKE2B 7dc16c609cdfbf690a39fbb3bd2810398030bd5c7a54394468902dd131116509da8de448a55907e4738fc984ef422f3c7970b8453b27971eadb106cbb8648562 SHA512 bb4ff064489a030fd763a46fc045109104535474d115aaabdf5c4d1a82a1e3303ee34f590a3f1203a9d009307fc8c45c37af7c30e76a4fb10bc46dd684d37751
-EBUILD flask-gravatar-0.5.0-r2.ebuild 809 BLAKE2B fd0519f2ddf88bffe18cd1194036132a7298c88cd01ac5192e3609c1b394ce44e0f30c63f9900b2a5883bd1bb6e0b3e9933c353e3b27d22d7bc1c861e63f0336 SHA512 e05bb73728c8e20acf73c1532a729ab34d146e1153cb9406f09e57968a47bdbd62b78a17d9e660277e4b82c7f0f96b971f5e252b3d91a8621329c254be6722ad
-MISC metadata.xml 519 BLAKE2B 789e80f12265b3fa1380ee6be57f9ab8cd76bf92eef8e484845f1c2c855f0795d52bf190a66d68b5105236ca469eee526e6c5d0c76eea59752f8d2b200b3aef9 SHA512 69966562ebc6020fff360d783a9a9da4bf5d6ef1d43e288b3c6541496b3681a3c83736f34072e13f2ca821bcb4d00b20b07b41b1329c1ca139219e3d1aeffed4
diff --git a/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild b/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild
deleted file mode 100644
index 95e8deca89d9..000000000000
--- a/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="Flask-Gravatar"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Small extension for Flask to make usage of Gravatar service easy"
-HOMEPAGE="
- https://github.com/zzzsochi/Flask-Gravatar/
- https://pypi.org/project/Flask-Gravatar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- <dev-python/flask-3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/pytest-runner/d' setup.py || die
- sed -e 's:--pep8::' \
- -e 's:--cov=flask_gravatar --cov-report=term-missing::' \
- -i pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/flask-paginate/Manifest b/dev-python/flask-paginate/Manifest
index 7af7690b6b79..bf8acfb90e32 100644
--- a/dev-python/flask-paginate/Manifest
+++ b/dev-python/flask-paginate/Manifest
@@ -1,3 +1,5 @@
DIST flask-paginate-2023.10.24.gh.tar.gz 121423 BLAKE2B 100cad03bb015fd5aba26faeaa1d9a62489b85cc0bf36176507af206bb01bdadae3c53802b53483d1482250ab4f0004c9800c61c8c210966b59b1339894d43d5 SHA512 9673698e394f9e11d56dec1a8a57310a963cd15f2fa4784d92e5a8af5d9fbe8e4b59bbd7e34e4e50a38c3ddc936222c19497ddcc233564c4a6aa61c83cd78efa
+DIST flask-paginate-2024.3.28.gh.tar.gz 121638 BLAKE2B 55fe7570a84e5cce0c2e071bf2c5ef2ad8271f69aef7f8ec6bf1bfcbc4608e0498570907c22e01aaf961a6b75e698261b1931521b886c7e2e891a3539c6c91a0 SHA512 31cb4aacdbfbb50c0aced5aeb46c5bbaf25ee2e323ab321f8b1cd8d258b8cef1aa07e30e3b2bd1673662de0aced1f7d5c914ce2b9dbb54072a71ca7a8019d99f
EBUILD flask-paginate-2023.10.24.ebuild 661 BLAKE2B 55367dd46c8342ad7d624e482304fa5a05e878ff7e0089d1142273fd9eea703758521ec816d99a912945be52d18535b07ed184994f529694917e76f67611eec4 SHA512 f53a6655b8a4dcf3832dec529436692270b29affac5b7b0617c634222c514706ac6725c2b3a8d6d30b5c5bea49c9e0b5210a91ccf7b7a707b36296dc9ce4f2a4
+EBUILD flask-paginate-2024.3.28.ebuild 661 BLAKE2B 72f64e3ea267a91764bdc56fd6f4af5789fa1dec5a2a326ebec7ecbaa7e309009377128dff1637fb9172d61de226a9342c5a3b37b046030892570c05a4685b82 SHA512 fb38f421d18d6eeefecb6786e290874c8af8f8dc0106dff49fe8438eb8cac06e3b35ce7d0dc673df123f634d955e72b14dd94e98f0da6fbf8e7aafdc69f33bc7
MISC metadata.xml 659 BLAKE2B aa9bb930f20057e07df9b82804e8638b99f63e0773c11408617bc1c3c09f0cf8ce1d3383bbf577c42baa0149c271ddc8da113d5a31056e8ad41d4ac8ec4b64eb SHA512 660aba4453bb417b9a54dcf0b190ae16599c00203a19b4c53615b972595e223fb2f6ce8da6f097b34a5408c4cfe09b2a02a2ad19928352acbc8a4ee53b822a41
diff --git a/dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild b/dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild
new file mode 100644
index 000000000000..e76b6ec74b90
--- /dev/null
+++ b/dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pagination support for flask"
+HOMEPAGE="
+ https://flask-paginate.readthedocs.io/
+ https://github.com/lixxu/flask-paginate/
+ https://pypi.org/project/flask-paginate/
+"
+SRC_URI="
+ https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests/tests.py
+}
diff --git a/dev-python/irc/Manifest b/dev-python/irc/Manifest
index 1aeaaf8a9940..e6edd2bd32a7 100644
--- a/dev-python/irc/Manifest
+++ b/dev-python/irc/Manifest
@@ -1,3 +1,5 @@
DIST irc-20.3.1.tar.gz 91115 BLAKE2B f2d89ee1a31edd163d3921f01e47ff865198a6cccf0efefe0a6a8ade2038dad91864f89756a4aaef578b85d57415cf6bda9f307250ead939d66e9fa0525d94bd SHA512 b8ecc313907c006d2dbf493e216a78d73e49e63a5c48f5672a4b33f0432a66e6c411b7807094f582a6be2d421bd020b2c7304cfbdcccfaeda046df4c370e1ba3
+DIST irc-20.4.0.tar.gz 91215 BLAKE2B 39244605b7ad47d4fd9c22b4040f14ad46ec79c339e1ffd8451fad04a3d2b7c4945d8474f4c9c9cf3c620cfc3b0298123ba21844849d5070cc85993f46997025 SHA512 ff75593cf9606c724232517c8340beb115ceda254acb5989c043bd0653f215b928b663570c98c27b845cc7431ea142514c85968e3e3b9bda0406ce799a2b1d2e
EBUILD irc-20.3.1.ebuild 1083 BLAKE2B aecc1bb79a23d33f01fc484b814a5a6026f723ded604e190ac4248e99678c91ba4b053592f3d4e4ecd5f6e7af019d4104d65a83323d7410db758cd74e677552f SHA512 f58bc9d647b328703e6fd323c7ec70cf39940a06898af7e488660e6d0684af707d7f1684e90783ba49f70a563d9eaf0cf17b777cf4983912d2da696a9a12d910
+EBUILD irc-20.4.0.ebuild 1086 BLAKE2B 2db3e4d9000497f2809163dbd99e5721b193e4a7ac1979af8ad41e6c2f043b15230604f4bd1af6e2b182e1012ea44b44b0934046f885dbf4a4e079b4ca8c934b SHA512 9ed879778bd77d2832aab50454ccacbce832ff2a1fac4fa33b6f15329bc1863e59357907fabb764457d5b52b8efc3b3babce55e67f3f17a13e1ae27e261b09cf
MISC metadata.xml 737 BLAKE2B 403cd376ce9a723ab2052f9a2622ab29fa48350a68ff9e51dd7d73b295aa90357b110a96644ad3cf1dee8381176a2a44d2576687b5764faf873408431b0752eb SHA512 351d9c81ba9516dbe1738d5130abb6250ccf47f4a518443823e918c0105cd8873595fb9b5016d82704639b1d690cf702ed75f24cb82b4f43a1efe2f659cdbee8
diff --git a/dev-python/irc/irc-20.4.0.ebuild b/dev-python/irc/irc-20.4.0.ebuild
new file mode 100644
index 000000000000..e4bd5bdf4e88
--- /dev/null
+++ b/dev-python/irc/irc-20.4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-itertools-1.8[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index 628508319919..dfb178b7f4b6 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1,7 +1,10 @@
AUX lxml-5.1.0-pypy.patch 6885 BLAKE2B 132f2b9037c662f41fd55a0846ac211a6a54a7ac0d976aee815f4dfc787636da2c479f1cd7b2152ad3bbd47fd12e1c0307188f94f8a0c86789d7a84910e46c58 SHA512 4a10ac07626cc69c64ca87ac6c63b03fb1d05631bd7433fac6eca5c46ed896be5d8bc0598d833d6a117adf88d537d8b7b07adbff0457e168def4d6139f11ac9f
+AUX lxml-5.1.1-pypy.patch 6414 BLAKE2B 367cb47fe9466a1f0035fc26884cc55109b2dd69291993f7f2711a943023e5d2b3436f26c879126b4df1b50f0829845fb312eaae6f3bc40cb083a62c6504dc54 SHA512 b95790c42023a296f2eee06b93b381d74e2b7742eb833c22a8a98888cbbadd84032295bdc880c7df98e7ca7aeb8b66c6114e902cdeba0910a91dd8a46269e470
DIST lxml-4.9.3-patches-2.tar.xz 24288 BLAKE2B 47b7c486a1c1616c875111bd53b14d4211a1eee3f412985f4022e71b85b087abd71d36919fb025257f17de404329284898ddc639f85e8b15ade21778fa218d98 SHA512 713172b4c907db6479a0a803a842824825b212a9b645c1ca356f793658bd6c63113ea248278e7c46b512e22e3130696e9fc5127fea82a67372d920733fc160b0
DIST lxml-4.9.4.gh.tar.gz 960009 BLAKE2B 7d31095dcf1f73c1026e7378e6adb19a053edc116b119ae415c3324134d3700822bf4611dc3cbf7c216d396e1404b143c8ebfdfb7e5a71b9ef6ec187898cc699 SHA512 528ef4ae057a7ee54d3193a042a6db500ada883d1d506829b6824d91ec979feb69ec79239420112eae0e08a437b2e5da8efc35feb5d04d119bfae2679e918d29
DIST lxml-5.1.0.gh.tar.gz 962111 BLAKE2B 31c82eb198911d82fd9f7882bf94547b2367f3b3d1183eb8e8f97297b96faa69230d27b3367160b1f732a5d0878296b2d11787c3b220416c81a920e62ebec4f2 SHA512 1fadfeac1fb8b1e4fb1f7f2acb056865eb2567300a6c728eaede380d846ac75a6e33ebebcbbc6d60f54102152afd5dddf970058c4e27af396e9fa58e83c407a7
+DIST lxml-5.1.1.gh.tar.gz 963649 BLAKE2B 0cb7b4e39539ee962cd590b2b2dc644a111a094da9cbccc2ee0c29b9a758d8aca967f989693c76532252909dc44a96a3815273f04f28be2dbeb57d4daae2e6fd SHA512 bb479ca7dcce944a9a3597f67da1b12fb9f3a05592fb8342fe01bc569a86df95c32c7bf1bc0b9cfc0ddffb85adf12612fb2d8622a460357c1aaa56e033476375
EBUILD lxml-4.9.4.ebuild 2996 BLAKE2B e612e66cb1b7e6fdb8cb661d253f7c1ccb25b31c9cf620eccae2454e113749aab3841d54384483da7a9754d0bc30f0f65db66ad712f5c47a10e1d797705af197 SHA512 ef01bc8f91818b6a809edc9c27823f86dcac5ca5ceb6f2239785c7ac91fea85e3003a4e32ca78efb001d672a2e4fff0c27a1db24d5dbba5cdd2daad288f0a626
EBUILD lxml-5.1.0.ebuild 2902 BLAKE2B 10c758230f1c4fdb3084295749f3d2a0752983b142a56cd6d9362be2dd8d99c7d9bdc72ce74b02b1c5df5fc505ce5df65d87a9297367dfa5f72af83573563962 SHA512 d278b800a03de26b91873dedb0d7c8643f2cfb3e3e691b50e318a8d5575f11359239323fab141fce64a5b04c3d4db9dab3803e62fe85cfb3647023fb692bbd52
+EBUILD lxml-5.1.1.ebuild 2917 BLAKE2B da7c786b8a21a844c6b1f7fea8124fa900bfcacb6a0cda1f34a5b997878ec4ae4ba112ff8f61c661236129115468e901e4442e0849114059d033a5c103d2b6ea SHA512 8267821e6d1bfc08e1d3200a3129376852419854568c1be3110749a78fd270fcffde1b9a77daf0620787b875429e4c4b116c2ade5fc1241a76d25ada279076cb
MISC metadata.xml 463 BLAKE2B 9bcd092b61568f5d467230617b101f36245c41078e6a66c7ff63b22a6b4095de2ba3a59e48ce8b7842ce58d1255fa293995652daa3fab4c3af988498eaa30e97 SHA512 2ba5e340b59e0de4e472380e9c19b1f6f573e86e5c3c2e075f6151d369e94eea70e3ce36bfb5ece4da3fa69459e3ff83368f1df8302aa5754ae52f13c8f2312e
diff --git a/dev-python/lxml/files/lxml-5.1.1-pypy.patch b/dev-python/lxml/files/lxml-5.1.1-pypy.patch
new file mode 100644
index 000000000000..2f6a75781fb8
--- /dev/null
+++ b/dev-python/lxml/files/lxml-5.1.1-pypy.patch
@@ -0,0 +1,162 @@
+diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
+index 8385e393..0b259299 100644
+--- a/src/lxml/tests/test_http_io.py
++++ b/src/lxml/tests/test_http_io.py
+@@ -10,3 +10,3 @@ import gzip
+
+-from .common_imports import etree, HelperTestCase, BytesIO, _bytes
++from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
+ from .dummy_http_server import webserver, HTTPRequestCollector
+@@ -14,2 +14,3 @@ from .dummy_http_server import webserver, HTTPRequestCollector
+
++@unittest.skipIf(IS_PYPY, "broken on pypy")
+ class HttpIOTestCase(HelperTestCase):
+diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
+index 750dc1ed..adbec11c 100644
+--- a/src/lxml/tests/test_nsclasses.py
++++ b/src/lxml/tests/test_nsclasses.py
+@@ -8,3 +8,3 @@ import unittest
+
+-from .common_imports import etree, HelperTestCase, _bytes, make_doctest
++from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
+
+@@ -45,2 +45,3 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_ns_classes(self):
+diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
+index 1c8ff47c..326c5316 100644
+--- a/src/lxml/tests/test_objectify.py
++++ b/src/lxml/tests/test_objectify.py
+@@ -10,3 +10,4 @@ import unittest
+ from .common_imports import (
+- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
++ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
++ IS_PYPY
+ )
+@@ -383,2 +384,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_setattr(self):
+@@ -818,2 +820,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_build_tree(self):
+@@ -847,2 +850,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_bool(self):
+@@ -884,2 +888,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str(self):
+@@ -891,2 +896,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_intliteral(self):
+@@ -898,2 +904,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_floatliteral(self):
+@@ -905,2 +912,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_mul(self):
+@@ -917,2 +925,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_add(self):
+@@ -992,2 +1001,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr(self):
+@@ -999,2 +1009,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_intliteral(self):
+@@ -1006,2 +1017,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_floatliteral(self):
+@@ -1013,2 +1025,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_mul(self):
+@@ -1025,2 +1038,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_add(self):
+@@ -1050,2 +1064,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_int(self):
+@@ -1066,2 +1081,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float(self):
+@@ -1082,2 +1098,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float_precision(self):
+@@ -1101,2 +1118,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float_precision_consistency(self):
+@@ -1187,2 +1205,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_unregistered(self):
+@@ -1349,2 +1368,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_cmp(self):
+@@ -1376,2 +1396,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_int_cmp(self):
+@@ -1398,2 +1419,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_bool_cmp(self):
+@@ -2067,2 +2089,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_registered_type_stringify(self):
+@@ -2537,2 +2560,3 @@ class ObjectifyTestCase(HelperTestCase):
+ # type-looked-up as ObjectifiedElement (no annotations)
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_int(self):
+@@ -2542,2 +2566,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_float(self):
+@@ -2547,2 +2572,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_str(self):
+@@ -2552,2 +2578,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_unicode(self):
+@@ -2557,2 +2584,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_bool(self):
+@@ -2562,2 +2590,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_none(self):
+@@ -2567,2 +2596,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_value_concatenation(self):
+@@ -2577,2 +2607,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_nested(self):
+@@ -2745,3 +2776,4 @@ def test_suite():
+ suite.addTests(doctest.DocTestSuite(objectify))
+- suite.addTests([make_doctest('../../../doc/objectify.txt')])
++ if not IS_PYPY:
++ suite.addTests([make_doctest('../../../doc/objectify.txt')])
+ return suite
diff --git a/dev-python/lxml/lxml-5.1.1.ebuild b/dev-python/lxml/lxml-5.1.1.ebuild
new file mode 100644
index 000000000000..73d2ad106a01
--- /dev/null
+++ b/dev-python/lxml/lxml-5.1.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.9[${PYTHON_USEDEP}]
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.1-pypy.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ ln -rs "${S}"/doc "${dir}"/../../ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/nose/Manifest b/dev-python/nose/Manifest
deleted file mode 100644
index ea375594e134..000000000000
--- a/dev-python/nose/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST nose-1.3.7_p20221026.gh.tar.gz 325421 BLAKE2B 3762e1703a6a9c90d1569d21efa9ba100f52a8b3660022694133a763d995e19a6eef2398f5013b4827e4c334a2d5e3cd14a9704a50cd822c2d554a0ed6008f2c SHA512 3cb97b58525bee0cf88328ba865dc039bf3b76c56b4b42dd9dcf68f7b7585a91fb7e9b0c419668eccc0e242b2bcbb77eb197a0954ee9ad50051ef3af1a81dac3
-EBUILD nose-1.3.7_p20221026.ebuild 1440 BLAKE2B ecc84c466335cd0ad1c1509d9889f63877152611701c21bef5d91613f0d5bb35b9ac28b9947ae2d72730691b149335fda5a78da970ec2b31172407af308710d2 SHA512 c9974fb71e2a2c8843902a42542bf89f395ef0b1e2f8ab03584d1b32709a9ef9b4979fc2aacdc5b4d81d2432ffb56415e5e2ec5a7f72deef22ef7ff595fa1ecd
-MISC metadata.xml 399 BLAKE2B bccd250e005dc4b4921b8affffa56c918069576663c44671189d40dea344c0fb880fcf41656b1c9c5043cea9a0203b3ad3b980f7920ecebab82b4c71f75214d4 SHA512 15fd9ea9d0c09833f25497e2715a15cb2b2dbcbe042e0a3fa24525455eaeb470d6c799fddcd635a5197c984252649a26352713fcd069123fe2546edc20566fa6
diff --git a/dev-python/nose/metadata.xml b/dev-python/nose/metadata.xml
deleted file mode 100644
index 554766d8e7d1..000000000000
--- a/dev-python/nose/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">nose</remote-id>
- <remote-id type="github">nose-devs/nose</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nose/nose-1.3.7_p20221026.ebuild b/dev-python/nose/nose-1.3.7_p20221026.ebuild
deleted file mode 100644
index de12a5102c63..000000000000
--- a/dev-python/nose/nose-1.3.7_p20221026.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-EGIT_COMMIT="8def1b4dcf2ef6b4a34bffdfacea0018a78b06b6"
-DESCRIPTION="Unittest extension with automatic test suite discovery and easy test authoring"
-HOMEPAGE="
- https://pypi.org/project/nose/
- https://nose.readthedocs.io/en/latest/
- https://github.com/nose-devs/nose
-"
-SRC_URI="
- https://github.com/arthurzam/nose/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- !hppa? ( dev-python/coverage[${PYTHON_USEDEP}] )
- ' python3_{8..10} pypy3)
- $(python_gen_cond_dep '
- dev-python/twisted[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-src_prepare() {
- # failing to find configuration file
- sed -e 's/test_cover_options_config_file/_&/' \
- -i unit_tests/test_cover_plugin.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" -m nose -v -a "!network" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
- distutils-r1_src_install
- use examples && dodoc -r examples
-}
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
new file mode 100644
index 000000000000..fabfa144a560
--- /dev/null
+++ b/dev-python/opentelemetry-api/Manifest
@@ -0,0 +1,3 @@
+DIST opentelemetry-python-1.23.0.gh.tar.gz 523456 BLAKE2B 94047e0d806ce17f0116fd6343daeecbf738c41e3e1cc1cbf8af9a0b1c44b29cecbc597011a7ffe15ffc656f2744750d9117d63bdaa77c7971248f58f9580c8e SHA512 8a2cb94d774db15eb6bb7fd97d5b761d35066779072c0ce0cf51b6d1083d115120b932598c0da2efb20060e8a4c65415a74f508011ccca7242e2d79705f0c246
+EBUILD opentelemetry-api-1.23.0.ebuild 1795 BLAKE2B cc9c21dca69e03352a879e042f32a343c0af552921003498dfa11b98a7a9295ea6b9d3336d28c7932b9ac8f72580f3ad40b3024f7dbb4d36cece2ef5ea69fb51 SHA512 bfecfad922cb247c665cdb3d2375eb61df92d8caeb8f789e48e58f889332a72d276395dadf1bf0cbefe4f9bf6f8cc1bcdf7233fd6fd4dc589bbcad588e82b1a7
+MISC metadata.xml 643 BLAKE2B 47c86acb0093f5c596de91afcfaa9f2297f541327d008d33bbe6c542b98e8ae3cf7208c00b0d66d1050a14b5d68439ddcba5ed4449bbe05da3afb8433b95da59 SHA512 20439a62491c5e7a538bc6ec5c9f90cd9473b08d71813d19899fa538f033b164a9bf2fed01d7a90788ad4ce0768fb71bb9e00f6536ffe82da322a73a88459713
diff --git a/dev-python/opentelemetry-api/metadata.xml b/dev-python/opentelemetry-api/metadata.xml
new file mode 100644
index 000000000000..c98d276f46d8
--- /dev/null
+++ b/dev-python/opentelemetry-api/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-api</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.23.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.23.0.ebuild
new file mode 100644
index 000000000000..47504cdddb30
--- /dev/null
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.23.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python API"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-api/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Unnecessary restriction
+ # https://github.com/open-telemetry/opentelemetry-python/pull/3576
+ sed -i -e '/importlib-metadata/s:, < 7.0::' pyproject.toml || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-semantic-conventions opentelemetry-sdk tests/opentelemetry-test-utils ; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ epytest
+}
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
new file mode 100644
index 000000000000..bbeae0076873
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -0,0 +1,3 @@
+DIST opentelemetry-python-1.23.0.gh.tar.gz 523456 BLAKE2B 94047e0d806ce17f0116fd6343daeecbf738c41e3e1cc1cbf8af9a0b1c44b29cecbc597011a7ffe15ffc656f2744750d9117d63bdaa77c7971248f58f9580c8e SHA512 8a2cb94d774db15eb6bb7fd97d5b761d35066779072c0ce0cf51b6d1083d115120b932598c0da2efb20060e8a4c65415a74f508011ccca7242e2d79705f0c246
+EBUILD opentelemetry-sdk-1.23.0.ebuild 2010 BLAKE2B 00960c70b6a6621212e402fbf7cefb179cc89f15d2da1ddb95056d053a3b0adb21e62842bf060da58fa9655c8bbfe33ac90700c905ec581fe2eb6bb7999510fc SHA512 2ab4955c6f5a3789bb214c34b31d252e26827ee66205ac214bbaabedca0b9635486fb0360411662b3de9f1d7689ea3ed4bbdec03329322f87aa7921fc4f895a0
+MISC metadata.xml 643 BLAKE2B 76dfef2a0bbc6ca40385189ccbb4dc8284b807dc873c3d7a02e171dd35fde051289bdb673b5f445c0b080e3b310b8e0d99311db283a6645c4f8ff8bff856d474 SHA512 8899744243bcbed9b286104609532c281d04febbb7a9da4f7c71aad177f6dcf728f008355fa6c0c1d201701360b3430084fe223d5cffa9af09adbbbde7292595
diff --git a/dev-python/opentelemetry-sdk/metadata.xml b/dev-python/opentelemetry-sdk/metadata.xml
new file mode 100644
index 000000000000..a1109c9c4db7
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-sdk</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.23.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.23.0.ebuild
new file mode 100644
index 000000000000..03fc6082d363
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.23.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python SDK"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
+ ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Use the same version with all opentelemetry components
+ # # https://github.com/gentoo/gentoo/pull/35962#issuecomment-2025466313
+ sed -i -e "s/\"\(opentelemetry-semantic-conventions == \).*\"/\"\1 ${PV}\"/" pyproject.toml || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in tests/opentelemetry-test-utils; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local -x EPYTEST_IGNORE=(
+ tests/performance/benchmarks/
+ )
+
+ epytest
+}
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
new file mode 100644
index 000000000000..2bc72834da5f
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -0,0 +1,3 @@
+DIST opentelemetry-python-1.23.0.gh.tar.gz 523456 BLAKE2B 94047e0d806ce17f0116fd6343daeecbf738c41e3e1cc1cbf8af9a0b1c44b29cecbc597011a7ffe15ffc656f2744750d9117d63bdaa77c7971248f58f9580c8e SHA512 8a2cb94d774db15eb6bb7fd97d5b761d35066779072c0ce0cf51b6d1083d115120b932598c0da2efb20060e8a4c65415a74f508011ccca7242e2d79705f0c246
+EBUILD opentelemetry-semantic-conventions-1.23.0.ebuild 1836 BLAKE2B bcae4dfd701cba14e6e65ee03aebc1ef3b941973b06173f3d614397f3d3f4eff59eaaa325656d704c709ef86fdf2605e86c349fad6badd6e7feecb46f93a428d SHA512 bcd6c6624638b79ae2c217d2329aa22a1c7d98293245c11b906e85991149a4986a4980b32f51a73bba548c0ec78d4242354560dfcb64c54db460c55af44b2fc8
+MISC metadata.xml 660 BLAKE2B b231081049a3c5830c7d3d5494261d24ade30de731cf7b4186273af4521db9d1e56c6811ef90b6b763354e67d198c3edefb055bb76f23fb14097df57709546da SHA512 1b6869a2b3918e48f376261d70bcaa9789511ba06cb988e9484a64dcfb57b1494300b29fd6316e39dc23e0d295d6c087e5a07dedf268ca62cd9d555b356379b7
diff --git a/dev-python/opentelemetry-semantic-conventions/metadata.xml b/dev-python/opentelemetry-semantic-conventions/metadata.xml
new file mode 100644
index 000000000000..4f1084df480f
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-semantic-conventions</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.23.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.23.0.ebuild
new file mode 100644
index 000000000000..321404550b34
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.23.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenTelemetry Semantic Conventions"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Use the same version with all opentelemetry components
+ # https://github.com/gentoo/gentoo/pull/35962#issuecomment-2025466313
+ sed -i -e "s/\(__version__ =\) .*/\1 \"${PV}\"/" src/opentelemetry/semconv/version.py || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-api opentelemetry-sdk tests/opentelemetry-test-utils ; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ epytest
+}
diff --git a/dev-python/pendulum/Manifest b/dev-python/pendulum/Manifest
deleted file mode 100644
index c1b78d2793eb..000000000000
--- a/dev-python/pendulum/Manifest
+++ /dev/null
@@ -1,43 +0,0 @@
-AUX pendulum-3.0.0-system-tzdata.patch 1809 BLAKE2B 05b33d6ae6d673f82953c3128f9305ca58dc5fa9eef9a40b227f2e44ab973319402bf9b04a9e8f2d6f79265cf6366811b2daa60356d1f8b1c8a91ea4a2af5df2 SHA512 c3920988393b657543cae0594c3ca7e0d34460f27740d5b70aa2c708437571508a81d344ca9bf7f25972b5daafa4a139f2667127ddff8465d1230391ff3ac6cb
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
-DIST libmimalloc-sys-0.1.35.crate 184695 BLAKE2B 13d7793a67c6e2bf2377af59818c2e109e7b9f6d6415089970626b614bb33e96fd30bc962f820d5bb2beeefae6e155a30b7584e7027e3187f088c190eb8115f7 SHA512 7f9ef551d23d7e22073cf9d8593103a4ca17cf82b65b2bc1404dbfc2cec46c4f305ad9dfda9ca1c61e7ff3a617196c6798f505d62c90552dd25b4ba0c05e5847
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST mimalloc-0.1.39.crate 3727 BLAKE2B f61007119805ec636fef03acb096c97ad65d1fdd548eb2c2b7d1fffb8bf4f2a1cdc0b27d05965adbe917390474f93499341084179ce82698bba87d8a58e52fbb SHA512 6fc9116ed74bca69ca4c4944c37ba235105c631960779a1becaafd2cdefb83566c8403e9636f73922bd7a628a168713d1e7651600c4dbf132b16cc9080ee23f3
-DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST pendulum-2.1.2.gh.tar.gz 159885 BLAKE2B c95cd131fc95a0d19ef11f180cc42126cb8a6ea3aaf4b3bbedbc5ce4c1b37a6624f2a1be92f1a6fd6b1f14f5d20fa5f32e8230f896ab7a216f02f00e85b98738 SHA512 c367320ade0d10b7eb9c880286176161b925d7df052f7de85ddd169594bbe778776ea74df451f00186df98be3e32b7399c68ca4b40123e2c456206410e3a1ab2
-DIST pendulum-3.0.0.gh.tar.gz 179981 BLAKE2B 5cbf0e2e504964e75c45ad41fcdab5a2ef0be91d9f4a8898305d15a5dc124abc3dc0986c7559d45091325bf4819f5e854ce87f92d534b24d1ac8c0852097df09 SHA512 f4cab40bec00029ccda44f15c71cf07a4518b6d86570b2f3425db2e3bb96151b22aa5065b1e21cc4b2b0cfef216f6af1ae6a16eb4efdb811dbdb18a7eab6c24a
-DIST proc-macro2-1.0.51.crate 41804 BLAKE2B 579e5a157da81cd8350a6407603e5f8102bb9b6618ea8e81ced1692a6a6f4b57bec35aeb965b643f2542f65a3b9965fbbcf7e0ade35cf159270583d34665a628 SHA512 10ad77a5d05437c1b2c40a8f82389d081e64993171aa6259e8dca98d9afb04f5fb870f2037ad626a280d59c1a89fd4482bead701d744d6fb7c893bd9e78dfc1f
-DIST pyo3-0.19.1.crate 418297 BLAKE2B 19ad6aa4fba175961b7fe97ae0bc45050f930859972b1b25cf0139bb3436c050ba76b63894f0df26174f141a52ac6abf10fd84c03c056af5a0665e723ae24195 SHA512 b27500cf49f1c6f217d21344d24ac96c07b82c157dd36fa4550b94059da5715ba7d0e085ec07dd5f8a8ac9de4d7e9239c1cceac4337294eb0dc9f6102049d5ff
-DIST pyo3-build-config-0.19.1.crate 29205 BLAKE2B f88cbf9763fd68f7b30d109ae608efc29e0d4bf6672ee5f31b77342b5f37baa4f981916124af6897ccea3d93990ff889815fc3abbe9ce3fdbd860b6d5698b7da SHA512 311fef01ac2c3ce12485849cb99eba038a36260206308c5af4621fc5393f942e03aae4f6a5fe24ef3005eb781d2161453667ad552d6a371ddd96460b05a2e710
-DIST pyo3-ffi-0.19.1.crate 64837 BLAKE2B deb3065ce99b4bd3b5dee182f7cc20dbbb1792e792e78425f30a71ad3e45aa8552f99f02debd640e16db44cbcad58f67b04ca6e08cb964e788d41dca64500a0c SHA512 6293d75c71ebe80c320f0a240716a2e0c62f66aecc58320f2f40a81f85390c7d9174b4888ead89818b73fdc8d3d21df12adc6625087f0c9ebb82767d4a7c5adc
-DIST pyo3-macros-0.19.1.crate 7173 BLAKE2B b8d53ed51e2454abb77528c9e08315f288718dca08888bc24752f156942c27ffff75c88504bddcf05cc89d16b3fd2cd86280b0b94bd09947a2ffa4c800dfde68 SHA512 2c12cff4a8af948f9ecaadb83d1ed5199758f9e9c626c5930a1b74c65027a8b74dcf989ee470798aeff7c1165650d5d3dd75cb1f813859b7b8e241cd2bb8f2eb
-DIST pyo3-macros-backend-0.19.1.crate 49916 BLAKE2B 930774ee7ec936bbefc4ea81e2496cd15438dc82954ec7b85c0bc42b290b41c60869f8b31e109ba16a373d3ebf1e0058c0c7ef7d4911ae40feb99fb61d66a745 SHA512 7c7949588a15ef57b12f11e903c1110228bb653212761c97ff50399aa39be97108b471a2cdf47afb307f6c86bfb24b3e9ab32fd08e0550ee27e8808f2acd5145
-DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
-DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
-DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.1.crate 5524 BLAKE2B 755cb6184733417763bb650fb0bd84bc757503aacbf0d91b811d42e9e8efda05434bbe5518006a88937a82a2a607605a9b609df4f34eb58674d09564667d95f3 SHA512 940c85f6214aa4da17787d3bbfe8d6107a9a7fe4f2e2fcf2b1634facf4619620ac2a7a835ebdd0f57970c992c459ba0a780e64e89945005b240c92563c42711a
-DIST windows_aarch64_gnullvm-0.42.1.crate 362795 BLAKE2B 722b45789bcd1d973803b327d44072fbf9c904d448e29ae9e56d2f9d1a3e9b64e06883e4bf5ebf141f1e924235858fd1472e07a744cc5b16a0a3a4fc8ec8f6d4 SHA512 51eb9fa7ea441a9fef590c12576a8bbef74932d40fafde8f9e3a28f2734ce5aee6dd5fa478fb3847443241c8c392bb4abbc6014c71260bf924431779f7184f73
-DIST windows_aarch64_msvc-0.42.1.crate 664655 BLAKE2B f4a060b802016a6d77a8ea6ac44c35dfec384acef9c45f932e2b6aca9d3ac48ae031f99e5b58f270d6020b8796e9dd06f7e8ffa7cc5610ea3f69181c2be7adc8 SHA512 f6412bae4b041201ef94e5a159ce90fd6b09816350204d4f573c1afdfb0a6d62d7887fbc2e416b40ec1d4478db521be492edf4703d87482d6d0006a51b827538
-DIST windows_i686_gnu-0.42.1.crate 733428 BLAKE2B c1ca24973aca06b255d9317735cca7a13f7f69293da52dad41df43a5cdf48aac3d40d8b6765cf564905fb71cb548308d757f01167efe7a61da7bd2e2a7080f0a SHA512 61c3271b07df1d4585c875d27cf1686c8f595dcbb79626e8d15ff47228f7b7a4556d3d994566ccceee0d6795a4c76767f85f4579282fc9eed731e04c7e193a57
-DIST windows_i686_msvc-0.42.1.crate 722583 BLAKE2B e03978daa0ac95d7bd9f594b28360dab647a1fe525f0ae4b44e6842d93c5674d9f202e8bbca99a0d30ecf7d138af0c48eec8e69e08bf285db51e32bcf83a2c54 SHA512 8afa4f92cb7bd96d4fdbefbd8e7bcaa37dee52224d5d8b950c5a537d3bb805bf9781097b8bd44d96e8b62b1290e3a3020557502fa3b357a53df6fea36b318932
-DIST windows_x86_64_gnu-0.42.1.crate 697614 BLAKE2B 3cef0a3da3ce142bbdf932dbb54eb6473070c5722c9ec791dc4077efe2d774d51f8b3d06b3321f8f21cc49764f44d54b3432ee7a0d9376925b422b197f5d557e SHA512 f4c16b587fe407dee1f39df029c52302a0fbd5f519816a8d974fe9c2f928043b14037c701c0f3c9cf2e5c765e82430fd4b71615fe63a66a88159f7b15506f892
-DIST windows_x86_64_gnullvm-0.42.1.crate 362788 BLAKE2B fff81e63b86ad04ce22ad3e05ec4cc02c0b791384c93bafb50832f6db9cb7fd9301ad3845339a08dd8cadac1d59f3e8dc9d5f56d7a987989dbfc16b9131af67b SHA512 8cc988b5995a4726bb7518b7fccff528274ad9b2b0160fe247eb240f9ced10db95afe7bff91bfc5a08ebd8237b6821e4a4abad1ff9da45022f1ce7e7586bcf05
-DIST windows_x86_64_msvc-0.42.1.crate 664606 BLAKE2B 6c460cfa392aad0d11add200d652a42ee1a60052570527c4e85405f765255375729d4e26287f5246dcad65fa89ccadea23c5135171b311e6da5027e33149c547 SHA512 a651b1a34f101125f929c1d1f5e933691c7a5c19d0bb0c501fb6812236d2771805428e3bd5e05be7d72715595f5fc9e7978dd7934e5d92e9b78a41c2ece695b2
-EBUILD pendulum-2.1.2-r2.ebuild 1016 BLAKE2B 00f262dcd729c6eb67a9a38a32254df8c3ef3160b0d4f97dafbbd15cf37bb61d1e8d13ec09f4eee30b87281cb3c404b73450e7cec40d8da5167b909c5d458339 SHA512 8ecb0412003f734d3ada27d610a4da348691fee07fe8649e0567a5dece5d7e5e557f10983453958df311ea389425fe071a4adb2c17dc7f8c7230d9fe033e2759
-EBUILD pendulum-3.0.0-r1.ebuild 1927 BLAKE2B 721f269473a39450f454386cd5226ffb9c56d45545d78aae7dbcda1864c52dcca90c80bb5a842dec7a7a25698cd273248db4c40152f92a59b55344b09bfa51ba SHA512 e6056321806516d862c0992dc3d37062028c1268adb3e4f729009cfe1b060943ed434891a6b938561a0fe1a01fe5da195b4f846d238dacde35d7bf302307084a
-MISC metadata.xml 389 BLAKE2B 516d7400e97ab8c53ea341d642ac5d7098232b8bc5e622308a535ca3ae3f34f08893954b820232467bd66da7bed729e10205ac20e75190347ae5aa607b4bd88b SHA512 f5d036a5075eeaedfd073671a10bb2972912760549db758d126273abcb18e68ea057dbad0d3bc7915406ee0e519bf10e6ae1cb15c2f0ecd64303a456440987ca
diff --git a/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch b/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch
deleted file mode 100644
index c99bbb3ca9ea..000000000000
--- a/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 0143f10dfcc94f5cba1a83912e055026a0282c19 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 2 Feb 2024 17:48:55 +0100
-Subject: [PATCH] Fix `pendulum.tz.timezones()` to use system tzdata
-
-Fix the `pendulum.tz.available_timezones()` to use
-`available_timezones()` function instead of iterating over the files
-in `tzdata` package. This is more in line with PEP 615, as the system
-timezone functions will operate on system-provided tzdata when
-available, and use the `tzdata` package only if it's not available.
-Therefore, the previous code would yield a potentially different list
-of timezones than the system actually provides.
-
-Furthermore, Gentoo provides a dummy `tzdata` package that does not
-provide any data, since Python always uses system tzdata. This change
-is necessary to make pendulum work again on Gentoo.
-
-Fixes #769
----
- src/pendulum/tz/__init__.py | 10 ++--------
- 1 file changed, 2 insertions(+), 8 deletions(-)
-
-diff --git a/src/pendulum/tz/__init__.py b/src/pendulum/tz/__init__.py
-index 36c2c692..8dc64705 100644
---- a/src/pendulum/tz/__init__.py
-+++ b/src/pendulum/tz/__init__.py
-@@ -9,7 +9,7 @@
- from pendulum.tz.timezone import UTC
- from pendulum.tz.timezone import FixedTimezone
- from pendulum.tz.timezone import Timezone
--from pendulum.utils._compat import resources
-+from pendulum.utils._zoneinfo import available_timezones
-
-
- PRE_TRANSITION = "pre"
-@@ -22,13 +22,7 @@
-
-
- def timezones() -> tuple[str, ...]:
-- global _timezones
--
-- if _timezones is None:
-- with cast(Path, resources.files("tzdata").joinpath("zones")).open() as f:
-- _timezones = tuple(tz.strip() for tz in f.readlines())
--
-- return _timezones
-+ return available_timezones()
-
-
- def fixed_timezone(offset: int) -> FixedTimezone:
diff --git a/dev-python/pendulum/metadata.xml b/dev-python/pendulum/metadata.xml
deleted file mode 100644
index 732b97cab77a..000000000000
--- a/dev-python/pendulum/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <upstream>
- <remote-id type="github">sdispater/pendulum</remote-id>
- <remote-id type="pypi">pendulum</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild b/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
deleted file mode 100644
index c3d9505127c0..000000000000
--- a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Drop-in replacement for the standard datetime class"
-HOMEPAGE="
- https://pendulum.eustace.io/
- https://github.com/sdispater/pendulum/
- https://pypi.org/project/pendulum/
-"
-SRC_URI="
- https://github.com/sdispater/pendulum/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-DEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytzdata[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-python/Babel[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # sigh
- tests/datetime/test_behavior.py::test_proper_dst
- tests/tz/test_timezone.py::test_dst
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pendulum/pendulum-3.0.0-r1.ebuild b/dev-python/pendulum/pendulum-3.0.0-r1.ebuild
deleted file mode 100644
index 3b9e83a00602..000000000000
--- a/dev-python/pendulum/pendulum-3.0.0-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cc@1.0.79
- cfg-if@1.0.0
- indoc@1.0.9
- libc@0.2.139
- libmimalloc-sys@0.1.35
- lock_api@0.4.9
- memoffset@0.9.0
- mimalloc@0.1.39
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- proc-macro2@1.0.51
- pyo3-build-config@0.19.1
- pyo3-ffi@0.19.1
- pyo3-macros-backend@0.19.1
- pyo3-macros@0.19.1
- pyo3@0.19.1
- python3-dll-a@0.2.9
- quote@1.0.23
- redox_syscall@0.2.16
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.6
- unicode-ident@1.0.6
- unindent@0.1.11
- windows-sys@0.45.0
- windows-targets@0.42.1
- windows_aarch64_gnullvm@0.42.1
- windows_aarch64_msvc@0.42.1
- windows_i686_gnu@0.42.1
- windows_i686_msvc@0.42.1
- windows_x86_64_gnu@0.42.1
- windows_x86_64_gnullvm@0.42.1
- windows_x86_64_msvc@0.42.1
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Drop-in replacement for the standard datetime class"
-HOMEPAGE="
- https://pendulum.eustace.io/
- https://github.com/sdispater/pendulum/
- https://pypi.org/project/pendulum/
-"
-SRC_URI="
- https://github.com/sdispater/pendulum/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.6[${PYTHON_USEDEP}]
- >=dev-python/tzdata-2020.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/time-machine-2.6.0[${PYTHON_USEDEP}]
- ' 'python*')
-"
-BDEPEND="
- test? (
- dev-python/Babel[${PYTHON_USEDEP}]
- >=dev-python/pytz-2022.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/sdispater/pendulum/pull/801
- "${FILESDIR}/${P}-system-tzdata.patch"
-)
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pendulum/_pendulum.*.so"
diff --git a/dev-python/pplpy/Manifest b/dev-python/pplpy/Manifest
index 24e67d0fba00..ed05d1802a90 100644
--- a/dev-python/pplpy/Manifest
+++ b/dev-python/pplpy/Manifest
@@ -1,5 +1,5 @@
DIST pplpy-0.8.10.tar.gz 64203 BLAKE2B b0735722a051ef33b7415528147a84a163ac49bf5d07e2f6599a7bbf004140abf5e6a09b7f0555ac57b55614a1c059bba20cc7ac7fe47a83f429e33d7f0dd1bc SHA512 982d36291cd0108786e47cb1ff73127ba2b2a619edc697e28360a87ace743e7fc6dd04e32aab38d41724d455de4861065f9ac3d409fd2f68114b07f4d1328c23
DIST pplpy-0.8.9.tar.gz 66017 BLAKE2B 90da3b4c3e992d0ca969925d8142b114fbbfd5214a768f2e56825d8689e2c4aa2e68a3fa45da9df68168a28413153eb189df277157823e88503668be5c26505c SHA512 618a0a1d603e2859313ad4f71b3cc40156a06371c6b8971fdab8275f6676fc19510e3927828c641819399b5ea6646e954738309fbf8c10fba5733c7410ed75fc
-EBUILD pplpy-0.8.10.ebuild 900 BLAKE2B 651366d248ecc7e0f6f137cb3c4eefa7c19a7d25e6771e512ef6f2c047069497c04b050dddede74460ba1904b6734a9b020ae79e1f1a291da16b1803ca4dab05 SHA512 dd0aadd3a10db37c393f11ff1aed5c6dcaf37253d269c107895e56fdfefe85a6e88b16e6e4439105a261507f66cd8e646a68921958dcaca2bdbf404f8fcc2554
+EBUILD pplpy-0.8.10.ebuild 989 BLAKE2B 98cc485d1f06b44c9ec3eeb69ab411cd1b822ec6959af03262588e9b68b389b8549c4a1aca65106524ca72e3bd4d270087f8796be9e16fb8c875bf70d990c279 SHA512 a997c7c3b5d73fe3cf37786341720b40a532f7415032f8f8c5c0ff973ce84944096b865f1d2cc35ad49979044d9e7a429d99a413a6f5c14ef281a801581615cb
EBUILD pplpy-0.8.9.ebuild 1177 BLAKE2B 003564826013c4f1887663b6a500e8b18d33154358d4b233ae0fa4b861a15eb4372e07c66bec34e57f780c207af78c70d63a36cd879b48d21d7fcf04fccdfe5f SHA512 dbec427c8e82b69cf9939012ef5739b6b9d162ee270ecd692660815bd90e2fdd61ea652398357761a53ee1629329f8459846084fce8027ce54c8775738e86b32
MISC metadata.xml 759 BLAKE2B 0c4fcc6e475fae1a8565c392dd82261d796b96aad68d614790e07271057b46eec4b4f89fe3be2185bc9793e828568a85df488ce568daf84555638e0516898086 SHA512 773f95dbb5635a1ffcbff57d00e6af93e173945738e67deb79bb4c628abde3793488b889bb96e9a74832d0b8c42e7274edb479c64e726ddde10ef5297be979a7
diff --git a/dev-python/pplpy/pplpy-0.8.10.ebuild b/dev-python/pplpy/pplpy-0.8.10.ebuild
index 377d267f9379..4a82eb78892a 100644
--- a/dev-python/pplpy/pplpy-0.8.10.ebuild
+++ b/dev-python/pplpy/pplpy-0.8.10.ebuild
@@ -35,6 +35,11 @@ BDEPEND="
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
"
+python_compile() {
+ # https://bugs.gentoo.org/927770
+ distutils-r1_python_compile -j1
+}
+
python_compile_all() {
rm -r ppl || die
use doc && build_sphinx docs/source
diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest
index f305a8730ecd..bf920a2f00e1 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1,5 +1,7 @@
DIST python-lsp-server-1.10.0.tar.gz 112917 BLAKE2B 2429e136ea2732d3bdfc2c77424a864364a7eb98bd447273d514fa53238b1ec276d46a51e558be8d959f100cd4dcfadf3a3eac996aa49b6b011babea84e8e3a8 SHA512 342452a5e3b1ae448a993f64501b2162b286f009026f1b5d306621c4befd0188699fc682206d50d06a93d8780862c8476186f8d0e4bb20592ddbbade1276445c
DIST python-lsp-server-1.10.1.tar.gz 113136 BLAKE2B d1e39e3354d5ab67bb465265c6c3514f25ba4857fa3379e502d3c40b456f6d228c63ad759af1832b4d089fb93a03c7f3d6797cea4079b63cdc58e3591e9d783a SHA512 4c8e6a72ef6004248a5cb4a1e4c251b9d487cd4ce39d6c7268ce611c8537d6a5912eeb49d2eb1a25c230934b17e9a624504591c25f0291e07971eeccb70b09ba
+DIST python-lsp-server-1.11.0.tar.gz 113347 BLAKE2B d8417fb63447c5130d88dd6583ef0dc0c724076b22006a59da914a10440e67a4fc2362fd677a45b257fcca804c965920d54ff47568ad607e49f05d13d6d3e1ee SHA512 bd96850b822dc3c2e97d5ee38f25c9f7731dc68b31fedcc2d3e0ff373bc3ad8a989f1a4b85527477bbbc875e853d5513d8583bc3cdc22a3c0545716e68382093
EBUILD python-lsp-server-1.10.0.ebuild 3318 BLAKE2B 8758c248906254e9052d73d5531be9a82c141b72406823a6d139d9e1bcf8ed93cce0d78bf37b30e1ac5303ed6a0df0ea36ad63df9bd8d2bba27dab0d1ebb66f4 SHA512 b77ceabf24bbc79cf99279cca6b7f6779ad3357359ae4fac2ef266cef303e057eaa5819376f0d9080365f04ebc8ad2643ea6d7edade017a5f7fa4678b9095e2f
EBUILD python-lsp-server-1.10.1.ebuild 3321 BLAKE2B 1753b371ed7e385643f42e67450991d64ebaf0cefbcd62a9d4a55f5b9bccf5265071b2410ff509ce7d73280a20b3f546b6a23cf63b44e676a321330cedd8d29b SHA512 403c9d7dbd863e6ee0ff80877550b6152f5a437c454e9767ea00f93ade74c7b858379f49a60c89cb7cd2dd37685a812319a571947207f2804ccd5b965940c38c
+EBUILD python-lsp-server-1.11.0.ebuild 3012 BLAKE2B 1b4b9708f307649a9b0b5e167a5b2989837d1d3fb386f84fbec46548c6361d07202b2b33bf6aa9ee4cba4f5a4d0f2fd2db4e81e29e6f711918d1f2e6fc14a3ba SHA512 62b35a47be61898f4c4d46bde6855c107eb4ead174c473a81df49b1c1033c26386ff60f91092f7ebb46a16f11620f66eba69e925785ef780749e44c1ec76b9b9
MISC metadata.xml 610 BLAKE2B e111007adc2612409df72955babe0c4725fd5726449435988cf13c1142049d78089d38e54783712e2c70c74437157ffb2049bd9d63322cec084204eb5038e724 SHA512 5e1e4b43a5bfacb6a2fcae57413ebf79c6aed917b00022140d855acd773d82e56b2d73ae8270d42675a34d9f37f9ad53c8f61930c3f447d8a9e45a521a20e9bb
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild
new file mode 100644
index 000000000000..6fc4eb44863c
--- /dev/null
+++ b/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python Language Server for the Language Server Protocol"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-server/
+ https://pypi.org/project/python-lsp-server/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="all-plugins"
+
+RDEPEND="
+ dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ all-plugins? (
+ >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}]
+ >=dev-python/flake8-7[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pycodestyle-2.11.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-3.1[${PYTHON_USEDEP}]
+ >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
+ >=dev-python/rope-1.11.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/autopep8-1.6.0[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
+ >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Note: xdist breaks some tests
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e '/addopts =/d' pyproject.toml || die
+ # unpin all the deps
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by presence of pathlib2
+ 'test/plugins/test_autoimport.py'
+ )
+ local EPYTEST_IGNORE=(
+ # pydocstyle is archived upstream and broken with py3.12
+ test/plugins/test_pydocstyle_lint.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8
+ optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8
+ optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe
+ optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle
+ optfeature "Python docstring style checker" dev-python/pydocstyle
+ optfeature "Passive checker for Python programs" dev-python/pyflakes
+ optfeature "Python code static checker" dev-python/pylint
+ optfeature "Python refactoring library" dev-python/rope
+ optfeature "A formatter for Python files" dev-python/yapf
+}
diff --git a/dev-python/respx/Manifest b/dev-python/respx/Manifest
new file mode 100644
index 000000000000..00f41cb05d63
--- /dev/null
+++ b/dev-python/respx/Manifest
@@ -0,0 +1,3 @@
+DIST respx-0.21.1.gh.tar.gz 432341 BLAKE2B b375e8bc9370e13855197487e1e8139cf3fede0f03d7ad034ef2c78bce5ad95d3cb8cc7440c2566d188a98a52d0068c13288c7d4ec802e04d2f269a64e1ce326 SHA512 156f34f4635012230b68812f24978136f37f96dc0cf0ea9e80ed2d6a3e0639eb7591ed34933f75d5cda32993852aa034b22389af0fed341ab4ad1002482f2e9c
+EBUILD respx-0.21.1.ebuild 869 BLAKE2B d1f8742231293c814f2bfc209aaf573c9b945533d07f23cb9ea5ea10b9c545598502b9f73c83fe1a18148750c5bbf0e81e7234c547b88b388047e27c5db5f9a8 SHA512 6a2cf2c5a10eb68858f11c6895b3ea711aa4d377e602d2215adf99bf523b4df12c40b0415f8cc30193fb2ffd67ea05bf600afd7759723a76605a95905bce5070
+MISC metadata.xml 610 BLAKE2B 3e77efa934fcb00a190e062741e0233a1c9f99619c612efa02e797f133661523b408fec5bda914a6180808370faec6e8928c2c77aa71ed9d4124b8933f7a62e8 SHA512 9fdc4f2a5f0fd9e6095123729fc030ed2baeafd975094a0fc24baae33dcddc08cd59f8ece99196a0fb64a2cad4bbf898a4817a0126d08e3d2b5309fc13d9ca7e
diff --git a/dev-python/flask-gravatar/metadata.xml b/dev-python/respx/metadata.xml
index b0c16af1df81..75a5ff3e72ad 100644
--- a/dev-python/flask-gravatar/metadata.xml
+++ b/dev-python/respx/metadata.xml
@@ -3,15 +3,18 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<maintainer type="person">
- <email>titanofold@gentoo.org</email>
- <name>Aaron W. Swenson</name>
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">Flask-Gravatar</remote-id>
- <remote-id type="github">zzzsochi/Flask-Gravatar</remote-id>
+ <remote-id type="pypi">respx</remote-id>
+ <remote-id type="github">lundberg/respx</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/respx/respx-0.21.1.ebuild b/dev-python/respx/respx-0.21.1.ebuild
new file mode 100644
index 000000000000..398d107c282b
--- /dev/null
+++ b/dev-python/respx/respx-0.21.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock HTTPX with awesome request patterns and response side effects"
+HOMEPAGE="
+ https://lundberg.github.io/respx/
+ https://pypi.org/project/respx/
+ https://github.com/lundberg/respx/
+"
+# no tests in pypi sdist
+SRC_URI="
+ https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpcore[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p 'no:*' -o addopts=
+}
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index 4ef813dfff07..348e9eb0927e 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,3 +1,4 @@
+DIST sip-6.8.3.gh.tar.gz 585528 BLAKE2B 2a58edba0f7ca9da02399df9fe71f152ef8446c38886ca2a21c00ef3ac65e0a82493a6047120d6f786e5b26f974c9cac24a329f1a52d9c47f9669afe2f0789b4 SHA512 6ff5fa59a55d71a3303553d2c53879fc9ccc01b9db34da149a7b81e252613327c7390c5a2edeaec03381dbc36ed38aa4ce44d69560c277ecc3875a57e7d75a60
DIST sip-6.8.3.tar.gz 987656 BLAKE2B 57cc4010aae64eec7e0f338d9653463c7381b639aa8efca978a3f3296550a37b3a09b52933a2c2cd354a65155841952d7ca045b0b774945a382c29a8d597951e SHA512 8a0ff1c16ead4c2b1c53963a015fb3d149362f649eeec2523e6b243945493f28f5ecf29aabbf5cee5f7909ded40d64a1f469d2d0c1b3c33244e6213ab23ec733
-EBUILD sip-6.8.3.ebuild 674 BLAKE2B 188f59f1a812580f85a74613c5fda7ea54915c1aab5317a841399cacaebf87d3b4be1cb79d5dbab33ff83aa2792662fa9cec6774b97c4805864ef72d6d1c83f5 SHA512 8dd8b713f1dcca84bdb026bd4e03c3dfa1252010c6b913962b4081bd8e615f984c7590336395660c89a61465acdf4ed7338f4bbc0a1ccdd95d3acbe117f97902
+EBUILD sip-6.8.3.ebuild 855 BLAKE2B 1dac6859a559eec6a4e0aa7fc4f28b3fad45cb571a3fad1ba0309f1dabb8c13644c28ebe50df56e5a62fc8f5ecbe28d5d0035bae5fe0d0d8ca59c0c1fee3215a SHA512 97e7ed802158ae3444d06d512a0910303ed92d8bad85342ba89272c14cf245cc0082e84a32a57aefdd567e4ccac752be221b223983a786a7a2ff31794918bf33
MISC metadata.xml 524 BLAKE2B 57657d01dc5be425f66f1136356fa028a32ad6a2ca79cadf4b9ed6a940b414b0e3efa161895d1858ab3d4977241883f9dfefbe37a8cbaad10589d57f598856a1 SHA512 82208b61b297d8c2110ea47a82c046118afd9332c52fa6590f7ed11b4e70af8b75f087b006fa5ed9058dbd2f98f02104559e085f781f2fc887396b7ff9d1b859
diff --git a/dev-python/sip/sip-6.8.3.ebuild b/dev-python/sip/sip-6.8.3.ebuild
index aaed5118beb9..5f9ffe71e07e 100644
--- a/dev-python/sip/sip-6.8.3.ebuild
+++ b/dev-python/sip/sip-6.8.3.ebuild
@@ -5,13 +5,16 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
-
inherit distutils-r1 pypi
DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="
- https://github.com/Python-SIP/sip/
- https://pypi.org/project/sip/
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+# gh does not include a way to generate some files, so combine with pypi
+SRC_URI+="
+ test? (
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ )
"
LICENSE="|| ( GPL-2 GPL-3 SIP )"
@@ -25,3 +28,4 @@ RDEPEND="
"
distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
diff --git a/dev-python/tempest/Manifest b/dev-python/tempest/Manifest
index 06f00513d59c..745e1e9c8487 100644
--- a/dev-python/tempest/Manifest
+++ b/dev-python/tempest/Manifest
@@ -1,3 +1,5 @@
DIST tempest-37.0.0.tar.gz 1146330 BLAKE2B 51acf1e0e8ce3a95d54e7b916100c32cee34f9546166fd43883f9bd5c4d4aad7d846b17c4c805392b64b9a0a02fea903c59b799f14d7e459d337eeb11c62cb6a SHA512 1de0e26c86a59c0e3f3dc494d4fdb4d3ca5ab215c1d52b34b4618e9c939ecd59b29c09bccb31bed7911517edce4cae4f9acbd2d1e28be75b0305850230528c67
+DIST tempest-38.0.0.tar.gz 1148398 BLAKE2B 2905b24ebad4b5e5c83575f0d51de7eae23567dc508367a1c7a40eccbde33990152f7eebe6b7af7b9a1379b72178684b2dbf1e6d87b848b85c06ace98c8f4116 SHA512 d3a57b73e58b4898abc57e004da4a7d7e544612c498d03d4b8b2e88b36f5a160c2e74e6fea0ebd022f86dc6eb963125c45df8b932e7e012210a36e9318b548cd
EBUILD tempest-37.0.0.ebuild 2158 BLAKE2B b7c10b1cce5f0f665bf16bf338d6ff0e1c7fdddb13a477a23b76539903fb70cacd03233a38f9bf295fae473d1df91661aa1758f39d681e0ea139a93fdf0c71af SHA512 e1e9cea83bfcc02588119d25cda7995e65b9d4f5d3af37031b112da6f1d00b77e4441b9c820f35a1ef674c5bd5e719f038c46ef439dd2a8c05c0842c908357d0
+EBUILD tempest-38.0.0.ebuild 2161 BLAKE2B 71369c13ecf600033f40a588afc14a0fd854b9be5b2647e9e54126756595a1cd4fdb596800193be5138fcb0f0673fd02232cd90a752debb4283d52bdb4c09177 SHA512 00d8febef75cbd09b421b2c3262897ce92ebcca58cd06f4b8422cef59fa3a257c0204779f73fac604804fe9cf2d4eec005e7dbc52e23e520d8a15f92c756d9d7
MISC metadata.xml 442 BLAKE2B 30b474d10a59f53672390e029ffaf894cfe52862af42814ca09500372d4c94afc596177100b9ba69cfd12965e98809de363527d9db345c3b4cf499eaab0375f9 SHA512 d84466ecac31486c92a6c5f87089616b65a1f3cbe9447c3382021af57bec3964a80d4d4421783560528e80e70afb4f4ba604bf2a4e23ac7fcbd873ef3d789859
diff --git a/dev-python/tempest/tempest-38.0.0.ebuild b/dev-python/tempest/tempest-38.0.0.ebuild
new file mode 100644
index 000000000000..6821a436d77d
--- /dev/null
+++ b/dev-python/tempest/tempest-38.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="OpenStack Integration Testing"
+HOMEPAGE="
+ https://pypi.org/project/tempest/
+ https://docs.openstack.org/tempest/latest/
+ https://launchpad.net/tempest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # Small subset of tests, which fail as result of not using specific
+ # testing environment.
+ rm -r tempest/tests/lib/services/volume/v3/ || die
+
+ # remove dep on hacking
+ rm tempest/tests/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ mv "${BUILD_DIR}"/install/{usr/,}etc || die
+}
+
+python_test() {
+ local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1
+ local -x OS_TEST_TIMEOUT=300
+ stestr --test-path ./tempest/tests run --concurrency="$(makeopts_jobs)" ||
+ die "Tests failed for ${EPYTHON}"
+}