From 7236d0a40beeff3f6f0fcede52d54dfb81880faa Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Fri, 11 Nov 2022 21:30:43 +0000
Subject: gentoo auto-resync : 11:11:2022 - 21:30:43

---
 dev-python/Manifest.gz                             | Bin 262049 -> 262041 bytes
 dev-python/libvirt-python/Manifest                 |   5 +-
 .../libvirt-python/libvirt-python-8.9.0.ebuild     |  56 ++++++
 .../libvirt-python/libvirt-python-9999.ebuild      |   2 +-
 dev-python/parsedatetime/Manifest                  |   2 +
 .../parsedatetime/parsedatetime-2.6-r1.ebuild      |  22 +++
 dev-python/pyrfc3339/Manifest                      |   5 +-
 .../pyrfc3339/files/pyrfc3339-1.1-pytest.patch     | 193 +++++++++++++++++++++
 dev-python/pyrfc3339/metadata.xml                  |   1 +
 dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild       |  32 ++++
 10 files changed, 315 insertions(+), 3 deletions(-)
 create mode 100644 dev-python/libvirt-python/libvirt-python-8.9.0.ebuild
 create mode 100644 dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
 create mode 100644 dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch
 create mode 100644 dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild

(limited to 'dev-python')

diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 1527142be08a..66b724fea183 100644
Binary files a/dev-python/Manifest.gz and b/dev-python/Manifest.gz differ
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index 526a4297217c..cd5c0d1806a8 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -2,7 +2,10 @@ DIST libvirt-python-8.7.0.tar.gz 236343 BLAKE2B 563cd1a18f06c0210465905267c46b3e
 DIST libvirt-python-8.7.0.tar.gz.asc 833 BLAKE2B 5386780d75114c21105d012fd0ec2fd22fdd979dd6cdaea59f578eff4c0616e377da52d8aec05f337b837fda663ce8afb6d670e960ee65146679cd8c9a60b12b SHA512 499324c7cb520edbd1778a16434de43be062545255abb271832a636ff1ce9f4ba87e90226a181e081d084fccd6c190acc15763fecfc89e80093845589c12f535
 DIST libvirt-python-8.8.0.tar.gz 236523 BLAKE2B 56504045d4c44c2419fb8f97b1c147f12539122acc35644aef748631db5bce0d1ded8ebb5c1bd1160d2472757c0887105f3dd5e41c271a56f963ef21616565c8 SHA512 bcfe69b1279d8e2fc1343959f2c17ff29ef957c1d7f98b233c8bb32cffe50285138d1be11b0c327f6b18e2395b6353c3552cecfd9bbfcb5cc6bc97981f9d6f26
 DIST libvirt-python-8.8.0.tar.gz.asc 833 BLAKE2B 2769a404916227ce9d77ec0e76d2985b67f7e59e3f280486b59f9a9edb4fe5405ae22dd03c2d4c9f1c620a977eef90ec8fdc93d3891d8824021a226a0581cb9a SHA512 edeace09e2de739d318f63ac7b33f814ac3d2e4ad7a32164fb0691723b4872d64bc60d0f96baf1809158e76fd7dbbff75c6ee4e9112b1ba6c264287c36d691b4
+DIST libvirt-python-8.9.0.tar.gz 240769 BLAKE2B 992f02fe584f33ea5bd91a28338e281d49515bae392d5209e07a916b9449965c753b9a12b2f4d8433069efc1e3c5907a378e3e2d8ee1d55ab682a3e983b2eca3 SHA512 f13767528518189bb4a6094dc029f3dee16179a269b25f1224ba448569e3a2f8b036124711060d4dda8de0f7719474a700b616e1e8e8d29028d585c2a631aa32
+DIST libvirt-python-8.9.0.tar.gz.asc 833 BLAKE2B 690613f7f558155db56a5194042bdf49e004143b2066bcaccb48fc9082364a88b5f8d4112623095838a116817a55e34e8ca29e01221299efc396fb1501a060ae SHA512 a490284745c948d87f0239b70257b5cd66ae2515a4f3f33c05a2b3e1ccc28e2769c8c61d45e4f855b595a6d82b6d73e50bcd00a8bbfc7cb7fbe1a4969e48e17b
 EBUILD libvirt-python-8.7.0.ebuild 1345 BLAKE2B 0a86ea375248535734389a9ca5bc6fb9c7e9784d17c7d18317ded9e5b657e717628375e235cd13c11a5a4f238eb51017210a5e8d6cc0f56cc7a9a7a626ee1b0e SHA512 b66b59e71ac0eed4f8a1ea330897ac8a865e5021838e9ef6c514c79e800773f834962321cd1b3b217e1a50679a99b61f25e7c25776dd718829f2c0be5293875b
 EBUILD libvirt-python-8.8.0.ebuild 1347 BLAKE2B b0e62429ecc6c357f082c3a86d2e60449862de600fb4cd5ea9fd26ee823b81432d39a6b6aa32671a57d5ed8ee94de5f041fbf108ed735bae60bb66ea1e77b5c6 SHA512 3d479e70d507625f86db1a2f03144d42b40f128047e8d58f0a14d3f7c54591ecdfa4ce81475ba659cd56881a07d2501dd799d65ddb429ab27b682a9dbe392ccc
-EBUILD libvirt-python-9999.ebuild 1347 BLAKE2B b0e62429ecc6c357f082c3a86d2e60449862de600fb4cd5ea9fd26ee823b81432d39a6b6aa32671a57d5ed8ee94de5f041fbf108ed735bae60bb66ea1e77b5c6 SHA512 3d479e70d507625f86db1a2f03144d42b40f128047e8d58f0a14d3f7c54591ecdfa4ce81475ba659cd56881a07d2501dd799d65ddb429ab27b682a9dbe392ccc
+EBUILD libvirt-python-8.9.0.ebuild 1335 BLAKE2B 6a2e5decfd3ccd4bd477281d70059668e7d729b130dc2034e37f2d07dabbe90eaff459bee1fb652cee9cde7b9e124bf8439917fb6b31ba5f774b119c7da6045d SHA512 c9a4a2aca31abce00aee67bf34b1bb5e74099ec6902fe72816d2652c4bf76bf2b6f258e5400b0ae261bf899cf188e04bf3878c61ce3ff1f9ba745888795733d3
+EBUILD libvirt-python-9999.ebuild 1335 BLAKE2B 6a2e5decfd3ccd4bd477281d70059668e7d729b130dc2034e37f2d07dabbe90eaff459bee1fb652cee9cde7b9e124bf8439917fb6b31ba5f774b119c7da6045d SHA512 c9a4a2aca31abce00aee67bf34b1bb5e74099ec6902fe72816d2652c4bf76bf2b6f258e5400b0ae261bf899cf188e04bf3878c61ce3ff1f9ba745888795733d3
 MISC metadata.xml 581 BLAKE2B b0ce75afc6b03055de71b4903b3d8ea2198790873051f4aaa5e15a2c3e77b50f320ec3d9fb7f379194889e771296f81c65f2826ca2283ba4d4a9a5ccc8af932f SHA512 a123b9833c1154c96842d234f5c8b729bd6be5a987a5d09035109261a27b0c6f2b26c3bed5865f4cc3b5b262e8a3d2c69908550fb804da15ea47d297ed9e39c8
diff --git a/dev-python/libvirt-python/libvirt-python-8.9.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.9.0.ebuild
new file mode 100644
index 000000000000..e84055ce32c2
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-8.9.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+PYTHON_COMPAT=( python3_{8..11} )
+DISTUTILS_USE_PEP517=setuptools
+MY_P="${P/_rc/-rc}"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
+inherit distutils-r1 verify-sig
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
+	RDEPEND="app-emulation/libvirt:="
+else
+	SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
+		verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
+	KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+	RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="https://www.libvirt.org"
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	virtual/pkgconfig
+	test? (
+		dev-python/lxml[${PYTHON_USEDEP}]
+	)
+	verify-sig? ( sec-keys/openpgp-keys-libvirt )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+
+	distutils-r1_python_install_all
+}
diff --git a/dev-python/libvirt-python/libvirt-python-9999.ebuild b/dev-python/libvirt-python/libvirt-python-9999.ebuild
index 59818c6c51d9..e84055ce32c2 100644
--- a/dev-python/libvirt-python/libvirt-python-9999.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -19,7 +19,7 @@ inherit distutils-r1 verify-sig
 if [[ ${PV} == *9999* ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
-	RDEPEND="app-emulation/libvirt:=[-python(-)]"
+	RDEPEND="app-emulation/libvirt:="
 else
 	SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
 		verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
diff --git a/dev-python/parsedatetime/Manifest b/dev-python/parsedatetime/Manifest
index da16cbcb714e..6ea35e723436 100644
--- a/dev-python/parsedatetime/Manifest
+++ b/dev-python/parsedatetime/Manifest
@@ -1,3 +1,5 @@
+DIST parsedatetime-2.6.gh.tar.gz 70732 BLAKE2B 099b2d4d434fabf3e3d587923a037608a982eee7986f5843f7a463acc52a736a0661261da557a16cfb310414778ef49b1d2bcde62bbf53807132004b526aa175 SHA512 ed7649feb8773fdb33d609ef0abe4d20f555744bd70e9766aba6b9a79d8415c7e2efea1d7ef5c6b5906f3bc90bff124ef92992ce17d83fe70575da2db918e543
 DIST parsedatetime-2.6.tar.gz 70732 BLAKE2B 099b2d4d434fabf3e3d587923a037608a982eee7986f5843f7a463acc52a736a0661261da557a16cfb310414778ef49b1d2bcde62bbf53807132004b526aa175 SHA512 ed7649feb8773fdb33d609ef0abe4d20f555744bd70e9766aba6b9a79d8415c7e2efea1d7ef5c6b5906f3bc90bff124ef92992ce17d83fe70575da2db918e543
+EBUILD parsedatetime-2.6-r1.ebuild 506 BLAKE2B 0e063f7f9eb9e0cc9668575c28f6b521ff6e81ba44800ebce3f6d0e3dd56a7c13a6dc1ec0d8eb0cdd7bdac7842e286ef19ae7f78dbf3fa6e786695208ac103f9 SHA512 8ba19269d0e3e421e79e345ebda860f20927880f92a1ee6878d239a8b260ce3ab00f8b89f2f0d59e4a6df091d3bcb3afd790f37428ef74c1909172f83b6d0e26
 EBUILD parsedatetime-2.6.ebuild 554 BLAKE2B 94315e4bd91ef50da5b5c82a367859afb0acd2b78ffa5c26836378d45b7652bfb54a96cb446d613ad93a1b586bfff59d814b2a1e7ecc8ac4b03c99d476528dd1 SHA512 50810d5b069edb8bd5003df7ed36c9e1db26a4de49ee6e379091f4fbed2c3b56e7e5be0167330f62960594926cc057997ba7d24946836ebe7d2c7b9a47969ca8
 MISC metadata.xml 465 BLAKE2B 5e3487abd250c58c950ac03390ac0f62456552e5b7de1f17265df08dce01fb693d677aa8c8b0b27c789f2ae08d75cd6d9520a2ba4756db81109447d452e3601f SHA512 655e257c64c529b1ac34cd7a6ad466ff0eca85fed3a395e0bbbfc7f12c0df34ba0325ffb9f690dff23020b058ec2f5e9721b5f720708240e8d71afdfa9e14ed5
diff --git a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
new file mode 100644
index 000000000000..3a5beb2d1d1c
--- /dev/null
+++ b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Parse human-readable date/time strings"
+HOMEPAGE="https://github.com/bear/parsedatetime"
+SRC_URI="
+	https://github.com/bear/${PN}/archive/v${PV}.tar.gz
+		-> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyrfc3339/Manifest b/dev-python/pyrfc3339/Manifest
index 2b0fcfbaf5a6..292a2cb2b2e0 100644
--- a/dev-python/pyrfc3339/Manifest
+++ b/dev-python/pyrfc3339/Manifest
@@ -1,3 +1,6 @@
+AUX pyrfc3339-1.1-pytest.patch 7009 BLAKE2B d8bb9cdbb758ef990bb74c2b03991dc3cdcc89dbfa7d0ac4c3649bdeab27a2c34a943dc2ac9d9a56b68bd3679a5216e3176e7cf5401146c439760788ff7adfbe SHA512 8289e64a9c7cd01d13da0f7bf9d373a9f03b64c0a0f3f3ad53970106ca5791f7c52d27ed5e0c0a9004531e14a0bf57514989e95fc03bbb9d408283101fe45fdb
 DIST pyRFC3339-1.1.tar.gz 5290 BLAKE2B d3094a22b6903937ae5cfee1210f04b65eb05dd606fe1d3245dca8ec0719ca1a079b720568d8c8e87fea691cebe1944098f99913b97a04570f06354a883e5694 SHA512 958b7761fab590aa42bb57a955c5d834441f717796a452b60df21663099dcf2fc046afe60f8157fd0f1edfd95c5e9c9c5349ab10ca4078d210fc63d848496a2f
+DIST pyrfc3339-1.1.gh.tar.gz 11727 BLAKE2B 210104e5e7c3ed917d6a3475335fce74e4da1c55fddbb76c539b3dd37ec4ce943334e530a9558d13954bc625d4f7f1a7ac2296abf0fd01e87a9664167f7de4be SHA512 96627bcaa64556cc0a87be985fd4f42e7733b342882a4dc5bc5b7d0712bf3f197e09d7c9b7f760117a772bb012829176a61b848903fc41584f26776d3f18ec8f
+EBUILD pyrfc3339-1.1-r1.ebuild 681 BLAKE2B 761d9046cb7f734bce738b9b6ef8469dd8868fe533f86d18fe751d247c666e06f76c196c4c8b6960cd0545335afacbdeb7ccb08150346d675ffebe743e768460 SHA512 ef401a910a08d137b60827e15fbb496dd1a4bbfe9509ea6244afb79ea1c60da018b11d3f5a6f79b482d2819900be1b38beb630d004e47f781a30471c61649184
 EBUILD pyrfc3339-1.1.ebuild 540 BLAKE2B 369ad23bf3b80756e102afac86e1b79a40d4de9ae545c151d2d8dabb19807bde153067d45276f3745db4bffe60083b135bd8257b18ebab68ea30835fbc549730 SHA512 b6d4a2f048412cbdbdccc5e827cdf0fd4237a8f598e78ebcaccd1dcbe35feb19d35a69235f81187a1328416935939e1aa8414ed4ddf68197eaf4a909576134c2
-MISC metadata.xml 374 BLAKE2B c78560e5a89c6217862b26e6d1034afbaa32f40f0d2cf0814be6b12cdd1545e6e359ca824789950cbbee57f84c0862b604ce8c93a31c912a8fdb8f2d6bc2f586 SHA512 23e62dfe15993f74a6bb366770b2a731c466441917fa61ed00dfee0e31786bf175318cda7a3fd641983a3fc158b67c302d385e278063b6b886d4a13057b580ab
+MISC metadata.xml 398 BLAKE2B bfad31a8be665f06a25a74223b53564db718e6fd0f4aa2f66cec6f4e6af71ed1ebacdd81c647b48e01989a0515fba6fca1e0e0b63838cf6e2d102a2d3c8bbbf1 SHA512 fdb8053e8e073f3b545424812d1f46f7451ba1c8b36c6d3bef3286d4f32385e20fa41958d54125da07f56cd07c446ec550398e91483a38c117c5141ac0ea0bd1
diff --git a/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch b/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch
new file mode 100644
index 000000000000..82dbbb32f3dc
--- /dev/null
+++ b/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch
@@ -0,0 +1,193 @@
+https://github.com/kurtraschke/pyRFC3339/pull/16
+From: Matthew Davis <github@virtual.drop.net>
+Date: Thu, 7 Apr 2022 18:29:02 -0400
+Subject: [PATCH] Remove python-nose requirements from tests
+
+Converted nose related tests to pytest.
+--- a/pyrfc3339/tests/tests.py
++++ b/pyrfc3339/tests/tests.py
+@@ -8,12 +8,11 @@
+ 
+ from pyrfc3339 import generate, parse
+ from pyrfc3339.utils import timezone
++import unittest
++import pytest
+ import pytz
+ 
+-from nose.tools import eq_, raises
+-
+-
+-class TestCore():
++class TestCore(unittest.TestCase):
+     '''
+     This test suite contains tests to address cases not tested in the doctests,
+     as well as additional tests for end-to-end verification.
+@@ -24,8 +23,11 @@ def test_timezone_rounding(self):
+         Test rounding of timezone values to the nearest second.
+ 
+         '''
+-        eq_(timezone(5429), '+01:30')
+-        eq_(timezone(5431), '+01:31')
++        if not timezone(5429) == '+01:30':
++            raise AssertionError("%r != %r" % (timezone(5429), '+01:30'))
++
++        if not timezone(5431) == '+01:31':
++            raise AssertionError("%r != %r" % (timezone(5431), '+01:31'))
+ 
+     def test_zero_offset(self):
+         '''
+@@ -34,11 +36,13 @@ def test_zero_offset(self):
+         '''
+         timestamp = '2009-01-01T10:02:03+00:00'
+         dt = parse(timestamp)
+-        eq_(dt.tzinfo, pytz.utc)
++        if not dt.tzinfo == pytz.utc:
++            raise AssertionError("%r != %r" % (dt.tzinfo, pytz.utc))
+ 
+         timestamp = '2009-01-01T10:02:03-00:00'
+         dt = parse(timestamp)
+-        eq_(dt.tzinfo, pytz.utc)
++        if not dt.tzinfo == pytz.utc:
++            raise AssertionError("%r != %r" % (dt.tzinfo, pytz.utc))
+ 
+     def test_deepcopy(self):
+         '''
+@@ -56,7 +60,8 @@ def test_parse_microseconds(self):
+         '''
+         timestamp = '2009-01-01T10:02:03.25Z'
+         dt = parse(timestamp)
+-        eq_(dt.microsecond, 250000)
++        if not dt.microsecond == 250000:
++            raise AssertionError("%r != %r" % (dt.microsecond, 250000))
+ 
+     def test_generate_microseconds(self):
+         '''
+@@ -65,7 +70,8 @@ def test_generate_microseconds(self):
+         '''
+         dt = datetime(2009, 1, 1, 10, 2, 3, 500000, pytz.utc)
+         timestamp = generate(dt, microseconds=True)
+-        eq_(timestamp, '2009-01-01T10:02:03.500000Z')
++        if not timestamp == '2009-01-01T10:02:03.500000Z':
++            raise AssertionError("%r != %r" % (timestamp, '2009-01-01T10:02:03.500000Z'))
+ 
+     def test_mixed_case(self):
+         '''
+@@ -76,7 +82,8 @@ def test_mixed_case(self):
+         dt1 = parse('2009-01-01t10:01:02z')
+         dt2 = datetime(2009, 1, 1, 10, 1, 2, tzinfo=pytz.utc)
+ 
+-        eq_(dt1, dt2)
++        if not dt1 == dt2:
++            raise AssertionError("%r != %r" % (dt1, dt2))
+ 
+     def test_parse_naive_utc(self):
+         '''
+@@ -84,15 +91,17 @@ def test_parse_naive_utc(self):
+ 
+         '''
+         dt1 = parse('2009-01-01T10:01:02Z', produce_naive=True)
+-        eq_(dt1.tzinfo, None)
++        if not dt1.tzinfo == None:
++            raise AssertionError("%r != %r" % (dt1.tzinfo, None))
+ 
+-    @raises(ValueError)
+     def test_parse_naive_local(self):
+         '''
+         Test that parsing a local timestamp to a naive datetime fails.
+ 
+         '''
+-        parse('2009-01-01T10:01:02-04:00', produce_naive=True)
++        with self.assertRaises(ValueError) as context:
++            parse('2009-01-01T10:01:02-04:00', produce_naive=True)
++
+ 
+     def test_generate_utc_parse_utc(self):
+         '''
+@@ -103,7 +112,8 @@ def test_generate_utc_parse_utc(self):
+         dt1 = dt1.replace(tzinfo=pytz.utc)
+ 
+         dt2 = parse(generate(dt1, microseconds=True))
+-        eq_(dt1, dt2)
++        if not dt1 == dt2:
++            raise AssertionError("%r != %r" % (dt1, dt2))
+ 
+     def test_generate_local_parse_local(self):
+         '''
+@@ -113,7 +123,8 @@ def test_generate_local_parse_local(self):
+         eastern = pytz.timezone('US/Eastern')
+         dt1 = eastern.localize(datetime.utcnow())
+         dt2 = parse(generate(dt1, utc=False, microseconds=True), utc=False)
+-        eq_(dt1, dt2)
++        if not dt1 == dt2:
++            raise AssertionError("%r != %r" % (dt1, dt2))
+ 
+     def test_generate_local_parse_utc(self):
+         '''
+@@ -123,10 +134,12 @@ def test_generate_local_parse_utc(self):
+         eastern = pytz.timezone('US/Eastern')
+         dt1 = eastern.localize(datetime.utcnow())
+         dt2 = parse(generate(dt1, utc=False, microseconds=True))
+-        eq_(dt1, dt2)
++        if not dt1 == dt2:
++            raise AssertionError("%r != %r" % (dt1, dt2))
+ 
+ 
+-class TestExhaustiveRoundtrip():
++@pytest.mark.parametrize('tz_name', pytz.all_timezones)
++class TestExhaustiveRoundtrip:
+     '''
+     This test suite exhaustively tests parsing and generation by generating
+     a local RFC 3339 timestamp for every timezone supported by pytz,
+@@ -135,36 +148,32 @@ class TestExhaustiveRoundtrip():
+ 
+     slow = True
+ 
+-    def test_local_roundtrip(self):
+-        for tz_name in pytz.all_timezones:
+-            yield self.local_roundtrip, tz_name
+-
+-    def local_roundtrip(self, tz_name):
++    def test_local_roundtrip(self, tz_name):
+         '''
+         Generates a local datetime using the given timezone,
+         produces a local timestamp from the datetime, parses the timestamp
+         to a local datetime, and verifies that the two datetimes are equal.
+ 
+         '''
+-        tzinfo = pytz.timezone(tz_name)
+-        dt1 = tzinfo.localize(datetime.utcnow())
+-        timestamp = generate(dt1, utc=False, microseconds=True)
+-        dt2 = parse(timestamp, utc=False)
+-        eq_(dt1, dt2)
+-
+-    def test_utc_roundtrip(self):
+-        for tz_name in pytz.all_timezones:
+-            yield self.utc_roundtrip, tz_name
++        if not tz_name == 'leapseconds':
++            tzinfo = pytz.timezone(tz_name)
++            dt1 = tzinfo.localize(datetime.utcnow())
++            timestamp = generate(dt1, utc=False, microseconds=True)
++            dt2 = parse(timestamp, utc=False)
++            if not dt1 == dt2:
++                raise AssertionError("%r != %r" % (dt1, dt2))
+ 
+-    def utc_roundtrip(self, tz_name):
++    def test_utc_roundtrip(self, tz_name):
+         '''
+         Generates a local datetime using the given timezone,
+         produces a local timestamp from the datetime, parses the timestamp
+         to a UTC datetime, and verifies that the two datetimes are equal.
+ 
+         '''
+-        tzinfo = pytz.timezone(tz_name)
+-        dt1 = tzinfo.localize(datetime.utcnow())
+-        timestamp = generate(dt1, utc=False, microseconds=True)
+-        dt2 = parse(timestamp)
+-        eq_(dt1, dt2)
++        if not tz_name == 'leapseconds':
++            tzinfo = pytz.timezone(tz_name)
++            dt1 = tzinfo.localize(datetime.utcnow())
++            timestamp = generate(dt1, utc=False, microseconds=True)
++            dt2 = parse(timestamp)
++            if not dt1 == dt2:
++                raise AssertionError("%r != %r" % (dt1, dt2))
diff --git a/dev-python/pyrfc3339/metadata.xml b/dev-python/pyrfc3339/metadata.xml
index d7b294b6dd87..e281084bc91a 100644
--- a/dev-python/pyrfc3339/metadata.xml
+++ b/dev-python/pyrfc3339/metadata.xml
@@ -5,6 +5,7 @@
 		<email>python@gentoo.org</email>
 		<name>Python</name>
 	</maintainer>
+	<stabilize-allarches/>
 	<upstream>
 		<remote-id type="pypi">pyRFC3339</remote-id>
 		<remote-id type="github">kurtraschke/pyRFC3339</remote-id>
diff --git a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
new file mode 100644
index 000000000000..4e06f4131a77
--- /dev/null
+++ b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+inherit distutils-r1
+
+DESCRIPTION="Generates and parses RFC 3339 timestamps"
+HOMEPAGE="https://github.com/kurtraschke/pyRFC3339"
+SRC_URI="
+	https://github.com/kurtraschke/pyRFC3339/archive/v${PV}.tar.gz
+		-> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/pyRFC3339-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+
+PATCHES=(
+	"${FILESDIR}/${P}-pytest.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+	epytest pyrfc3339/tests/tests.py
+}
-- 
cgit v1.2.3