summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin269786 -> 269808 bytes
-rw-r--r--dev-python/Nuitka/Manifest6
-rw-r--r--dev-python/Nuitka/Nuitka-2.0.5.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.1.ebuild (renamed from dev-python/Nuitka/Nuitka-2.0.4.ebuild)0
-rw-r--r--dev-python/django/Manifest9
-rw-r--r--dev-python/django/django-3.2.25.ebuild109
-rw-r--r--dev-python/django/django-4.2.11.ebuild100
-rw-r--r--dev-python/django/django-5.0.3.ebuild100
-rw-r--r--dev-python/ipyparallel/Manifest2
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.7.0.ebuild88
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-8.22.2.ebuild174
-rw-r--r--dev-python/jupyter-server/Manifest2
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.13.0.ebuild76
-rw-r--r--dev-python/libvirt-python/Manifest12
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.3.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.4.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.5.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.6.0.ebuild63
-rw-r--r--dev-python/nbval/Manifest2
-rw-r--r--dev-python/nbval/nbval-0.11.0.ebuild62
-rw-r--r--dev-python/reno/Manifest2
-rw-r--r--dev-python/reno/reno-4.1.0.ebuild45
-rw-r--r--dev-python/sqlalchemy/Manifest4
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild107
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.28.ebuild111
-rw-r--r--dev-python/tpm2-pytss/Manifest4
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch73
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch40
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild (renamed from dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild)12
-rw-r--r--dev-python/urwid/Manifest2
-rw-r--r--dev-python/urwid/urwid-2.6.8.ebuild47
32 files changed, 1170 insertions, 325 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 0505ba710d84..95533de5ae0a 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index 1dba8428c654..76782f7c23b5 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1,7 +1,5 @@
-DIST Nuitka-2.0.4.tar.gz 3932819 BLAKE2B 2e54e70848df30cc9f62e27ced44b356a4e817b9a21c8e8ec67a7432131cdc7d2f7bef9d3d1c26b47f34c906c2c6d7b84c10561515198b68fb3b63ed7de88fbf SHA512 b3ff3975ff3aeb1809e71bd8e8835a0d922ba26355e1e099d918df77a48976b625a3d47e0d0f99134292aee5dabaf34803448762b268aabad9cf1952440a64db
-DIST Nuitka-2.0.5.tar.gz 3932974 BLAKE2B 780a826774e480d5337fa541e58e841f3aa8b1f003ad1662bf614c967ebc612bd8214e3f58822c6c0583e813ca9c3492f863f48fa97927dbb7809e95d1379675 SHA512 4e4e4b5899a35bb0ce135b5141382b2a90a935f0ca43ab9cc44c9b3b3485684be2e2acbc1a050b343a4668eec17942a850a94eea1fbd8d46a2aa4586471e1224
DIST Nuitka-2.0.6.tar.gz 3932256 BLAKE2B fd8b00864dc7c5fe2ca9df5c9bf324fa601e5d1e46911e42a6174927c725b27a9b1f52b4e8e33a404489c400003618275a1d49ca3896b342293dabe70dc54467 SHA512 2a2c46dc062e6ca77ddca640771e10f9d597108633e7bd012b3342f74f389653a78de337347f4cb9063da7f089ee78b48300d0de26a4fa9287a6998692bf6477
-EBUILD Nuitka-2.0.4.ebuild 1110 BLAKE2B 53b492316e8b528c48de76d24ccf053bbde27a95e4a7dbf1af74d52a7c6df963cb12b660d992494ec332d36241051f19cad5ed05bb46f1e2c28922c12e5c1354 SHA512 08cde3d1329276fd4498e46e53056b0dd62169c8ce58ebfd00c927a6fe01149481b4b5faf18059c3026e607183ab7bb3a167d0440f7d43ca6008ff94af8a5761
-EBUILD Nuitka-2.0.5.ebuild 1110 BLAKE2B 53b492316e8b528c48de76d24ccf053bbde27a95e4a7dbf1af74d52a7c6df963cb12b660d992494ec332d36241051f19cad5ed05bb46f1e2c28922c12e5c1354 SHA512 08cde3d1329276fd4498e46e53056b0dd62169c8ce58ebfd00c927a6fe01149481b4b5faf18059c3026e607183ab7bb3a167d0440f7d43ca6008ff94af8a5761
+DIST Nuitka-2.1.tar.gz 3632504 BLAKE2B 61f40eacea7ac72a93c808da19177ceb98c63fe76958a28fb49418b00eb6fe26bc37a9534ef3790197d075dffbbd62be7a05e50fc0bc6c583697f2d379a812f7 SHA512 95d5a7d0979b32732e9520e1133ea0c78f20153a99a6a1fe66bcfc10b866d54f0ef57c6e08df4383d8a037af831113f67ca64b55a62ab1208b98e3eb381af352
EBUILD Nuitka-2.0.6.ebuild 1110 BLAKE2B 53b492316e8b528c48de76d24ccf053bbde27a95e4a7dbf1af74d52a7c6df963cb12b660d992494ec332d36241051f19cad5ed05bb46f1e2c28922c12e5c1354 SHA512 08cde3d1329276fd4498e46e53056b0dd62169c8ce58ebfd00c927a6fe01149481b4b5faf18059c3026e607183ab7bb3a167d0440f7d43ca6008ff94af8a5761
+EBUILD Nuitka-2.1.ebuild 1110 BLAKE2B 53b492316e8b528c48de76d24ccf053bbde27a95e4a7dbf1af74d52a7c6df963cb12b660d992494ec332d36241051f19cad5ed05bb46f1e2c28922c12e5c1354 SHA512 08cde3d1329276fd4498e46e53056b0dd62169c8ce58ebfd00c927a6fe01149481b4b5faf18059c3026e607183ab7bb3a167d0440f7d43ca6008ff94af8a5761
MISC metadata.xml 943 BLAKE2B d7ab883773e7480dcfb4b79932a3874e2274669169a24a54aa622a2a0ac079e0296da4bd196d166cb11fcff785985da0b10d0fae351032914ccf312c9bb9833c SHA512 625d8760b8e849c6e014856f584cb42f50bb5ebb1fa648cb704a5a1baf175e7d2ce9f43f6f724d11c81a68e364b6ac1c38459540b58f2ccd6a675902af5b1cc9
diff --git a/dev-python/Nuitka/Nuitka-2.0.5.ebuild b/dev-python/Nuitka/Nuitka-2.0.5.ebuild
deleted file mode 100644
index 123acd66de1f..000000000000
--- a/dev-python/Nuitka/Nuitka-2.0.5.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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..11} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-build/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka.1 doc/nuitka-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" dev-util/patchelf
-}
diff --git a/dev-python/Nuitka/Nuitka-2.0.4.ebuild b/dev-python/Nuitka/Nuitka-2.1.ebuild
index 123acd66de1f..123acd66de1f 100644
--- a/dev-python/Nuitka/Nuitka-2.0.4.ebuild
+++ b/dev-python/Nuitka/Nuitka-2.1.ebuild
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index deefb7e9ce9e..4d36ff9f9194 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,13 +4,22 @@ AUX django-3.2.20-urlsplit.patch 4567 BLAKE2B fc167eeba60856cde358a37239eda0cc77
AUX django-4.0-bashcomp.patch 2021 BLAKE2B f04c83b500a92ea8ef9609225191e38a41b3349a295beca8f8575ab05395d0cf37e1aefe295004b11c1bcf34cce9074ac7d274034cb50e1ae43e2fcb5d6952b2 SHA512 2215dca4120023b0fd839738bd602443c49e9adaa98d182bc74081ebe70613649c2dc11e2b5f6242701dceac25755adb8605774895091360b56ed1195a7e629e
DIST Django-3.2.24.checksum.txt 2583 BLAKE2B 87fa39627676d4ce75058df6dfc286eae160401b617a8c6e0e249cb4f2c608e00e9bd23ae8fd46fe405dc7fa94a2cd684dc943298dd4af430e370bf77ef0a386 SHA512 1475ec74eb389db2bb47cc5fb00080907a59534cc9f48ac9e5e3b275cbf8de3ada43377fe4e1ab22dfa30a43069e04db2f7a1a441cb60119bb5f835fd3a5ccb8
DIST Django-3.2.24.tar.gz 9833004 BLAKE2B d3809547f95aa266c1287cfa6d1fee32561456dc55763124138ed9b3afe2071b2bd45a737814210cc47c3d0033326ddebdc62f7c2902c6719d95a6ff895e5c1b SHA512 840b4c87e159d9714ac816fffb09faba76d3b130a76caffff68b7edd59e9488832ccd8c5ffaa8f0d066f0faa029f6ef2395f6a8e9351eaa1bcbd316d50965fc8
+DIST Django-3.2.25.checksum.txt 2560 BLAKE2B e082c588f4e124c9d71c1914e475fd70ed9b68583d65ea59ba0822b96de36c2edc98b4d9192f3d7c75467306fe03404303f6c2a98a026bdb5308bbd1dee89f99 SHA512 49a1610dcd61cbd322f0a5d7fe3cf249c0c4288b194fc8c2bdf7ec6fb8f92b69ca68dcdb71b79998cd80b978b70f48069669d996b6503261ba726c77c8b87672
+DIST Django-3.2.25.tar.gz 9836336 BLAKE2B 586520e0689b2594dd8ce4abb173418aedfde80cc84012d2a4207cbfc67120cbf405a8dfc8d069bb946f027f0eef22b233bd3b3ce569b01ea8fdc7836a6e530f SHA512 ccba83abd1777123186d685e21b96f41abf216a692d18ffe764d2e519eb9d1f6011d08c86b3affdd891591ca4ed7fee27ffa4750d19b486ca775ee680fdb0cb1
DIST Django-4.2.10.checksum.txt 2583 BLAKE2B 5529d8d83fb2ed7ca644ab929809f13ac59225f23b9590f3ab97d4926da7e10d6d3f47e2638c845e7b2cff3c1dd2a0ed50105d23bf3eff4c689811e1785a0661 SHA512 64bec1d2f31627d9347b93b1d947b80eee70257bc967393dfe8af5b56d845ec21ffdd2aba11106a5b4fe13d55a51949b8b156b341eca4327082fd21ee0db35b4
DIST Django-4.2.10.tar.gz 10425081 BLAKE2B ad014b3592d8f5d13d02aa91a029c8cdf85a9e0d3e1b1d3234c833523668059622077eda2fda6cabfd824cf6610b19ca3dc2ceb76c480bde6e97b946812ee162 SHA512 af8c4d596c6ede8a5da9ae0f435ca5c2c17f38b0ff3f31f058e36df695c767813b48f7260bbb8d8a261ef36f836fe1abffc563de185af51080dae1cf3f037f69
+DIST Django-4.2.11.checksum.txt 2560 BLAKE2B 75359ca138515642b4cb4bb17f4e5f18f94d9c4b5a98fe62f4813068d3dfccfa6c3fe1a2ae9ec24758610d0c5c8fe899b54f39b9cd657a92635e8cd7c6f7dcf0 SHA512 9ab3700f2675380dd6e18b5cc1ebbf4fbbd31680079e9232f96133810956e3ab5a46eefa45103a90bbec9d0ba85cc54f5cc2dd4f3d69c64960724f2821ecf3f3
+DIST Django-4.2.11.tar.gz 10426858 BLAKE2B bce1611700383831138a467cfdc3ad2780385429be040d197cb757206c3d1b4c82075cf6766f8222d0c061ee7c0a7a48caf8cd28e8fe6271c39dc47899c4b276 SHA512 5842f0c2592b695ecfd7f00d250075cb9581efc8a7f389f155dbac74d80ac7899f600ffba0d51e3391f15c4a1444554d901b8a673a1091ab7269e24862122ef0
DIST Django-5.0.2.checksum.txt 2573 BLAKE2B 705a85beaa4e277fe689d10784f10808b4a06cbb1af7d2417e812d78669256b53d5a2c7678997e96eeb0942c4b31c008628255bb8819e43cbae790b899daa04e SHA512 b37745d0905a2af5793e98c2e00d644f845bcbd236253165cf223b9c748a3f95e6d755d258706769d31fd1009f0815fe1708f6bdb9074343797bb906851ade1a
DIST Django-5.0.2.tar.gz 10619702 BLAKE2B 82608309047fc28f0c3cff15ecfa921b95bae7e2045a75da06e6db4acd74a7508a545ef9419d7b59861832feb6849112d76b49bd87740b797508cfdbaeaf23f6 SHA512 a9270eafb0e270222740ae94b2f866eddaab296768253f0d84c78760a2ac442e0f648af55f74b9b07082f4ccc4eeb91c4facdfdc32ec770936015524fcf4838f
+DIST Django-5.0.3.checksum.txt 2550 BLAKE2B d69fe42e77a1163509f570488b5744571b314b4f24aa0b2f3727ad26ccc53cdc4e16a4b53f21d7e31b0e120462b68397cb31cceded5f4f2d4f0fc9f7afd0f1ee SHA512 abf04cf4fb43f51a8ecef8924e000680184cbb39a9a1a80b679dd1b5cd1e8a90870bc9749b84a6ada79c76cf9c8adb7f870ac0c7ebad68330e8731acdaf3ff22
+DIST Django-5.0.3.tar.gz 10620661 BLAKE2B eaf2f04abf73ad36f7e7825d3655319fbab2268bf5da67ad112e2662f5f5c1bab16d485c75c681ec7e203c111b9676dab2f3552e599a5592a90981e6f7cc75eb SHA512 ed1899007898fc1f6c0889b28fc94016aa9cd2a3556f486bf77efc4310d04896c73bcef93fb4c9162ce884da01c557f6343a20da15a7d6cf2193fd9e88e0dadb
DIST django-4.2.8-pypy3.patch.xz 5900 BLAKE2B b7dc5c5fc162817a218ee6d025ed8a65559b80e4506e49ac393428c26e2621f9e7c5010b36f2412dea8194a9f1086ab21f97286eabd696c6a786285eb07393cf SHA512 f953b5adbd1364f1d84dde55087ccb493256b1327701275fd2fe99f3cd41751d18e002b6e21afc96892e1671428a6b8f3c2e4b88252c3c278f1a79e286bb73e3
DIST django-5.0-pypy3.patch.xz 6124 BLAKE2B 7eba7cc70b30743cf4e186a2c5b0f27c13f49114a7a80bcaa2b25fdd7a959583c115a302c9bc6da97c32f6401cf8f3616818ba759190d317c5b033a0f0088766 SHA512 c550e2b2c1243d13cd1f4908f4b6df606355d1491e3bf72042e4b4777a4474306ff0f67b1c2eb4ab4d137cc85bde52dcdbd54bec245d2ba2e092545be8a2993b
EBUILD django-3.2.24.ebuild 3017 BLAKE2B f59f9d40bd5ff49fbd1dc20b71ec0e14395378351eb136556a460d82e06d04384064b05b78e739f1b08f381de54d1951701e71ee508e68199d101b804609aa4b SHA512 6b7f57ece6f40c07b0add642d9e35595fb53114e13486a463af561fae20a7c9d5e63e4255531621737fc306ffd6bb57795db1bb0b7fdacc281b5be931343dd00
+EBUILD django-3.2.25.ebuild 3021 BLAKE2B ef6dcf41f55d27585f1a8a593510040ba4cf2232a10fc1a1df7fd3fecb3c66b73e8638448f6ecc78d891d351c9c0e97f52305d0d4d97f033e74066f469ebcd97 SHA512 258c5f7fe2f2979710eef0acbaea6946859a6c6af614b1088cd614c0ee1e7d251e601d9b37ed994912b08a92771e72ea32261e9bda22d3c1983ac937fb43b724
EBUILD django-4.2.10.ebuild 2825 BLAKE2B 5c1248317800bbbcfdc92cbaf7e5585cdd7751e4545898c90f637678673fedfb49afff9acf84de97d4329392744d174e936f7b958b029fe4909d0f25d4e16252 SHA512 1574b2c413e51cfc696c6408f85e33068d786e1b808dea2fc364bae84fcd70582e01d33db3bfa16ad559e9006bee30c837cec00ccbd72f87f53127b63aa50e47
+EBUILD django-4.2.11.ebuild 2829 BLAKE2B edce13ba1bb9ccebb08c1637893a51aee1b969cb49d19dfbd9967610f77fac1f6e5954ed17a17c0ac8ae3ac2d7bc7108cb51717e30fd12734ff3a8d92d63bb21 SHA512 e570e192c4851d59bf4e98ca2cf354c688cd5757935993042c7e187edba82deb2988c9caf0ab37514cd1f8838d252250070d9296949ba534198ac267f0a1fbc0
EBUILD django-5.0.2.ebuild 2853 BLAKE2B a7ff79d017a5e0b7d5294be5e4cac4b77cd633a062e5594bf1586c81e22d69a0d3213e7259141bd92fd53b1264ee12e2823a95313fbb197782acbebdd8fe7a96 SHA512 d939ca635853123ad1ddbde195d18467477858c4c8ff2889ef83cc418bb749a2f957ce19dd4e92c91dcb30ebaba9385cc39d9272eb71d7fbc2f1ef2920cb0999
+EBUILD django-5.0.3.ebuild 2857 BLAKE2B 09b9334029a7911afb4ecb699b9ce0606029d51d4f9342ebd23a0566ab0503cff7a6deddaa9e439ca10929328e8be642c49783af8618f2ec8d98ff93a39bb4e5 SHA512 54e147fcb459dc2ef1744519271305ce83989201027bdc554d7dd4b7f1b83ba17eb797cc6a3fadcd21265ebb7e2b8e6bcab3d079d55ffec2bf10d1828254fe01
MISC metadata.xml 400 BLAKE2B 6b3414ac734f078d90c82b44edd2f9f70e494e98da8a3d874d18006ae5e0eb5f7060b98b402094d6045e800bf525586f2566e6f554a8b2999cce37bdcc5472a0 SHA512 1cf0bb6ef93da3abbd1a66878462b1b8672a9b8fccd7f968b427e429caa6ecf30cb703a6060d621ccad1ba77b927d2b0e632b04b0a47975918ccbfcc5f2b85f7
diff --git a/dev-python/django/django-3.2.25.ebuild b/dev-python/django/django-3.2.25.ebuild
new file mode 100644
index 000000000000..6fd28d4ce937
--- /dev/null
+++ b/dev-python/django/django-3.2.25.ebuild
@@ -0,0 +1,109 @@
+# 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..11} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1-bashcomp.patch
+ "${FILESDIR}"/django-3.2.19-py311.patch
+ # needed for Python 3.11
+ "${FILESDIR}"/django-3.2.20-urlsplit.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_prepare_all() {
+ # Fails because of warnings
+ sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py || die
+ # TODO: this suddenly started failing
+ sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-4.2.11.ebuild b/dev-python/django/django-4.2.11.ebuild
new file mode 100644
index 000000000000..927c7bb1f192
--- /dev/null
+++ b/dev-python/django/django-4.2.11.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/python/django-4.2.8-pypy3.patch.xz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-4.2.8-pypy3.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.0.3.ebuild b/dev-python/django/django-5.0.3.ebuild
new file mode 100644
index 000000000000..1ff45ba52cdf
--- /dev/null
+++ b/dev-python/django/django-5.0.3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-5.0-pypy3.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest
index 71f63a64566c..eba87a564aab 100644
--- a/dev-python/ipyparallel/Manifest
+++ b/dev-python/ipyparallel/Manifest
@@ -1,5 +1,7 @@
AUX ipyparallel-7.1.0-test-timeouts.patch 2067 BLAKE2B 577b33b730f110775dbd61fe02d06834fe3c4eb3c730d6df16730bbc877402e9f4756b74691bb977c3892ff981d374a4d1b439bf2b682e76c496ce8502f26583 SHA512 2d0f9fb4966be06299b40cd2ad974b4f94cfedea84fcee38b900ce4596b15cd3963068fc374aa1c0e54765b92d68c5233965fd2d3696bba5474da24917d1f009
AUX ipyparallel-8.6.1-pypy310.patch 1304 BLAKE2B 93422fb00667ddcc3c3d92beda08f4a719fd7a577f05ecd03a19cd127cf5e393bac23242a34a25618b2f2ce58d43192665636084223d0f92d91e3b16d1ce316e SHA512 0e7a2ddff1024ab89dc7cdf5fc046fd473cafa463393bb1e3f35715b80b69707dcbe86f9ed3aa65422f10a04099855e97c6a2c2e03a8d593297f7c8a78e40f1a
DIST ipyparallel-8.6.1.tar.gz 6807935 BLAKE2B 23847974e9d5d1d06a64a6b01c845f539848c602b6ba6a22c64d8e0bd35a783ec3a09fc6618ae08490d35e49d497c1db61176f8c70065c4e61ec234a7fd00545 SHA512 e83447f9d52eed87e8513d2ee74d2d6b589a5c04b5bf6dfece6d87565dd9c5e46abd280eb5ab64266b2e759dec1007ab007d0b8232b6239768190bd6900f53ff
+DIST ipyparallel-8.7.0.tar.gz 6798726 BLAKE2B 2f948ab19883e9364cab82227ad9918010f144ccf8d9899c54e4a3a9df99bd42faf6001ba837e6c7bfb25738c6ad25f766396b76ba7fa5097d84f385d69dbc68 SHA512 96b9a3c1435dcb609c81856e5fc2763265a14610483e9d6c1a0b1fe5f7d6981d42d8f0d7b0c245cdf1fec10d4a832854dc745ca02ce90623734216dc858bb322
EBUILD ipyparallel-8.6.1.ebuild 2578 BLAKE2B 1492bfdd46f3979243efd1d356b0366153b05a029291208b158045a233f2b4d83ecd4f8671742c145a29431fea1631f4cfb67fdd8dfb80694fa8e78448ce4db8 SHA512 8271c77c4e46c16d960509f24c43db4262946485ef179b1e4ad5a736db7d1c4508125f592fe685e403b9e7685348f9d1b232f31718396cc5260291cfb511d6d8
+EBUILD ipyparallel-8.7.0.ebuild 2541 BLAKE2B ec008b6861dbdbc5c9ce7e094053f7e0d1b08e5daebef83013e254dd44c8ec4906fab44968cdd797cced6034c4cb7f31d3e74627ebf9c8543bbe7f701fa26cf2 SHA512 7c37a950430e33e3c191e94ca5c394bcefc996835a7f9a33c7d63ba9a0bd3af38575a318c6739ed1f8604d31c958559ea459fbb3eafd2be73e3968e9fd7ddc2c
MISC metadata.xml 531 BLAKE2B 92dd755dd3036f653f24eda893979487b8d5bbf3c369f3f10c3fc2e69ad6aef03cb6eca295bcb8c6f89f0838780c20132bfd2a33bb38b56b227e97258447c2e0 SHA512 fcd131d18b012d1511468777dd72e07ed28a514419923911082229c0256b9003d9afe2048b6c339cb5c94307026b52bc4e9b6781d45660178d18385d71af8f21
diff --git a/dev-python/ipyparallel/ipyparallel-8.7.0.ebuild b/dev-python/ipyparallel/ipyparallel-8.7.0.ebuild
new file mode 100644
index 000000000000..d1401a29b6da
--- /dev/null
+++ b/dev-python/ipyparallel/ipyparallel-8.7.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Interactive Parallel Computing with IPython"
+HOMEPAGE="
+ https://ipyparallel.readthedocs.io/
+ https://github.com/ipython/ipyparallel/
+ https://pypi.org/project/ipyparallel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/entrypoints[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-18[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython-4[${PYTHON_USEDEP}]
+ dev-python/jupyter-client[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-4.4[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/flit-core[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipython[test]
+ dev-python/mock[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-tornado[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+# TODO: package myst_parser
+# distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.1.0-test-timeouts.patch
+)
+
+src_configure() {
+ export IPP_DISABLE_JS=1
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # we don't run a mongo instance for tests
+ ipyparallel/tests/test_mongodb.py::TestMongoBackend
+ # TODO
+ ipyparallel/tests/test_util.py::test_disambiguate_ip
+ # Gets upset that a timeout _doesn't_ occur, presumably because
+ # we're cranking up too many test timeouts. Oh well.
+ # bug #823458#c3
+ ipyparallel/tests/test_asyncresult.py::AsyncResultTest::test_wait_for_send
+ # We could patch the timeout for these too but they're going to be inherently
+ # fragile anyway based on what they do.
+ ipyparallel/tests/test_client.py::TestClient::test_activate
+ ipyparallel/tests/test_client.py::TestClient::test_lazy_all_targets
+ ipyparallel/tests/test_client.py::TestClient::test_wait_for_engines
+ )
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # move /usr/etc stuff to /etc
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ optfeature "Jupyter Notebook integration" dev-python/notebook
+}
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 21d4d538797e..e0b6550d8c82 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,6 +1,8 @@
AUX 2.1.0-substitute-files.patch 1017 BLAKE2B 70577eb950a18345804a2a4b750bd233dc6a0b6bbdb524dfc66e0f4a7c69b0eeb2d35efb9d1845d567a11d1afa7881068b4757e42b9baf24dc01ba3026608a38 SHA512 fc4c9e12267ac5f04a2e16ad27334a093638538b8149ff380099fcbeb674a276ab9eb624a508010e37f82c05d5f7ab527a80e386b3e7b61c123ecb8effd9d542
DIST ipython-8.21.0.tar.gz 5490331 BLAKE2B ef76bb443d145518546a3eee8f615d7f76d788f7a9030f588ed9e6f8b1f196df19fa5a6bf8ec8056c69e656ed0a4cfa4d25211c71f4d5f73eed8062d7f579952 SHA512 947ee66c8df5b08feedc30b435ab25eaeeb1180c52a8278797bb5e289f403cd27f41edb7f0aff0c1c7a2d8d50c6f8d5ee81d5cf95854a04db1f4a63b3c6afdfb
DIST ipython-8.22.1.tar.gz 5490428 BLAKE2B 6216f6c321efc26659ee86fa61fa964d73de6901c1ea48c27c16184c889dfa143702561357762ec44cd79d8d31a337f551472266d82a1be1b1027cfe8e015464 SHA512 1bb4928662b8e58773ddd606f88b319cbe73afaa11d3f6829062169130b7d6d369da99f8a30e79270955ddb41ff185f2806b83e425e6be91a33a33896e8047af
+DIST ipython-8.22.2.tar.gz 5490399 BLAKE2B 61d7d30d77c0b422ba174ac3c3f17c753502d9469d1d2ba8e3f2583761ab1f26230172b7e2efa680bb8f7ef23ef47cfe56241344380591e3da0da5d15f385727 SHA512 ff9c56b0594e63dbb26aad466eb9449d41db4002da61837363aaff817b99a54f310152994e4d361dfd5b6c40452dedf3eb74825c6d0a7d8c5fff84c1ac20f7ff
EBUILD ipython-8.21.0.ebuild 4687 BLAKE2B dbe818ba69430f8d27abce20ff5ec4fbced9fc0654e6f7db0c94dfbcc9d2718a719f7b4651ffbb11afe2f5758462465dc3a7f97fec7310d4f7fb77362b3ccfd2 SHA512 872a1d026fcc2fe71fd01859b3081c0f8ba043c64988f0ac2a4a9021e768850ee0b7d573371aaeadff1407946252a0d64b9e6d59ec95a867a1e193496daa9f08
EBUILD ipython-8.22.1.ebuild 4739 BLAKE2B 3369da888ef502bc94ae64519d0d88aa26cdd3ff907cdd66a3772c4fc62d258ff5a440998ca3a0e88585cc73308e3708b92832501f0b3cb6fcb4951a03ed19ce SHA512 1ae0f4a09afc0390bcbbc7eea2194ace75b5191d8fea8517eb78e6e84fcef96fcdb9dfa6af505dd753bc10e869443c3919d84c24f46c367c07a1fda102267f3d
+EBUILD ipython-8.22.2.ebuild 4739 BLAKE2B 3369da888ef502bc94ae64519d0d88aa26cdd3ff907cdd66a3772c4fc62d258ff5a440998ca3a0e88585cc73308e3708b92832501f0b3cb6fcb4951a03ed19ce SHA512 1ae0f4a09afc0390bcbbc7eea2194ace75b5191d8fea8517eb78e6e84fcef96fcdb9dfa6af505dd753bc10e869443c3919d84c24f46c367c07a1fda102267f3d
MISC metadata.xml 2802 BLAKE2B 2fb6773ad4ef10d531f978e3ed40f6d99cf1586ec6d7cf2bf7e60fd5d640d082a0946651e0a066993320ffeaace3426066ca24c325926b62125ae91816707128 SHA512 965c3e36e05475d9454af8219b84e080d4c83d775f8a7e20a4951a82246d672c46fd3cb1fff5f8664d0ce8e8fcb846de6f15abc4575db3a6b7d87209194bcecc
diff --git a/dev-python/ipython/ipython-8.22.2.ebuild b/dev-python/ipython/ipython-8.22.2.ebuild
new file mode 100644
index 000000000000..6675e7636a89
--- /dev/null
+++ b/dev-python/ipython/ipython-8.22.2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+)
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/numpy/numpy/issues/25164
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index 389dfd7069f2..bfb3ae93da0a 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1,3 +1,5 @@
DIST jupyter_server-2.12.5.tar.gz 713833 BLAKE2B f6e133a5f778d2abe9971a94db9c033fbfba587fc6265dbeed20f903cb1f1007b53f263c5674945e324dd15879e77ffab03f94c236d4ddbde00179af7ae71f94 SHA512 dd4fee86cfe82641dc9bbab2de93f65b45e78d56fad6d0a5ecdc442a4facc93aecbe90516200fa742f13d83039119640279efd4c42ff53a08786671c79d4a268
+DIST jupyter_server-2.13.0.tar.gz 718244 BLAKE2B 578e67c6f3cc94c167c27b59e6ef3a5c7dc69048731da9480b2a4021fa52a16cce02d97d4986f5cb739cafd4041b183ccff1a4fa5b22e0cca6e46cdb9d101e86 SHA512 114387c34bf759bc9d27eedf2cb2ab12c07ddaec33d0d37c3bcaa776058c028220dc148fd7bc270644192a693b613b54d0195b5b809c2732c1e04d551b4d060c
EBUILD jupyter-server-2.12.5.ebuild 2371 BLAKE2B 97ae89fda48f8b4a61243a4cfc097c222e346a91e9ad2c07dd0aa5ab27f9c5630e2b8dce98cfab69a25cc911a9b65175d3f6820ce8a9a1deffa2cded4da3cf1e SHA512 74e6173875cfa551f85914bcf1fe4cc2d20933ccc273b0301d0d4be7c223c58dd68f21e4c592f3f342ab6a0c577437b4eabeedcdd97caf15ece5223d10965b5e
+EBUILD jupyter-server-2.13.0.ebuild 2384 BLAKE2B bea2389b859f1b8477092742eb0bec5555bbbf7f947ecf31a4f58e6de351a83479e97a61d468a078f9c4d1a7c05f41fca4363b284930f433fa5570d0d45812d6 SHA512 391de130350f8050158313d28bd01ea2e430f59aa208daee139e2b83cd9f9d9a8f7cac2e85ba3064646e43940adbba674e83a9606a87154b90aab7b56884a37e
MISC metadata.xml 544 BLAKE2B ec5a0aea1d2ad6ce0e59972d2ef4ce62c03877d464dfdc34bcb94a7d01304c63761c6bc30ed973bba1f4100e25f70541bed4eea858deb44f359d0e373ae1ade0 SHA512 ffe7deb7349ce99890b902a225b73913185bfa860237dea8c1a508a6a5e84bbb74ca7a5c43253c9986f97fb3fd1e9f2bb63ca60f73953fcc851359df8adb5fbd
diff --git a/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild
new file mode 100644
index 000000000000..3b97a60ddf95
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ dev-python/overrides[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.7[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest \
+ -p pytest_tornasync.plugin \
+ -p jupyter_server.pytest_plugin \
+ -p pytest_console_scripts \
+ -p pytest_timeout \
+ -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index 2d7cf203b510..d525f0f4da5a 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -1,22 +1,10 @@
DIST libvirt-python-10.0.0.tar.gz 246385 BLAKE2B 0d3411d5d138fe57c6a5b73423479939182a4b9fde29c74ea832db3664db7da392bb15f0381c3ead949c36554cfdbf322441380293ffb016377dc9d4a6b57756 SHA512 4c3f51b2669ad7dc571f05ddeb75bb375640d27f77c1511e6682d8c7a77074210c48ea6c2e125ce8b04a1512df8a6a41e6a2d291e853dcaff84da213c89a6097
DIST libvirt-python-10.0.0.tar.gz.asc 833 BLAKE2B f90f76364c84dff7f7346ea06a630b7085f9c6c7c9bf671cc152287f2123a4f8d1fd8734c3a2771468a8e4748fb7e8628738403b45e688dc36d3972999ff24bf SHA512 fd6048d6a8f73145e7e0512e55a86740a923c671b75aa505cb58291e9809d9927400eabf636db94d9e7093b3eb2c11df0e36d8de24ba9944ae05a8885201ebab
-DIST libvirt-python-9.3.0.tar.gz 244181 BLAKE2B 1f472233ea336bf7196f83c41606817c6422b08ba76bb07a39510018498cc378a3e31626155e9953881ac4718ca642df6878e9a2b6bfe74116052819fabf63c6 SHA512 5fe04eb6fbccb20f90637d5bb74887b0676743761838c91f6c7f08f8aff39ea8e1d8cdc50c4c244918c2100efb00c6bb380ac44b4d403a08863c8c99ecdbe937
-DIST libvirt-python-9.3.0.tar.gz.asc 833 BLAKE2B bb3f47ce3dea2fca251a956c170f98406485f3b738e068d6b3dab59c5f440aba7127683f484278866d5b39f53cd18a5dbb9697e701515c6d93141b3e7ecae18b SHA512 0123bc657ec2680ea998e70c62f2dba0f5960239faa43158e4897e4e3e287a0fdb29daa409bf98514b271477410308c959a0ab1e4e90fa82f409cd4f858201fe
-DIST libvirt-python-9.4.0.tar.gz 244574 BLAKE2B cdba846dc9e1c5023a0d8fe22da9f539f8b2946512eed6f74ff9c3516335c580d72d50609bab100a0f50289295cf8402e0d7c695a5afbe1ed989f89f758ee2ee SHA512 899d88009b54b1c6e225f609bf121d7b7ea7558fc8562a01b6b46d828c4882c01b3b129263f68354b5576727e2626d63ba12e6ff33bca2bad14ace75942d6069
-DIST libvirt-python-9.4.0.tar.gz.asc 833 BLAKE2B 32c46f9af1eef25e6c1803b35eeb03e81bb7ec85a5059070fc18676ca392385b15de8399bd3432d868b50e8ee52d20e67c9988b3152c4c89512f89283df785d5 SHA512 571cc70d763f4c1f5f3ef6aca02d051a59b5a5b6acd4d7035396336ce484e195a2f9f97cd715f7812cc54b1fbcdbe254d7b0ad088a806c54efa2471a3ca31391
-DIST libvirt-python-9.5.0.tar.gz 132020 BLAKE2B 00bf4c88618952ec8908f5fc6f2b36ca81abf2826d23d11515cce5c63af5412d224e589378256e41988ec6eb73d18343b7b300aaea93b18a9c5429572c2e09c7 SHA512 cf00a7deb6193df86472d509075dcddc1020b7d83f7cc1cd5347a48905647ced82222ec810e9640ae85585d58d66616ecef3d2289bc354e719d4de377abe330f
-DIST libvirt-python-9.5.0.tar.gz.asc 833 BLAKE2B 11aac50ec85e3aa88abc02f210bcd7371828b8aa5aeb0cf3ceaa477f32f7f4129f8cafa0abc356fa2333a7621bafe00524299627d7c5ed33cfe10b17e6e91671 SHA512 b43b714c3910ddd04c4a11dc1d88343f9528761eed432bb2293a03cb719d5993041706549a932810e0ef66cc5efe69295269ad545583328b17607190afa449a4
-DIST libvirt-python-9.6.0.tar.gz 132068 BLAKE2B 650f96b50c57bd23907a92fb20891fcd6e7d5ed7705432838e2d70a62cb9306aed8fe68133d1aa682630d47ac1c309304cf145ebc7ea68d881cae5b8d197e34c SHA512 bb44cde55ecd4e77b28fbea8eaf9ffa71c09bafd97aebd7ec32b7210e06e56c00c167aa1aecbe482eb5adfdf84b81ddb45eec54d1d7219ece0826c1a3efd8737
-DIST libvirt-python-9.6.0.tar.gz.asc 833 BLAKE2B ea10f24f42dc259b1b3c87957f782b490db09c19d310c0448aa229f7e5e329027c1eeb5bc5399d93f2c098508f219ef8f8110faff72d8dbf5cd7ac5ecaa3600f SHA512 78821adf4b35ffd8328f992db0aeef3d4e24434ec81a62a866c80cfdde47c5bd08e4832a9b2a033707db847a9e6a7581d87ed8d24bdb586335dfab4f2574be75
DIST libvirt-python-9.8.0.tar.gz 246277 BLAKE2B c333909d1f4fd32f9e05d42e468b3808971360bb8aaf35934ec25f8155f0231b2ff3bfd90944a50cf13e09cec3cf35fdf41fb5869b1683c1cd36b4767f2b3dd1 SHA512 c9871ca2fa9d18ae42c4aa76e9a7ba9f0a026061b058072c862c8fe402c2d2325189687e1490718360a9b8f6c13d8ae2adfbe54f79a367fb6be9fbde381f4901
DIST libvirt-python-9.8.0.tar.gz.asc 833 BLAKE2B 78e6556031c325674d26322d0a6a4dfc391dd050223bd6d939d30328fc7bb1a2f8671aae95eb3a37b916311e6f4c44a4c1929093844347e06dffa23480793e34 SHA512 b999d442f8e22d91ccf9988f53603159406b3aacd3469fd613ed24afd67722206eb2b319a1518bc7aa8cc12684f84685de885bd40c9ba7d9a94ef16cf03f6065
DIST libvirt-python-9.9.0.tar.gz 246357 BLAKE2B d2e6bc9f8ae3c722ffa18772e40965e7ef1acfb36a863d764ac39c694f687a078b6433cb780a27696f63c698c3e63d203ae1609b48ee31ea5cd95a21a3947666 SHA512 5a09b23b843080f2e55a7b00dc225e0bf23c9c23cac42ce4ffaff725020303745185482c2cc781d519020f50a335d4fa72a7a618bb2c1d0eb0845781d1b22ab7
DIST libvirt-python-9.9.0.tar.gz.asc 833 BLAKE2B bf7c3861f4a9d47478e7e9afcb21b8b8537f0baf525af462aebd849fc24510bcc575d851e06d8903d7480163b42520a4e4c88b7e01af90e7b759ea028839440f SHA512 bc509c67cd9d019f40994b415d7648d4e408a47758bf12a42653f315fd6e16d89568d59698922f73fbb11a858674d370222e41c7d1bba04e38a5665ddb1da853
EBUILD libvirt-python-10.0.0.ebuild 1458 BLAKE2B 2064e8915fdbbdf21ae3988653daf77f978ed86450ff72a609213bbfcefdfdeb8e604c4d41dbf88122856aebea657fc64901eb7a808c965c2aba8aeb9431ef1f SHA512 d5982669cf55f7e7b28a37c0a679119e88afc1357a6b5f00832254881d0b46f772bb974659e4b9df12f135cbcd82ea8e3e6870e8ec4b4164a718563e90b720d9
-EBUILD libvirt-python-9.3.0.ebuild 1454 BLAKE2B 2462ab8e926d6bf4623dce63dee905584fe5bf1b3718a95724a58477b25e3bbaa188220257033a980b4ba18c99586de37c31284ddae19063803339e03dc5bde2 SHA512 6b38f2d60392cf211c50224999a4be1e8dfebed7e6fb67bbfa7cfc985f9ec8881804de2f51fcb4e3808b08f1e731193c38900458681096cded7c6c573eb84518
-EBUILD libvirt-python-9.4.0.ebuild 1454 BLAKE2B 2462ab8e926d6bf4623dce63dee905584fe5bf1b3718a95724a58477b25e3bbaa188220257033a980b4ba18c99586de37c31284ddae19063803339e03dc5bde2 SHA512 6b38f2d60392cf211c50224999a4be1e8dfebed7e6fb67bbfa7cfc985f9ec8881804de2f51fcb4e3808b08f1e731193c38900458681096cded7c6c573eb84518
-EBUILD libvirt-python-9.5.0.ebuild 1459 BLAKE2B dfd6f665021f037636551b3b92f4b5edcefda1eca4c1507194fa72383d45d2c72545e1609006a7b17cbcfd9fe63411a0906679f324cfc1c6520af5ac79c0842e SHA512 807eddab32cccd40041a1fb18d671d3cb078704110500c804143210513bd84a35199ccd35caf61c09d600e146ef72e6f0b940f94343a58cd702b37f3828c4bee
-EBUILD libvirt-python-9.6.0.ebuild 1458 BLAKE2B 2055874dad10b4812e45c9112c4208795bd03a8418d0eac47b03e97438ef49b506f9b0535df90f6c29ed270051b1c4156e3ddfa06e2b38642b5468c873bd5c47 SHA512 41b87f1142930dad72c8bf888b62a5ec1d2a5b8b4e976057cb593964a3cdb16af3b4c2ca6b9bc6cfe469af9d203892134bbe80f816fe4bd3a17bbacf1869a464
EBUILD libvirt-python-9.8.0.ebuild 1454 BLAKE2B 9c3b84c2bc43a54009f9dd6ed73597ae2551d237be099103f135d97d1e09ba8589e76a14d8602ab8220d8fdce85b67b10383da1df0ec98f61f5471a885e673eb SHA512 c623f3fd3f6afdbc50ddf2e6d9d70b3e77bf55aa1a9cb0b463bc79a074ae26078dfd646dcf624b8d644c0c4d5e4552ea702e6ab8f8b282fb428a7dc618b457c2
EBUILD libvirt-python-9.9.0.ebuild 1458 BLAKE2B 2055874dad10b4812e45c9112c4208795bd03a8418d0eac47b03e97438ef49b506f9b0535df90f6c29ed270051b1c4156e3ddfa06e2b38642b5468c873bd5c47 SHA512 41b87f1142930dad72c8bf888b62a5ec1d2a5b8b4e976057cb593964a3cdb16af3b4c2ca6b9bc6cfe469af9d203892134bbe80f816fe4bd3a17bbacf1869a464
EBUILD libvirt-python-9999.ebuild 1458 BLAKE2B 2055874dad10b4812e45c9112c4208795bd03a8418d0eac47b03e97438ef49b506f9b0535df90f6c29ed270051b1c4156e3ddfa06e2b38642b5468c873bd5c47 SHA512 41b87f1142930dad72c8bf888b62a5ec1d2a5b8b4e976057cb593964a3cdb16af3b4c2ca6b9bc6cfe469af9d203892134bbe80f816fe4bd3a17bbacf1869a464
diff --git a/dev-python/libvirt-python/libvirt-python-9.3.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.3.0.ebuild
deleted file mode 100644
index 7892b93ebbca..000000000000
--- a/dev-python/libvirt-python/libvirt-python-9.3.0.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
-
-# 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!
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-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
- MY_P="${P/_rc/-rc}"
- 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 ~arm 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 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-
-distutils_enable_tests pytest
-
-python_compile() {
- # setuptools is broken for C extensions, bug #907718
- distutils-r1_python_compile -j1
-}
-
-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-9.4.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.4.0.ebuild
deleted file mode 100644
index 7892b93ebbca..000000000000
--- a/dev-python/libvirt-python/libvirt-python-9.4.0.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
-
-# 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!
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-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
- MY_P="${P/_rc/-rc}"
- 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 ~arm 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 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-
-distutils_enable_tests pytest
-
-python_compile() {
- # setuptools is broken for C extensions, bug #907718
- distutils-r1_python_compile -j1
-}
-
-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-9.5.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.5.0.ebuild
deleted file mode 100644
index 8a35b79b93f7..000000000000
--- a/dev-python/libvirt-python/libvirt-python-9.5.0.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
-
-# 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!
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-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
- MY_P="${P/_rc/-rc}"
- 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 ~arm ~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 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-
-distutils_enable_tests pytest
-
-python_compile() {
- # setuptools is broken for C extensions, bug #907718
- distutils-r1_python_compile -j1
-}
-
-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-9.6.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.6.0.ebuild
deleted file mode 100644
index cd5a82350d8e..000000000000
--- a/dev-python/libvirt-python/libvirt-python-9.6.0.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
-
-# 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!
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-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
- MY_P="${P/_rc/-rc}"
- 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 ~arm ~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 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-
-distutils_enable_tests pytest
-
-python_compile() {
- # setuptools is broken for C extensions, bug #907718
- distutils-r1_python_compile -j1
-}
-
-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/nbval/Manifest b/dev-python/nbval/Manifest
index 0acbb2a5e01d..55b458837286 100644
--- a/dev-python/nbval/Manifest
+++ b/dev-python/nbval/Manifest
@@ -1,3 +1,5 @@
DIST nbval-0.10.0.tar.gz 62727 BLAKE2B 5b8d2815ec38481da1c0b3b5b62f809a231c4d136499b73ef13dba6a5214c87a5d4f77db1d81488e1bf13bd3ff365414e75760763a56a3cc28e752dd316ac009 SHA512 3e0e495db40aa4969e03ed1359f0c509b7470a54b3d8b6a85731601af5da0407bd44b3f069178f1a6b3aca7bf243747aaeaca4cb2332912e917e360f705eae61
+DIST nbval-0.11.0.tar.gz 62718 BLAKE2B c1f82c1333dadc348dd53008c554a07783ff0031b96b48127adffba47195a0b7f5591531443e24846337806e071ff0fa6b1c66d516feddbc26119a3292fe52fd SHA512 f47cfce7261612e59d61d0f9e4bc51fcc5d0305377f830e09ddd8b4e9854cff801a626431b4014f470457d55824c0424d5fec9d104cd9b0f36adb44fa72db757
EBUILD nbval-0.10.0-r1.ebuild 1454 BLAKE2B 151cf25a3da2ca8db2317b724981f481befdcb25db9e0bb9ede171a7eb4d6706346a05ddf6fb198aabbca5d2c58a04add8711fff436aba9fc57da77c7f407e6e SHA512 307b832930999596d39b4a88e9b16704d3946f1d7cab6985ac3e9cd82061581a096a3492c841ad9ca775f860e7e076d139c4f0a1b9a342d015b3dfc290a7a514
+EBUILD nbval-0.11.0.ebuild 1459 BLAKE2B 2ec996cdbc1781ef1578c938d3ead4d1271f5f1d27d4de4ecb3ee9d7260f6e05881faf98556808045aea8ff203bb7503cc86bb70d57f1c7c4d19ee6f5d7497db SHA512 467e7dbd4ff5e13cf25bad8bde83a55085a456dfac38654c3b6874a52859d98bccd6c286d1d1a4958b224288bcd192a2d4c3fb017d7ae97d07a62aa153b39146
MISC metadata.xml 984 BLAKE2B 1f5a69806d70ed9aa5c0cf2a7f3466afc76e8b5078923142d10aa8ac5a68ab41dc54cd2345cef061236b7b68fc13fc76ff7a072b9fec8697eae259272a32aefc SHA512 13284c08e700976e1da78dbfe0038c2cca1d1e3f286726c4096ad53ded3b6ebbaabd51e105f70781be57293a46d8e2de3116e406cee4ac35d2dc80f1a165a7f8
diff --git a/dev-python/nbval/nbval-0.11.0.ebuild b/dev-python/nbval/nbval-0.11.0.ebuild
new file mode 100644
index 000000000000..2bdb688af430
--- /dev/null
+++ b/dev-python/nbval/nbval-0.11.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pytest plugin to validate Jupyter notebooks"
+HOMEPAGE="
+ https://github.com/computationalmodelling/nbval/
+ https://pypi.org/project/nbval/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter-client[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ doc? (
+ virtual/pandoc
+ )
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/sympy[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme \
+ dev-python/numpy \
+ dev-python/nbsphinx \
+ dev-python/matplotlib
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Mocker not packaged
+ tests/test_nbdime_reporter.py
+
+ tests/test_coverage.py
+ )
+ local EPYTEST_DESELECT=()
+
+ if ! has_version "dev-python/sympy[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ "tests/test_unit_tests_in_notebooks.py::test_print[${S}/tests/ipynb-test-samples/test-latex-pass-failsbutignoreoutput.ipynb]"
+ "tests/test_unit_tests_in_notebooks.py::test_print[${S}/tests/ipynb-test-samples/test-latex-pass-correctouput.ipynb]"
+ )
+ fi
+
+ PYTHONPATH=. epytest # 895258
+}
diff --git a/dev-python/reno/Manifest b/dev-python/reno/Manifest
index de3106d385ce..2987ba842dfb 100644
--- a/dev-python/reno/Manifest
+++ b/dev-python/reno/Manifest
@@ -1,3 +1,5 @@
DIST reno-4.0.0.tar.gz 84541 BLAKE2B fdb04fb337d4cd1f9ec7c4656fdacdd76135fc44dc3357fdb43056204756ccbf854fdadccf319c3c3b2f19b611479b34f8e5afcb20f178c2aca2aca5241a165c SHA512 1058416f0291a6d8fe8e3600f0e02ebc8146541fd665b4c5027c24f1e3192f178424701a48c4413f94c997719cb82fd257dff5d0fcbb5fd7fcb4aba205baea62
+DIST reno-4.1.0.tar.gz 86657 BLAKE2B 001a2723f814b537926fd4cf6eb70acd28661affa4d3a6a20f35f2409e262e7a3431480d6cc8e95a87b2ab49399e02dba85e810155b0092f2fa5455e5842ad97 SHA512 b0db51f61bb5a1bef3b0149b1bd3c6cdb6c8189e4325d2acffc122e7960a4c3d1afa87318596ff3bef99ea06e911d3260c5207951cc6d6b036e49b07969243a4
EBUILD reno-4.0.0.ebuild 1175 BLAKE2B eebd6a1c2cb9d1c76caeaac7be84a29b2e6f715751ef15e0cf1f5a954be454e570ec090bf3722dc0ff176078640a734ada1329e65ba3bed078060262339fdc01 SHA512 72da7fa374667b0edd055e8406daf784902165283a8b344faabf51880648111ac6d549f2428ab74ecc421f1853e6433d21169737745dd01f0be38e339552f9ce
+EBUILD reno-4.1.0.ebuild 1178 BLAKE2B 32ccaae348eed790508fb6f47d5acf2a2316110e0a464c13984d75604f016809dbdc7e5f7b93efb54005b2c8361668900d22cfb3e56f0997a384afe4c615f1a9 SHA512 2d48a3de348b1f74bf356a8ed31b332049113e1c1ff3355755d73dc9c43ff5649e3c368b60eb75e2ec224ab0ba9ffffe1d1a4c2437100f7acb0a3a8cf6a49f7d
MISC metadata.xml 501 BLAKE2B 3c3c1d7026eba72db293c2c7e628cd79127314ac578b1cd2db662e058c0be9b0225b3304dbb0f5b30d38729e6bb495014905ae27c924fcf01b3410e2e7f1a0db SHA512 8944b85dd5a9dbd5419abbd8c70d74d414f987053a9721ec402b047af2e35b2584254d19aede528cb96b8f720f8b92cabb6797ddc2c41ea700c2fa5e3ecef627
diff --git a/dev-python/reno/reno-4.1.0.ebuild b/dev-python/reno/reno-4.1.0.ebuild
new file mode 100644
index 000000000000..4794f156fb8f
--- /dev/null
+++ b/dev-python/reno/reno-4.1.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="Release notes manager, storing release notes in a git repo and building docs"
+HOMEPAGE="
+ https://opendev.org/openstack/reno/
+ https://github.com/openstack/reno/
+ https://pypi.org/project/reno/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.11[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ >=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+# The doc needs to be built from a git repository
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # Some tests need to be run from a git repository
+ rm reno/tests/test_{cache,semver}.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index aa4beb9de3f7..90d433c8bf7f 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,9 +1,13 @@
DIST SQLAlchemy-1.4.51.tar.gz 8521574 BLAKE2B 216550225c11d5367e5a50ec321a09078b4677973cf33eee1874beb9f855cfeb629a6df4d05e8ecc5b22052628de5cae2e468d18d50502a4560bd4ca7d85ab7d SHA512 be27a41f442428cdb5cc6a20af2de9424384457475d16a7d7167b718256e208766e2ba8d53bef2b314aafe87b3d9b0c5f9af6e4c03f53fb194671cfaca6e50b5
+DIST SQLAlchemy-1.4.52.tar.gz 8514200 BLAKE2B b41fccb885ce6761e29621a654c97537610a1875d66302ba56fac560f5c85db35b14595efd903aebfd0186ee39b75a8666e1304cdee6a6ec6eb9923bc602b9e5 SHA512 afda6a3503c9d2baba8c1dd9e7216d5ac1561f52f5f11009c41a1a98ac998643c980c60cf8ba4d84c4af8808be26ead9fd2e7a2c8bf15b2fdb521b4e5de7748e
DIST SQLAlchemy-2.0.25.tar.gz 9508797 BLAKE2B 88f8927af1a20bdc3697e90112d515a04c64879bc806ae655d326f22322210853c2995ad884cb510a15d14ae12eb7612d867f701ab8f938ec0227abaab642497 SHA512 60b31a167f46a623f76e349f6a3f5a1696e1a04aee8dec2750396c715831a242a96e281ee7fcbfa26f82e6318573ab58e97d21bd93d02bbe3ff962777d809146
DIST SQLAlchemy-2.0.26.tar.gz 9526590 BLAKE2B b68db1bd26106d199559ab80381c33c2bc0fd767f7a25e90216ddb93e2207fae5b85f369536f3531cb2699f6ed815a18f60860f0003c36d74a3c61080faeb1f2 SHA512 62532253ba6dee0c8e5c89487459ce783eb3d00cdcaf645efa5b68a03b62cc92ab7b447c791ac05bd552910edd223a390ab930a16b6234afb5dbe6d9c05b997a
DIST SQLAlchemy-2.0.27.tar.gz 9527460 BLAKE2B 06c3649c00fad1a82305502fce00938b85098a6e283eccc5992bc6b1df564a2947557db6bbd3633f96096fabca1fcf8fb1edee125b86be3a31508d6878fcc3be SHA512 78f0aeda4352e05282b86bdcaaf369804e4294e10f944a15cacd518b3741cf6359880d7400ec689e234ad6f8227d32822aa9073ed33f40825c3542102ebcada5
+DIST SQLAlchemy-2.0.28.tar.gz 9531010 BLAKE2B bd989adcdfe9640d001a97f48d782628ae307fd24d74ad227cf8e767bf0cfcb71b95f8a3506768146477b09f5196323e435092899d4ecc139a422849fc787a52 SHA512 83745aaf2d0b469dbbb28960eef4a1e23fb8fe8a2f4b8cb055cc06c5bd4ccb2f365a2b55c7ca76be2d809d4127e16ace06f4e50f59f63d946e3225375499f4f0
EBUILD sqlalchemy-1.4.51.ebuild 3436 BLAKE2B 60b2e39902de5052fefb003514f3fb232cfd23ade139e8c5fc4d2b625d8fd65a40b22d6ae2593c7ee6ea12d1ce1dd4b192dc95cde3485671f292d96e3bd8999f SHA512 1c3c8bbd5459690c689ada1cfa9c89cf58298c6ade58117b9331ce99f3a7df8307f8976baaf03911ba3c828da05cd6c8b743cd2bd5120a7dbcf9e42b35fcc7a1
+EBUILD sqlalchemy-1.4.52.ebuild 3444 BLAKE2B 7e8a1d2507e494a09a2b1d00681ecdde6966a531bd41de14b970ce8e49f5cf5e40ab0cefbd8a419644b08fa63715b6ab94742a9d289e78bb54baa67a04a59436 SHA512 38911a8a54aefddb26ab3adead0b96b49e7e3fcb24aefe974b68b82d4158cc4a385ece281e7b5430cc79b3cbf0a5f52f779695a6b3f78c5cef27e56c92e722be
EBUILD sqlalchemy-2.0.25.ebuild 3954 BLAKE2B 9bce2efb81f5909ecb56762d4ab38fa16384109148131c76389b5bdf4f7644e1a6ed01a388d11a1cc975d7b55380e17cc7256bd38237f3b1cfe3c4634067ae97 SHA512 b655ead9dbfd58766b379a9f6f546185fd497ef478de0e323a5d87d8d5bd5698e5d503cb151a5c57c3b60241800826d53ec9779a38a2f4ac629b567809379c33
EBUILD sqlalchemy-2.0.26.ebuild 3962 BLAKE2B 257ac594f9b76b02da6801683e8567085b3655fbd3aaf771fcc866f6e6f77d30b84d023000dae93f5c69e567ebb4fb54e15a11d9aff310f150122e9fed316fa6 SHA512 6b2f134d62958445e5e2049138ed296347c4734e7e81dbff51a6cb0b1323762ebca97e2acf492ba1c54a5a491e35ce095c68a480fae5781623099cfe34db9963
EBUILD sqlalchemy-2.0.27.ebuild 3955 BLAKE2B 988449063437a2478db4ba705d66e863ed4a9f8724a8751cc73248e61fc50ece848b61a13815a3e5faaee0674487d9c15bc6bb236579018498b543c942ae5198 SHA512 7d7bca67701ccf7474f91c711c7e3c9e94a8d43662ce0c45410c7ff5ca3aa87445ae7c2d3a9e0490923751d40122d3441c3517a11347b7cf86aee35d12799d2b
+EBUILD sqlalchemy-2.0.28.ebuild 3962 BLAKE2B 257ac594f9b76b02da6801683e8567085b3655fbd3aaf771fcc866f6e6f77d30b84d023000dae93f5c69e567ebb4fb54e15a11d9aff310f150122e9fed316fa6 SHA512 6b2f134d62958445e5e2049138ed296347c4734e7e81dbff51a6cb0b1323762ebca97e2acf492ba1c54a5a491e35ce095c68a480fae5781623099cfe34db9963
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild
new file mode 100644
index 000000000000..74ef3364ffbd
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild
@@ -0,0 +1,107 @@
+# 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=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+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 +sqlite test"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+)
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+
+ # TODO
+ 'test/orm/test_cache_key.py::EmbeddedSubqTest::test_cache_key_gen[memory-_exclusions1]'
+
+ # deprecations
+ test/engine/test_parseconnect.py::TestRegNewDBAPI::test_wrapper_hooks
+ test/engine/test_parseconnect.py::URLTest::test_component_set
+ test/engine/test_parseconnect.py::URLTest::test_password_custom_obj
+ test/engine/test_parseconnect.py::URLTest::test_update_query_dict
+ test/engine/test_parseconnect.py::URLTest::test_update_query_string
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ # https://github.com/sqlalchemy/sqlalchemy/issues/8762
+ test/orm/test_query.py::YieldTest_sqlite+pysqlite_${sqlite_version//./_}::test_yield_per_close_on_interrupted_iteration_legacy
+ )
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=
+ # upstream automagically depends on xdist when it is importable
+ # note that we can't use xdist because it causes nodes to randomly
+ # crash on init
+ if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=xdist.plugin
+ fi
+ epytest
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.28.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.28.ebuild
new file mode 100644
index 000000000000..f6836f064aa4
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.28.ebuild
@@ -0,0 +1,111 @@
+# 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=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+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 +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/tpm2-pytss/Manifest b/dev-python/tpm2-pytss/Manifest
index 016628986aea..d94f249ee59d 100644
--- a/dev-python/tpm2-pytss/Manifest
+++ b/dev-python/tpm2-pytss/Manifest
@@ -1,4 +1,6 @@
+AUX tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch 2494 BLAKE2B 98250351f74b43bb03c714fe208e7ceeae295b5341426527e09ceabd7138b354b765fe8630b50ba37b0e0c157761ac4b8aa5cd7a516a5af3e81a2fc6fd94b989 SHA512 b4a67e42e91af48282648ca673e949380b1df32df2ff9595de387720ee0537c6c350d2bb836b320f6fadee6c6a83d52e3d97708a0797f5d699959e611e1c2995
AUX tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch 1556 BLAKE2B a3346aa7a685514b2dab15c713ae1661e8edbfc91414a2c2d0cfe939fa7761c551095a03156119bcb73cbe8605abf80446f6fbc9ee7efdafd45f39cc88074679 SHA512 68746d0f71141ea4f8add786aec8f04d50e4b2fb5883d7cecea5e9eab13682bee4bf177bf9351f9a7caa9494430e608c4eb70aa9ca82bf42c379dfe6ddcbe1d5
+AUX tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch 1491 BLAKE2B bc39ba520ad03ff22b573f6e93bb6e4cea5d776ca667abad79e3ca09b88116c61e458743f954f2676503a488e5003b78eeb45b3bfb942988651018a83c94c80e SHA512 1ddd469ed5775b742461a2d7a48e692871c6c1a5d9696ae7dadf531707f003a0679dc618d1231b25147b3b744d57130804c4dedeb3ce20a9855a3a2813fe18f8
DIST tpm2-pytss-2.1.0.tar.gz 203244 BLAKE2B f960fc08c12d10835ec7127e47842ea82b760e2de4fb3060a2f55f9bab5396cbe6f8edd07cb35b98d90ba8ec22c2d3ff287acbad47feac05f02df38b154f2132 SHA512 b4d8b3a0124e67278f08ff72d3635221e84ae26b6a5489ee159e641931aa9045b4b5111ed02d5ff86d69bd89b8460b2592a3fdb94742562351e41783c78184ba
-EBUILD tpm2-pytss-2.1.0-r1.ebuild 1026 BLAKE2B f3c3553bc01cbb83ca7e26516b057f0cc83b67ec3e5d03c0465b9c1224a744b5805414774e75aa03ba21342361df2538aa223cbec130e2a33049b1be1f7b133e SHA512 1ed9a338ece9f58816a77c2364bb7f00dbe15558cf3a2358b9bc1223f67f863bfdc71a90d703869ce6735febd72710fec20824c91e9c474f7b42db2dca7b5a35
+EBUILD tpm2-pytss-2.1.0-r2.ebuild 1230 BLAKE2B 13c672d69ea01f1f89e6bb43773134a8b867e89ad8adcd25c0b88a82f59139af1cd2f3d040506ad54146874ddfe0e16edfd30e01bb8e443a2ac94a02cad8ea0b SHA512 656c63c9c2da8f1b4856fc91b8d7b441a1d30baadb1208148a8a7e1a43b4042ac867e55749cfddd7ee7530547cb7c0fa67492bfe94c455ba94149695040b9000
MISC metadata.xml 648 BLAKE2B e4de9aae579210454f1a71043de7073c1aa7ead9c5acdea48ec2c8ebf5665ebb6837f198b6de49f7ae58bd1f5062ed4f8ca7092df56d8904aecd16bc226d95cd SHA512 dd87ec10b28530281c08d57d86a5004178e4eda729a43690ad4ab84effe246b34d777ec56c66d61a1e0335d2b9c1599366aa55bc58477f7c2dfa4eec5ab7d9ac
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch
new file mode 100644
index 000000000000..4aaecd935c22
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch
@@ -0,0 +1,73 @@
+From 0fbb9d099370c0a7031dd13990986538f586836a Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Fri, 26 Jan 2024 12:01:41 +0100
+Subject: [PATCH 3/3] internal/crypto: fix _MyRSAPrivateNumbers with
+ cryptograpy >= 42.0.1
+
+RSAPrivateNumbers was moved to a rust implementation in 42.0.1.
+So inheritance is no longer possible, so turn the class into a
+wrapper instead of a subclass.
+
+Fixes #561
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ src/tpm2_pytss/internal/crypto.py | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+diff --git a/src/tpm2_pytss/internal/crypto.py b/src/tpm2_pytss/internal/crypto.py
+index 93e5181..42030c5 100644
+--- a/src/tpm2_pytss/internal/crypto.py
++++ b/src/tpm2_pytss/internal/crypto.py
+@@ -23,7 +23,7 @@ from cryptography.hazmat.primitives.ciphers.algorithms import AES, Camellia
+ from cryptography.hazmat.primitives.ciphers import modes, Cipher, CipherAlgorithm
+ from cryptography.hazmat.backends import default_backend
+ from cryptography.exceptions import UnsupportedAlgorithm, InvalidSignature
+-from typing import Tuple, Type
++from typing import Tuple, Type, Any
+ import secrets
+ import sys
+
+@@ -220,7 +220,7 @@ def public_to_key(obj):
+ return key
+
+
+-class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers):
++class _MyRSAPrivateNumbers:
+ def __init__(self, p: int, n: int, e: int, pubnums: rsa.RSAPublicNumbers):
+
+ q = n // p
+@@ -231,7 +231,12 @@ class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers):
+ dmq1 = rsa.rsa_crt_dmq1(d, q)
+ iqmp = rsa.rsa_crt_iqmp(p, q)
+
+- super().__init__(p, q, d, dmp1, dmq1, iqmp, pubnums)
++ self._private_numbers = rsa.RSAPrivateNumbers(
++ p, q, d, dmp1, dmq1, iqmp, pubnums
++ )
++
++ def private_key(self, *args: Any, **kwargs: Any) -> rsa.RSAPrivateKey:
++ return self._private_numbers.private_key(*args, **kwargs)
+
+ @staticmethod
+ def _xgcd(a: int, b: int) -> Tuple[int, int, int]:
+@@ -251,15 +256,7 @@ class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers):
+ #
+ @staticmethod
+ def _modinv(a, m):
+-
+- if sys.version_info < (3, 8):
+- g, x, y = _MyRSAPrivateNumbers._xgcd(a, m)
+- if g != 1:
+- raise Exception("modular inverse does not exist")
+- else:
+- return x % m
+- else:
+- return pow(a, -1, m)
++ return pow(a, -1, m)
+
+ @staticmethod
+ def _generate_d(p, q, e, n):
+--
+2.43.0
+
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch
new file mode 100644
index 000000000000..6e99688b76ba
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch
@@ -0,0 +1,40 @@
+From c55775c30c06bf3a3066b4047cb51cb42f1e403d Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Sat, 6 Jan 2024 06:25:54 +0100
+Subject: [PATCH 2/3] test: disable pcr_set_auth_value and pcr_set_auth_policy
+ tests for swtpm
+
+Since [commit][1] in libtpms setting auth values/policies for PCRs are no longer supported.
+
+[1]: https://github.com/stefanberger/libtpms/commit/af4fc0e66df6d012c61aee7c418148fb261d77a9
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ test/test_esapi.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/test/test_esapi.py b/test/test_esapi.py
+index 269a43b..e0b6d35 100644
+--- a/test/test_esapi.py
++++ b/test/test_esapi.py
+@@ -3585,6 +3585,8 @@ class TestEsys(TSS2_EsapiTest):
+ self.ectx.pcr_allocate(pcrsels, session3=object())
+
+ def test_pcr_set_auth_policy(self):
++ if getattr(self.tcti, "name", "") == "swtpm":
++ self.skipTest("pcr_set_auth_policy not supported by swtpm")
+
+ policy = b"0123456789ABCDEF0123456789ABCDEF"
+ self.ectx.pcr_set_auth_policy(policy, TPM2_ALG.SHA256, ESYS_TR.PCR20)
+@@ -3630,6 +3632,8 @@ class TestEsys(TSS2_EsapiTest):
+ )
+
+ def test_pcr_set_auth_value(self):
++ if getattr(self.tcti, "name", "") == "swtpm":
++ self.skipTest("pcr_set_auth_value not supported by swtpm")
+
+ self.ectx.pcr_set_auth_value(ESYS_TR.PCR20, b"password")
+ self.ectx.tr_set_auth(ESYS_TR.PCR20, b"password")
+--
+2.43.0
+
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild
index 18d96bdbc4e2..0ec096900a00 100644
--- a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -21,7 +21,8 @@ KEYWORDS="~amd64"
IUSE="+fapi test"
-RDEPEND="app-crypt/tpm2-tss:=[fapi=]
+RDEPEND="${PYTHON_DEPS}
+ app-crypt/tpm2-tss:=[fapi=]
fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
dev-python/cffi[${PYTHON_USEDEP}]
dev-python/asn1crypto[${PYTHON_USEDEP}]
@@ -32,11 +33,14 @@ RDEPEND="app-crypt/tpm2-tss:=[fapi=]
DEPEND="${RDEPEND}
test? ( app-crypt/swtpm )"
-BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]
+BDEPEND="${PYTHON_DEPS}
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
dev-python/pkgconfig[${PYTHON_USEDEP}]"
PATCHES=(
"${FILESDIR}/${PN}-2.1.0-test-add-check-for-renamed-cryptography-types.patch"
+ "${FILESDIR}/${PN}-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch"
+ "${FILESDIR}/${PN}-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch"
)
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 665ebdf8188d..348456abec29 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1,5 +1,7 @@
DIST urwid-2.5.3.tar.gz 848047 BLAKE2B 42815e22f2659ee25736767391afbf0189b5bec9d1100ce7631efd037989cfacac7ee921666e2400e1ef7ef114261a948cfac172ac993753ce151b370361d375 SHA512 80c32138347a618fc40e1a26fd174e708a9f8e4e9a8e09edc1d9261a9d73a644e356ce375654a55b5fb8838a820b8ba8b1cc47560c5b44c5c74677399845f578
DIST urwid-2.6.7.tar.gz 854504 BLAKE2B 691971a3f1c588fa9ffdf7abbd8a7499c199853cdb071028d138b836a11ef8fbba6427ab40ad7f22b86e8cb3ae6019f55a79beef8a5d212b750e32feaf6acf76 SHA512 66aaf0e6dfc730db03a6ada0fe8fcdbe15a772b90d621fbedf335302c3d212602b81df7c95be035d6a37c38c6714c896994783ab0de519c01f861a7666ec4f1b
+DIST urwid-2.6.8.tar.gz 854980 BLAKE2B 4168bcd59710ee46e2af408e5e6331585ee2a260ca94990ff947d259d9aad7153750e6c2fc2e227ad00ce42aeeba063b5b11dd89e83f6c30548a6df5ed992e8f SHA512 34617104804f9eb710d5ed51c95c4d2f6354861f07a2d652b99109c59941561985d9717f928ba77990b3e0406723da02b1eb67d9f2236f31888a21b9de109e2e
EBUILD urwid-2.5.3.ebuild 876 BLAKE2B d896aecca921918b6c8aeb74e4ffc2ad0fe938f76ca2c5061085af63940b082603462fd6e85629c5986171e07afae19f35c516695dbcb853f518333ec0765f37 SHA512 7fe44b6e265610fb410aaa085f03d9860f37abac139501826643c01268e96b10074c15d97145869b3c558102c93385da8ee62a3af6c24e081b10cb9247cbee6e
EBUILD urwid-2.6.7.ebuild 978 BLAKE2B 0f661145695e6582e33f6a9a3c5aba2a19682801da0416c82ad8e14a49eec5621976febc8a9de9768f954c36351f3626dfbd65e9ffbed11c39e22d0fdfbc1a28 SHA512 7c83761310f99fb763db6cb5ca02b4e43be38b570b0eb5780deff17c22660584937a13cdc7b546a408c8e3e78598de57a72f686c489e9cc0ee596b91c21852d5
+EBUILD urwid-2.6.8.ebuild 978 BLAKE2B 0f661145695e6582e33f6a9a3c5aba2a19682801da0416c82ad8e14a49eec5621976febc8a9de9768f954c36351f3626dfbd65e9ffbed11c39e22d0fdfbc1a28 SHA512 7c83761310f99fb763db6cb5ca02b4e43be38b570b0eb5780deff17c22660584937a13cdc7b546a408c8e3e78598de57a72f686c489e9cc0ee596b91c21852d5
MISC metadata.xml 1194 BLAKE2B 387c1e6ca71806f706b054e11755e885c7bbe11e6be1b639a6160e0b2c51df91feef025f6166a973a38e8ad16fe7627ba6f2b5e293c007da8a1e32e46db1541d SHA512 ee6bb39746fdfe3ebcc83304cb9d7c7cce16f4caca284bd82907fd13672bdcf982f1fbfba22b0877da8de9f6cdadc4045916eff678095320745eab954960ab6f
diff --git a/dev-python/urwid/urwid-2.6.8.ebuild b/dev-python/urwid/urwid-2.6.8.ebuild
new file mode 100644
index 000000000000..0d52239b0d14
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.8.ebuild
@@ -0,0 +1,47 @@
+# 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} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf urwid || die
+ eunittest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}